WinRT: merged with SDL 2.0.1 codebase
authorDavid Ludwig <dludwig@pobox.com>
Sun, 27 Oct 2013 21:26:46 -0400
changeset 8535e8ee0708ef5c
parent 8534 50177f518fdb
parent 7893 59b3e715fab6
child 8536 a2be4a225f91
WinRT: merged with SDL 2.0.1 codebase
VisualC/SDL/SDL_VS2012.vcxproj
Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj
include/SDL_cpuinfo.h
include/SDL_hints.h
include/SDL_main.h
include/SDL_platform.h
include/SDL_stdinc.h
include/SDL_system.h
include/begin_code.h
src/SDL_assert.c
src/SDL_log.c
src/atomic/SDL_spinlock.c
src/audio/xaudio2/SDL_xaudio2.c
src/core/windows/SDL_windows.c
src/core/windows/SDL_windows.h
src/events/SDL_events.c
src/file/SDL_rwops.c
src/joystick/SDL_gamecontroller.c
src/joystick/SDL_sysjoystick.h
src/loadso/windows/SDL_sysloadso.c
src/render/SDL_render.c
src/render/SDL_sysrender.h
src/thread/SDL_thread_c.h
src/timer/windows/SDL_systimer.c
src/video/SDL_sysvideo.h
src/video/SDL_video.c
src/video/uikit/SDL_uikitview.m
src/video/uikit/SDL_uikitwindow.m
test/loopwave.c
test/testthread.c
     1.1 --- a/.hgignore	Sun Oct 27 14:31:57 2013 -0400
     1.2 +++ b/.hgignore	Sun Oct 27 21:26:46 2013 -0400
     1.3 @@ -76,6 +76,7 @@
     1.4  test/testoverlay2
     1.5  test/testplatform
     1.6  test/testpower
     1.7 +test/testfilesystem
     1.8  test/testrelative
     1.9  test/testrendercopyex
    1.10  test/testrendertarget
     2.1 --- a/.hgtags	Sun Oct 27 14:31:57 2013 -0400
     2.2 +++ b/.hgtags	Sun Oct 27 21:26:46 2013 -0400
     2.3 @@ -14,3 +14,13 @@
     2.4  f14cf9d71233934811774f941d0de121d5f96ccf release-1.2.14
     2.5  39c22a953456f6c9e2c8993c8ff973824104102a pre-touch-removal
     2.6  ccf5fbfa2afabab429ad911308f362201a94d810 macosx_10_4_supported
     2.7 +d6a8fa507a45d9de7258e51585eab3e45c415149 release-2.0.0
     2.8 +a8bd63b33636715f2cf6e7d36ab7201acbd478fe release-2.0.1
     2.9 +a8bd63b33636715f2cf6e7d36ab7201acbd478fe release-2.0.1
    2.10 +715a01415ac9305b9f8ec72b99fcf8cc9dd64dde release-2.0.1
    2.11 +715a01415ac9305b9f8ec72b99fcf8cc9dd64dde release-2.0.1
    2.12 +9ec71e56071cc80eda6691a3f8719ed5395dfcfb release-2.0.1
    2.13 +9ec71e56071cc80eda6691a3f8719ed5395dfcfb release-2.0.1
    2.14 +0000000000000000000000000000000000000000 release-2.0.1
    2.15 +0000000000000000000000000000000000000000 release-2.0.1
    2.16 +b9663c77f5c95ebf05f3c18e80619caae8ae1460 release-2.0.1
     3.1 --- a/Android.mk	Sun Oct 27 14:31:57 2013 -0400
     3.2 +++ b/Android.mk	Sun Oct 27 21:26:46 2013 -0400
     3.3 @@ -33,6 +33,7 @@
     3.4  	$(wildcard $(LOCAL_PATH)/src/loadso/dlopen/*.c) \
     3.5  	$(wildcard $(LOCAL_PATH)/src/power/*.c) \
     3.6  	$(wildcard $(LOCAL_PATH)/src/power/android/*.c) \
     3.7 +	$(wildcard $(LOCAL_PATH)/src/filesystem/dummy/*.c) \
     3.8  	$(wildcard $(LOCAL_PATH)/src/render/*.c) \
     3.9  	$(wildcard $(LOCAL_PATH)/src/render/*/*.c) \
    3.10  	$(wildcard $(LOCAL_PATH)/src/stdlib/*.c) \
    3.11 @@ -41,9 +42,27 @@
    3.12  	$(wildcard $(LOCAL_PATH)/src/timer/*.c) \
    3.13  	$(wildcard $(LOCAL_PATH)/src/timer/unix/*.c) \
    3.14  	$(wildcard $(LOCAL_PATH)/src/video/*.c) \
    3.15 -	$(wildcard $(LOCAL_PATH)/src/video/android/*.c))
    3.16 +	$(wildcard $(LOCAL_PATH)/src/video/android/*.c) \
    3.17 +    $(wildcard $(LOCAL_PATH)/src/test/*.c))
    3.18  
    3.19  LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
    3.20 -LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog
    3.21 +LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
    3.22  
    3.23  include $(BUILD_SHARED_LIBRARY)
    3.24 +
    3.25 +###########################
    3.26 +#
    3.27 +# SDL static library
    3.28 +#
    3.29 +###########################
    3.30 +
    3.31 +LOCAL_MODULE := SDL2_static
    3.32 +
    3.33 +LOCAL_MODULE_FILENAME := libSDL2
    3.34 +
    3.35 +LOCAL_SRC_FILES += $(LOCAL_PATH)/src/main/android/SDL_android_main.c
    3.36 +
    3.37 +LOCAL_LDLIBS := 
    3.38 +LOCAL_EXPORT_LDLIBS := -Wl,--undefined=Java_org_libsdl_app_SDLActivity_nativeInit -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
    3.39 +
    3.40 +include $(BUILD_STATIC_LIBRARY)
     4.1 --- a/CMakeLists.txt	Sun Oct 27 14:31:57 2013 -0400
     4.2 +++ b/CMakeLists.txt	Sun Oct 27 21:26:46 2013 -0400
     4.3 @@ -29,9 +29,9 @@
     4.4  # set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
     4.5  set(SDL_MAJOR_VERSION 2)
     4.6  set(SDL_MINOR_VERSION 0)
     4.7 -set(SDL_MICRO_VERSION 0)
     4.8 +set(SDL_MICRO_VERSION 1)
     4.9  set(SDL_INTERFACE_AGE 0)
    4.10 -set(SDL_BINARY_AGE 0)
    4.11 +set(SDL_BINARY_AGE 1)
    4.12  set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")
    4.13  
    4.14  # Calculate a libtool-like version number
    4.15 @@ -172,7 +172,7 @@
    4.16  
    4.17  set(SDL_SUBSYSTEMS
    4.18      Atomic Audio Video Render Events Joystick Haptic Power Threads Timers
    4.19 -    File Loadso CPUinfo)
    4.20 +    File Loadso CPUinfo Filesystem)
    4.21  foreach(_SUB ${SDL_SUBSYSTEMS})
    4.22    string(TOUPPER ${_SUB} _OPT)
    4.23    option(SDL_${_OPT} "Enable the ${_SUB} subsystem" ON)
    4.24 @@ -714,6 +714,13 @@
    4.25      endif(LINUX)
    4.26    endif(SDL_POWER)
    4.27  
    4.28 +  if(SDL_FILESYSTEM)
    4.29 +    set(SDL_FILESYSTEM_UNIX 1)
    4.30 +    file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/unix/*.c)
    4.31 +    set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
    4.32 +    set(HAVE_SDL_FILESYSTEM TRUE)
    4.33 +  endif(SDL_FILESYSTEM)
    4.34 +
    4.35    if(SDL_TIMERS)
    4.36      set(SDL_TIMER_UNIX 1)
    4.37      file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
    4.38 @@ -814,6 +821,13 @@
    4.39      set(HAVE_SDL_POWER TRUE)
    4.40    endif(SDL_POWER)
    4.41  
    4.42 +  if(SDL_FILESYSTEM)
    4.43 +    set(SDL_FILESYSTEM_WINDOWS 1)
    4.44 +    file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesytem/windows/*.c)
    4.45 +    set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
    4.46 +    set(HAVE_SDL_FILESYSTEM TRUE)
    4.47 +  endif(SDL_FILESYSTEM)
    4.48 +
    4.49    # Libraries for Win32 native and MinGW
    4.50    list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid)
    4.51  
    4.52 @@ -924,6 +938,13 @@
    4.53      set(SDL_FRAMEWORK_IOKIT 1)
    4.54    endif()
    4.55  
    4.56 +  if(SDL_FILESYSTEM)
    4.57 +    set(SDL_FILESYSTEM_COCOA 1)
    4.58 +    file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/cocoa/*.m)
    4.59 +    set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
    4.60 +    set(HAVE_SDL_FILESYSTEM TRUE)
    4.61 +  endif()
    4.62 +
    4.63    # Actually load the frameworks at the end so we don't duplicate include.
    4.64    if(SDL_FRAMEWORK_COCOA)
    4.65      find_library(COCOA_LIBRARY Cocoa)
    4.66 @@ -973,6 +994,11 @@
    4.67      set(SOURCE_FILES ${SOURCE_FILES} ${BWINDOW_SOURCES})
    4.68      set(HAVE_SDL_VIDEO TRUE)
    4.69  
    4.70 +    set(SDL_FILESYSTEM_BEOS 1)
    4.71 +    file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/beos/*.cc)
    4.72 +    set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
    4.73 +    set(HAVE_SDL_FILESYSTEM TRUE)
    4.74 +
    4.75      if(VIDEO_OPENGL)
    4.76        # TODO: Use FIND_PACKAGE(OpenGL) instead
    4.77        set(SDL_VIDEO_OPENGL 1)
    4.78 @@ -1008,8 +1034,13 @@
    4.79  if(NOT HAVE_SDL_LOADSO)
    4.80    set(SDL_LOADSO_DISABLED 1)
    4.81    file(GLOB LOADSO_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/dummy/*.c)
    4.82 -  set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
    4.83 +  set(SOURCE_FILES ${SOURCE_FILES} ${LOADSO_SOURCES})
    4.84  endif(NOT HAVE_SDL_LOADSO)
    4.85 +if(NOT HAVE_SDL_FILESYSTEM)
    4.86 +  set(SDL_FILESYSTEM_DISABLED 1)
    4.87 +  file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/dummy/*.c)
    4.88 +  set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
    4.89 +endif(NOT HAVE_SDL_FILESYSTEM)
    4.90  
    4.91  # We always need to have threads and timers around
    4.92  if(NOT HAVE_SDL_THREADS)
     5.1 --- a/CREDITS.txt	Sun Oct 27 14:31:57 2013 -0400
     5.2 +++ b/CREDITS.txt	Sun Oct 27 21:26:46 2013 -0400
     5.3 @@ -21,6 +21,8 @@
     5.4  
     5.5  * Pierre-Loup Griffais for his deep knowledge of OpenGL drivers.
     5.6   
     5.7 +* Julian Winter for the SDL 2.0 website.
     5.8 +
     5.9  * Sheena Smith for many months of great work on the SDL wiki creating the API documentation and style guides.
    5.10  
    5.11  * Paul Hunkin for his port of SDL to Android during the Google Summer of Code 2010.
     6.1 --- a/Makefile.in	Sun Oct 27 14:31:57 2013 -0400
     6.2 +++ b/Makefile.in	Sun Oct 27 21:26:46 2013 -0400
     6.3 @@ -54,6 +54,7 @@
     6.4  	SDL_endian.h \
     6.5  	SDL_error.h \
     6.6  	SDL_events.h \
     6.7 +	SDL_filesystem.h \
     6.8  	SDL_gamecontroller.h \
     6.9  	SDL_gesture.h \
    6.10  	SDL_haptic.h \
     7.1 --- a/Makefile.minimal	Sun Oct 27 14:31:57 2013 -0400
     7.2 +++ b/Makefile.minimal	Sun Oct 27 21:26:46 2013 -0400
     7.3 @@ -19,6 +19,7 @@
     7.4  	src/joystick/dummy/*.c \
     7.5  	src/loadso/dummy/*.c \
     7.6  	src/power/*.c \
     7.7 +	src/filesystem/dummy/*.c \
     7.8  	src/render/*.c \
     7.9  	src/render/software/*.c \
    7.10  	src/stdlib/*.c \
     8.1 --- a/Makefile.pandora	Sun Oct 27 14:31:57 2013 -0400
     8.2 +++ b/Makefile.pandora	Sun Oct 27 21:26:46 2013 -0400
     8.3 @@ -19,7 +19,7 @@
     8.4  	./src/thread/pthread/SDL_systhread.c ./src/thread/pthread/SDL_syssem.c \
     8.5  	./src/thread/pthread/SDL_sysmutex.c ./src/thread/pthread/SDL_syscond.c \
     8.6  	./src/joystick/linux/*.c ./src/haptic/linux/*.c ./src/timer/unix/*.c \
     8.7 -	./src/atomic/linux/*.c \
     8.8 +	./src/atomic/linux/*.c ./src/filesystem/unix/*.c \
     8.9  	./src/video/pandora/SDL_pandora.o ./src/video/pandora/SDL_pandora_events.o ./src/video/x11/*.c 
    8.10  	
    8.11  
     9.1 --- a/Makefile.psp	Sun Oct 27 14:31:57 2013 -0400
     9.2 +++ b/Makefile.psp	Sun Oct 27 21:26:46 2013 -0400
     9.3 @@ -31,6 +31,7 @@
     9.4        src/joystick/psp/SDL_sysjoystick.o \
     9.5        src/power/SDL_power.o \
     9.6        src/power/psp/SDL_syspower.o \
     9.7 +      src/filesystem/dummy/SDL_sysfilesystem.o \
     9.8        src/render/SDL_render.o \
     9.9        src/render/SDL_yuv_sw.o \
    9.10        src/render/psp/SDL_render_psp.o \
    10.1 --- a/README-android.txt	Sun Oct 27 14:31:57 2013 -0400
    10.2 +++ b/README-android.txt	Sun Oct 27 21:26:46 2013 -0400
    10.3 @@ -38,7 +38,33 @@
    10.4   Building an app
    10.5  ================================================================================
    10.6  
    10.7 -Instructions:
    10.8 +For simple projects you can use the script located at build-scripts/androidbuild.sh
    10.9 +
   10.10 +There's two ways of using it:
   10.11 +
   10.12 +androidbuild.sh com.yourcompany.yourapp < sources.list
   10.13 +androidbuild.sh com.yourcompany.yourapp source1.c source2.c ...sourceN.c
   10.14 +
   10.15 +sources.list should be a text file with a source file name in each line
   10.16 +Filenames should be specified relative to the current directory, for example if
   10.17 +you are in the build-scripts directory and want to create the testgles.c test, you'll
   10.18 +run:
   10.19 +    
   10.20 +./androidbuild.sh org.libsdl.testgles ../test/testgles.c
   10.21 +
   10.22 +One limitation of this script is that all sources provided will be aggregated into
   10.23 +a single directory, thus all your source files should have a unique name.
   10.24 +
   10.25 +Once the project is complete the script will tell you where the debug APK is located.
   10.26 +If you want to create a signed release APK, you can use the project created by this
   10.27 +utility to generate it.
   10.28 +
   10.29 +Finally, a word of caution: re running androidbuild.sh wipes any changes you may have
   10.30 +done in the build directory for the app!
   10.31 +
   10.32 +
   10.33 +For more complex projects, follow these instructions:
   10.34 +    
   10.35  1. Copy the android-project directory wherever you want to keep your projects
   10.36     and rename it to the name of your project.
   10.37  2. Move or symlink this SDL directory into the <project>/jni directory
   10.38 @@ -85,6 +111,28 @@
   10.39  
   10.40  
   10.41  ================================================================================
   10.42 + Build an app with static linking of libSDL
   10.43 +================================================================================
   10.44 +
   10.45 +This build uses the Android NDK module system.
   10.46 +
   10.47 +Instructions:
   10.48 +1. Copy the android-project directory wherever you want to keep your projects
   10.49 +   and rename it to the name of your project.
   10.50 +2. Rename <project>/jni/src/Android_static.mk to <project>/jni/src/Android.mk
   10.51 +   (overwrite the existing one)
   10.52 +3. Edit <project>/jni/src/Android.mk to include your source files
   10.53 +4. create and export an environment variable named NDK_MODULE_PATH that points
   10.54 +   to the parent directory of this SDL directory. e.g.:
   10.55 +
   10.56 +   export NDK_MODULE_PATH="$PWD"/..
   10.57 +
   10.58 +5. Edit <project>/src/org/libsdl/app/SDLActivity.java and remove the call to
   10.59 +   System.loadLibrary("SDL2") line 42.
   10.60 +6. Run 'ndk-build' (a script provided by the NDK). This compiles the C source
   10.61 +
   10.62 +
   10.63 +================================================================================
   10.64   Customizing your application name
   10.65  ================================================================================
   10.66  
    11.1 --- a/README-macosx.txt	Sun Oct 27 14:31:57 2013 -0400
    11.2 +++ b/README-macosx.txt	Sun Oct 27 21:26:46 2013 -0400
    11.3 @@ -30,6 +30,42 @@
    11.4  use the traditional autoconf/automake/make method, or use Xcode.
    11.5  
    11.6  ==============================================================================
    11.7 +Caveats for using SDL with Mac OS X
    11.8 +==============================================================================
    11.9 +
   11.10 +Some things you have to be aware of when using SDL on Mac OS X:
   11.11 +
   11.12 +- If you register your own NSApplicationDelegate (using [NSApp setDelegate:]),
   11.13 +  SDL will not register its own. This means that SDL will not terminate using
   11.14 +  SDL_Quit if it receives a termination request, it will terminate like a 
   11.15 +  normal app, and it will not send a SDL_DROPFILE when you request to open a
   11.16 +  file with the app. To solve these issues, put the following code in your 
   11.17 +  NSApplicationDelegate implementation:
   11.18 +
   11.19 +  - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
   11.20 +  {
   11.21 +      if (SDL_GetEventState(SDL_QUIT) == SDL_ENABLE) {
   11.22 +          SDL_Event event;
   11.23 +          event.type = SDL_QUIT;
   11.24 +          SDL_PushEvent(&event);
   11.25 +      }
   11.26 +
   11.27 +      return NSTerminateCancel;
   11.28 +  }
   11.29 +
   11.30 +  - (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
   11.31 +  {
   11.32 +      if (SDL_GetEventState(SDL_DROPFILE) == SDL_ENABLE) {
   11.33 +          SDL_Event event;
   11.34 +          event.type = SDL_DROPFILE;
   11.35 +          event.drop.file = SDL_strdup([filename UTF8String]);
   11.36 +          return (SDL_PushEvent(&event) > 0);
   11.37 +      }
   11.38 +
   11.39 +      return NO;
   11.40 +  }
   11.41 +
   11.42 +==============================================================================
   11.43  Using the Simple DirectMedia Layer with a traditional Makefile
   11.44  ==============================================================================
   11.45  
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/README-raspberrypi.txt	Sun Oct 27 21:26:46 2013 -0400
    12.3 @@ -0,0 +1,155 @@
    12.4 +================================================================================
    12.5 +SDL2 for Raspberry Pi
    12.6 +================================================================================
    12.7 +
    12.8 +Requirements:
    12.9 +
   12.10 +Raspbian (other Linux distros may work as well).
   12.11 +
   12.12 +================================================================================
   12.13 + Features
   12.14 +================================================================================
   12.15 +
   12.16 +* Works without X11
   12.17 +* Hardware accelerated OpenGL ES 2.x
   12.18 +* Sound via ALSA
   12.19 +* Input (mouse/keyboard/joystick) via EVDEV
   12.20 +* Hotplugging of input devices via UDEV
   12.21 +
   12.22 +================================================================================
   12.23 + Raspbian Build Dependencies
   12.24 +================================================================================
   12.25 +
   12.26 +sudo apt-get install libudev-dev libasound2-dev libdbus-1-dev
   12.27 +
   12.28 +You also need the VideoCore binary stuff that ships in /opt/vc for EGL and 
   12.29 +OpenGL ES 2.x, it usually comes pre installed, but in any case:
   12.30 +    
   12.31 +sudo apt-get install libraspberrypi0 libraspberrypi-bin libraspberrypi-dev
   12.32 +
   12.33 +================================================================================
   12.34 + Cross compiling from x86 Linux
   12.35 +================================================================================
   12.36 +
   12.37 +To cross compile SDL for Raspbian from your desktop machine, you'll need a
   12.38 +Raspbian system root and the cross compilation tools. We'll assume these tools
   12.39 +will be placed in /opt/rpi-tools
   12.40 +
   12.41 +    sudo git clone --depth 1 https://github.com/raspberrypi/tools /opt/rpi-tools
   12.42 +
   12.43 +You'll also need a Rasbian binary image.
   12.44 +Get it from: http://downloads.raspberrypi.org/raspbian_latest 
   12.45 +After unzipping, you'll get file with a name like: <date>-wheezy-raspbian.img
   12.46 +Let's assume the sysroot will be built in /opt/rpi-sysroot.
   12.47 +
   12.48 +    export SYSROOT=/opt/rpi-sysroot
   12.49 +    sudo kpartx -a -v <path_to_raspbian_image>.img
   12.50 +    sudo mount -o loop /dev/mapper/loop0p2 /mnt
   12.51 +    sudo cp -r /mnt $SYSROOT
   12.52 +    sudo apt-get install qemu binfmt-support qemu-user-static
   12.53 +    sudo cp /usr/bin/qemu-arm-static $SYSROOT/usr/bin
   12.54 +    sudo mount --bind /dev $SYSROOT/dev
   12.55 +    sudo mount --bind /proc $SYSROOT/proc
   12.56 +    sudo mount --bind /sys $SYSROOT/sys
   12.57 +
   12.58 +Now, before chrooting into the ARM sysroot, you'll need to apply a workaround,
   12.59 +edit $SYSROOT/etc/ld.so.preload and comment out all lines in it.
   12.60 +
   12.61 +    sudo chroot $SYSROOT
   12.62 +    apt-get install libudev-dev libasound2-dev libdbus-1-dev libraspberrypi0 libraspberrypi-bin libraspberrypi-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev
   12.63 +    exit
   12.64 +    sudo umount $SYSROOT/dev
   12.65 +    sudo umount $SYSROOT/proc
   12.66 +    sudo umount $SYSROOT/sys
   12.67 +    sudo umount /mnt
   12.68 +
   12.69 +The final step is compiling SDL itself.
   12.70 +
   12.71 +    export CC="/opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux"
   12.72 +    cd <SDL SOURCE>
   12.73 +    mkdir -p build;cd build
   12.74 +    ../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd
   12.75 +    make
   12.76 +    make install
   12.77 +
   12.78 +To be able to deploy this to /usr/local in the Raspbian system you need to fix up a few paths:
   12.79 +    
   12.80 +    perl -w -pi -e "s#$PWD/rpi-sdl2-installed#/usr/local#g;" ./rpi-sdl2-installed/lib/libSDL2.la ./rpi-sdl2-installed/lib/pkgconfig/sdl2.pc ./rpi-sdl2-installed/bin/sdl2-config
   12.81 +    
   12.82 +================================================================================
   12.83 + Apps don't work or poor video/audio performance
   12.84 +================================================================================
   12.85 +
   12.86 +If you get sound problems, buffer underruns, etc, run "sudo rpi-update" to 
   12.87 +update the RPi's firmware. Note that doing so will fix these problems, but it
   12.88 +will also render the CMA - Dynamic Memory Split functionality useless.
   12.89 +
   12.90 +Also, by default the Raspbian distro configures the GPU RAM at 64MB, this is too
   12.91 +low in general, specially if a 1080p TV is hooked up.
   12.92 +
   12.93 +See here how to configure this setting: http://elinux.org/RPiconfig
   12.94 +
   12.95 +Using a fixed gpu_mem=128 is the best option (specially if you updated the 
   12.96 +firmware, using CMA probably won't work, at least it's the current case).
   12.97 +
   12.98 +================================================================================
   12.99 + No input
  12.100 +================================================================================
  12.101 +
  12.102 +Make sure you belong to the "input" group.
  12.103 +
  12.104 +    sudo usermod -aG input `whoami`
  12.105 +
  12.106 +================================================================================
  12.107 + No HDMI Audio
  12.108 +================================================================================
  12.109 +
  12.110 +If you notice that ALSA works but there's no audio over HDMI, try adding:
  12.111 +    
  12.112 +    hdmi_drive=2
  12.113 +    
  12.114 +to your config.txt file and reboot.
  12.115 +
  12.116 +Reference: http://www.raspberrypi.org/phpBB3/viewtopic.php?t=5062
  12.117 +
  12.118 +================================================================================
  12.119 + Text Input API support
  12.120 +================================================================================
  12.121 +
  12.122 +The Text Input API is supported, with translation of scan codes done via the
  12.123 +kernel symbol tables. For this to work, SDL needs access to a valid console.
  12.124 +If you notice there's no SDL_TEXTINPUT message being emmited, double check that
  12.125 +your app has read access to one of the following:
  12.126 +    
  12.127 +* /proc/self/fd/0
  12.128 +* /dev/tty
  12.129 +* /dev/tty[0...6]
  12.130 +* /dev/vc/0
  12.131 +* /dev/console
  12.132 +
  12.133 +This is usually not a problem if you run from the physical terminal (as opposed
  12.134 +to running from a pseudo terminal, such as via SSH). If running from a PTS, a 
  12.135 +quick workaround is to run your app as root or add yourself to the tty group,
  12.136 +then re login to the system.
  12.137 +
  12.138 +   sudo usermod -aG tty `whoami`
  12.139 +    
  12.140 +The keyboard layout used by SDL is the same as the one the kernel uses.
  12.141 +To configure the layout on Raspbian:
  12.142 +    
  12.143 +    sudo dpkg-reconfigure keyboard-configuration
  12.144 +    
  12.145 +To configure the locale, which controls which keys are interpreted as letters,
  12.146 +this determining the CAPS LOCK behavior:
  12.147 +
  12.148 +    sudo dpkg-reconfigure locales
  12.149 +
  12.150 +================================================================================
  12.151 + Notes
  12.152 +================================================================================
  12.153 +
  12.154 +* When launching apps remotely (via SSH), SDL can prevent local keystrokes from
  12.155 +  leaking into the console only if it has root privileges. Launching apps locally
  12.156 +  does not suffer from this issue.
  12.157 +  
  12.158 +
    13.1 --- a/TODO.txt	Sun Oct 27 14:31:57 2013 -0400
    13.2 +++ b/TODO.txt	Sun Oct 27 21:26:46 2013 -0400
    13.3 @@ -1,15 +1,10 @@
    13.4  Future work roadmap:
    13.5   * http://wiki.libsdl.org/moin.cgi/Roadmap
    13.6  
    13.7 - * See why windows are being rearranged.  Is the shield window not up?
    13.8 - * Add __WINDOWS__ in addition to __WIN32__
    13.9 - * Write test for fullscreen gamma to check X11 colormap handling
   13.10 -
   13.11   * Check 1.2 revisions:
   13.12  	3554 - Need to resolve semantics for locking keys on different platforms
   13.13  	4874 - Do we want screen rotation?  At what level?
   13.14  	4974 - Windows file code needs to convert UTF-8 to Unicode, but we don't need to tap dance for Windows 95/98
   13.15 -	4484, 4485 - Verify that SDL's Windows keyboard handling works correctly
   13.16  	4865 - See if this is still needed (mouse coordinate clamping)
   13.17  	4866 - See if this is still needed (blocking window repositioning)
   13.18  
    14.1 --- a/VisualC/SDL/SDL_VS2008.vcproj	Sun Oct 27 14:31:57 2013 -0400
    14.2 +++ b/VisualC/SDL/SDL_VS2008.vcproj	Sun Oct 27 21:26:46 2013 -0400
    14.3 @@ -428,6 +428,10 @@
    14.4  				>
    14.5  			</File>
    14.6  			<File
    14.7 +				RelativePath="..\..\include\SDL_filesystem.h"
    14.8 +				>
    14.9 +			</File>
   14.10 +			<File
   14.11  				RelativePath="..\..\include\SDL_gamecontroller.h"
   14.12  				>
   14.13  			</File>
   14.14 @@ -1089,6 +1093,10 @@
   14.15  			>
   14.16  		</File>
   14.17  		<File
   14.18 +			RelativePath="..\..\src\filesystem\windows\SDL_sysfilesystem.c"
   14.19 +			>
   14.20 +		</File>
   14.21 +		<File
   14.22  			RelativePath="..\..\src\haptic\windows\SDL_syshaptic.c"
   14.23  			>
   14.24  		</File>
    15.1 --- a/VisualC/SDL/SDL_VS2010.vcxproj	Sun Oct 27 14:31:57 2013 -0400
    15.2 +++ b/VisualC/SDL/SDL_VS2010.vcxproj	Sun Oct 27 21:26:46 2013 -0400
    15.3 @@ -1,464 +1,679 @@
    15.4 -<?xml version="1.0" encoding="utf-8"?>
    15.5 -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    15.6 -  <ItemGroup Label="ProjectConfigurations">
    15.7 -    <ProjectConfiguration Include="Debug|Win32">
    15.8 -      <Configuration>Debug</Configuration>
    15.9 -      <Platform>Win32</Platform>
   15.10 -    </ProjectConfiguration>
   15.11 -    <ProjectConfiguration Include="Debug|x64">
   15.12 -      <Configuration>Debug</Configuration>
   15.13 -      <Platform>x64</Platform>
   15.14 -    </ProjectConfiguration>
   15.15 -    <ProjectConfiguration Include="Release|Win32">
   15.16 -      <Configuration>Release</Configuration>
   15.17 -      <Platform>Win32</Platform>
   15.18 -    </ProjectConfiguration>
   15.19 -    <ProjectConfiguration Include="Release|x64">
   15.20 -      <Configuration>Release</Configuration>
   15.21 -      <Platform>x64</Platform>
   15.22 -    </ProjectConfiguration>
   15.23 -  </ItemGroup>
   15.24 -  <PropertyGroup Label="Globals">
   15.25 -    <ProjectName>SDL2</ProjectName>
   15.26 -    <ProjectGuid>{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}</ProjectGuid>
   15.27 -    <RootNamespace>SDL</RootNamespace>
   15.28 -  </PropertyGroup>
   15.29 -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   15.30 -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
   15.31 -    <ConfigurationType>DynamicLibrary</ConfigurationType>
   15.32 -    <UseOfMfc>false</UseOfMfc>
   15.33 -  </PropertyGroup>
   15.34 -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
   15.35 -    <ConfigurationType>DynamicLibrary</ConfigurationType>
   15.36 -    <UseOfMfc>false</UseOfMfc>
   15.37 -  </PropertyGroup>
   15.38 -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
   15.39 -    <ConfigurationType>DynamicLibrary</ConfigurationType>
   15.40 -    <UseOfMfc>false</UseOfMfc>
   15.41 -  </PropertyGroup>
   15.42 -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
   15.43 -    <ConfigurationType>DynamicLibrary</ConfigurationType>
   15.44 -    <UseOfMfc>false</UseOfMfc>
   15.45 -    <CharacterSet>MultiByte</CharacterSet>
   15.46 -  </PropertyGroup>
   15.47 -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   15.48 -  <ImportGroup Label="ExtensionSettings">
   15.49 -  </ImportGroup>
   15.50 -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
   15.51 -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   15.52 -    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
   15.53 -  </ImportGroup>
   15.54 -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
   15.55 -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   15.56 -    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
   15.57 -  </ImportGroup>
   15.58 -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
   15.59 -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   15.60 -    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
   15.61 -  </ImportGroup>
   15.62 -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
   15.63 -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   15.64 -    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
   15.65 -  </ImportGroup>
   15.66 -  <PropertyGroup Label="UserMacros" />
   15.67 -  <PropertyGroup>
   15.68 -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
   15.69 -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir>
   15.70 -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
   15.71 -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
   15.72 -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
   15.73 -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir>
   15.74 -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
   15.75 -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
   15.76 -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
   15.77 -  </PropertyGroup>
   15.78 -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
   15.79 -    <PreBuildEvent />
   15.80 -    <Midl>
   15.81 -      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   15.82 -      <MkTypLibCompatible>true</MkTypLibCompatible>
   15.83 -      <SuppressStartupBanner>true</SuppressStartupBanner>
   15.84 -      <TargetEnvironment>Win32</TargetEnvironment>
   15.85 -    </Midl>
   15.86 -    <ClCompile>
   15.87 -      <Optimization>Disabled</Optimization>
   15.88 -      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
   15.89 -      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   15.90 -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
   15.91 -      <BufferSecurityCheck>false</BufferSecurityCheck>
   15.92 -      <PrecompiledHeader>
   15.93 -      </PrecompiledHeader>
   15.94 -      <WarningLevel>Level3</WarningLevel>
   15.95 -      <SuppressStartupBanner>true</SuppressStartupBanner>
   15.96 -      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
   15.97 -      <CompileAs>Default</CompileAs>
   15.98 -      <ExceptionHandling>false</ExceptionHandling>
   15.99 -    </ClCompile>
  15.100 -    <ResourceCompile>
  15.101 -      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.102 -      <Culture>0x0409</Culture>
  15.103 -    </ResourceCompile>
  15.104 -    <Link>
  15.105 -      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.106 -      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.107 -      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.108 -      <SubSystem>Windows</SubSystem>
  15.109 -      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  15.110 -      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  15.111 -    </Link>
  15.112 -  </ItemDefinitionGroup>
  15.113 -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  15.114 -    <Midl>
  15.115 -      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.116 -      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.117 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.118 -      <TargetEnvironment>X64</TargetEnvironment>
  15.119 -    </Midl>
  15.120 -    <ClCompile>
  15.121 -      <Optimization>Disabled</Optimization>
  15.122 -      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.123 -      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.124 -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  15.125 -      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.126 -      <PrecompiledHeader>
  15.127 -      </PrecompiledHeader>
  15.128 -      <WarningLevel>Level3</WarningLevel>
  15.129 -      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
  15.130 -      <ExceptionHandling>false</ExceptionHandling>
  15.131 -    </ClCompile>
  15.132 -    <ResourceCompile>
  15.133 -      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.134 -      <Culture>0x0409</Culture>
  15.135 -    </ResourceCompile>
  15.136 -    <Link>
  15.137 -      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.138 -      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.139 -      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.140 -      <SubSystem>Windows</SubSystem>
  15.141 -      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  15.142 -      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  15.143 -    </Link>
  15.144 -  </ItemDefinitionGroup>
  15.145 -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  15.146 -    <PreBuildEvent />
  15.147 -    <Midl>
  15.148 -      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.149 -      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.150 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.151 -      <TargetEnvironment>Win32</TargetEnvironment>
  15.152 -    </Midl>
  15.153 -    <ClCompile>
  15.154 -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  15.155 -      <IntrinsicFunctions>false</IntrinsicFunctions>
  15.156 -      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.157 -      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.158 -      <StringPooling>true</StringPooling>
  15.159 -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  15.160 -      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.161 -      <FunctionLevelLinking>true</FunctionLevelLinking>
  15.162 -      <PrecompiledHeader>
  15.163 -      </PrecompiledHeader>
  15.164 -      <WarningLevel>Level3</WarningLevel>
  15.165 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.166 -      <CompileAs>Default</CompileAs>
  15.167 -      <ExceptionHandling>false</ExceptionHandling>
  15.168 -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  15.169 -    </ClCompile>
  15.170 -    <ResourceCompile>
  15.171 -      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.172 -      <Culture>0x0409</Culture>
  15.173 -    </ResourceCompile>
  15.174 -    <Link>
  15.175 -      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.176 -      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.177 -      <SubSystem>Windows</SubSystem>
  15.178 -      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  15.179 -      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.180 -      <EnableCOMDATFolding>true</EnableCOMDATFolding>
  15.181 -      <OptimizeReferences>true</OptimizeReferences>
  15.182 -    </Link>
  15.183 -  </ItemDefinitionGroup>
  15.184 -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  15.185 -    <Midl>
  15.186 -      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.187 -      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.188 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.189 -      <TargetEnvironment>X64</TargetEnvironment>
  15.190 -    </Midl>
  15.191 -    <ClCompile>
  15.192 -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  15.193 -      <IntrinsicFunctions>false</IntrinsicFunctions>
  15.194 -      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.195 -      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.196 -      <StringPooling>true</StringPooling>
  15.197 -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  15.198 -      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.199 -      <FunctionLevelLinking>true</FunctionLevelLinking>
  15.200 -      <PrecompiledHeader>
  15.201 -      </PrecompiledHeader>
  15.202 -      <WarningLevel>Level3</WarningLevel>
  15.203 -      <ExceptionHandling>false</ExceptionHandling>
  15.204 -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  15.205 -    </ClCompile>
  15.206 -    <ResourceCompile>
  15.207 -      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.208 -      <Culture>0x0409</Culture>
  15.209 -    </ResourceCompile>
  15.210 -    <Link>
  15.211 -      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.212 -      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.213 -      <SubSystem>Windows</SubSystem>
  15.214 -      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  15.215 -      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.216 -      <EnableCOMDATFolding>true</EnableCOMDATFolding>
  15.217 -      <OptimizeReferences>true</OptimizeReferences>
  15.218 -    </Link>
  15.219 -  </ItemDefinitionGroup>
  15.220 -  <ItemGroup>
  15.221 -    <ClInclude Include="..\..\include\SDL.h" />
  15.222 -    <ClInclude Include="..\..\include\SDL_assert.h" />
  15.223 -    <ClInclude Include="..\..\include\SDL_atomic.h" />
  15.224 -    <ClInclude Include="..\..\include\SDL_audio.h" />
  15.225 -    <ClInclude Include="..\..\include\SDL_bits.h" />
  15.226 -    <ClInclude Include="..\..\include\SDL_blendmode.h" />
  15.227 -    <ClInclude Include="..\..\include\SDL_clipboard.h" />
  15.228 -    <ClInclude Include="..\..\include\SDL_config.h" />
  15.229 -    <ClInclude Include="..\..\include\SDL_config_windows.h" />
  15.230 -    <ClInclude Include="..\..\include\SDL_copying.h" />
  15.231 -    <ClInclude Include="..\..\include\SDL_cpuinfo.h" />
  15.232 -    <ClInclude Include="..\..\include\SDL_endian.h" />
  15.233 -    <ClInclude Include="..\..\include\SDL_error.h" />
  15.234 -    <ClInclude Include="..\..\include\SDL_events.h" />
  15.235 -    <ClInclude Include="..\..\include\SDL_gesture.h" />
  15.236 -    <ClInclude Include="..\..\include\SDL_haptic.h" />
  15.237 -    <ClInclude Include="..\..\include\SDL_hints.h" />
  15.238 -    <ClInclude Include="..\..\include\SDL_joystick.h" />
  15.239 -    <ClInclude Include="..\..\include\SDL_gamecontroller.h" />
  15.240 -    <ClInclude Include="..\..\include\SDL_keyboard.h" />
  15.241 -    <ClInclude Include="..\..\include\SDL_keycode.h" />
  15.242 -    <ClInclude Include="..\..\include\SDL_loadso.h" />
  15.243 -    <ClInclude Include="..\..\include\SDL_log.h" />
  15.244 -    <ClInclude Include="..\..\include\SDL_main.h" />
  15.245 -    <ClInclude Include="..\..\include\SDL_mouse.h" />
  15.246 -    <ClInclude Include="..\..\include\SDL_mutex.h" />
  15.247 -    <ClInclude Include="..\..\include\SDL_name.h" />
  15.248 -    <ClInclude Include="..\..\include\SDL_opengl.h" />
  15.249 -    <ClInclude Include="..\..\include\SDL_opengles.h" />
  15.250 -    <ClInclude Include="..\..\include\SDL_pixels.h" />
  15.251 -    <ClInclude Include="..\..\include\SDL_platform.h" />
  15.252 -    <ClInclude Include="..\..\include\SDL_power.h" />
  15.253 -    <ClInclude Include="..\..\include\SDL_quit.h" />
  15.254 -    <ClInclude Include="..\..\include\SDL_rect.h" />
  15.255 -    <ClInclude Include="..\..\include\SDL_render.h" />
  15.256 -    <ClInclude Include="..\..\include\SDL_revision.h" />
  15.257 -    <ClInclude Include="..\..\include\SDL_rwops.h" />
  15.258 -    <ClInclude Include="..\..\include\SDL_scancode.h" />
  15.259 -    <ClInclude Include="..\..\include\SDL_shape.h" />
  15.260 -    <ClInclude Include="..\..\include\SDL_stdinc.h" />
  15.261 -    <ClInclude Include="..\..\include\SDL_surface.h" />
  15.262 -    <ClInclude Include="..\..\include\SDL_system.h" />
  15.263 -    <ClInclude Include="..\..\include\SDL_syswm.h" />
  15.264 -    <ClInclude Include="..\..\include\SDL_thread.h" />
  15.265 -    <ClInclude Include="..\..\include\SDL_timer.h" />
  15.266 -    <ClInclude Include="..\..\include\SDL_touch.h" />
  15.267 -    <ClInclude Include="..\..\include\SDL_types.h" />
  15.268 -    <ClInclude Include="..\..\include\SDL_version.h" />
  15.269 -    <ClInclude Include="..\..\include\SDL_video.h" />
  15.270 -    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
  15.271 -    <ClInclude Include="..\..\src\events\blank_cursor.h" />
  15.272 -    <ClInclude Include="..\..\src\events\default_cursor.h" />
  15.273 -    <ClInclude Include="..\..\src\audio\directsound\directx.h" />
  15.274 -    <ClInclude Include="..\..\src\events\SDL_clipboardevents_c.h" />
  15.275 -    <ClInclude Include="..\..\src\events\SDL_gesture_c.h" />
  15.276 -    <ClInclude Include="..\..\src\events\SDL_touch_c.h" />
  15.277 -    <ClInclude Include="..\..\src\libm\math.h" />
  15.278 -    <ClInclude Include="..\..\src\libm\math_private.h" />
  15.279 -    <ClInclude Include="..\..\src\render\mmx.h" />
  15.280 -    <ClInclude Include="..\..\src\render\opengl\SDL_shaders_gl.h" />
  15.281 -    <ClInclude Include="..\..\src\render\SDL_sysrender.h" />
  15.282 -    <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h" />
  15.283 -    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
  15.284 -    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
  15.285 -    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
  15.286 -    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
  15.287 -    <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
  15.288 -    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
  15.289 -    <ClInclude Include="..\..\src\render\software\SDL_draw.h" />
  15.290 -    <ClInclude Include="..\..\src\render\software\SDL_drawline.h" />
  15.291 -    <ClInclude Include="..\..\src\render\software\SDL_drawpoint.h" />
  15.292 -    <ClInclude Include="..\..\src\events\SDL_dropevents_c.h" />
  15.293 -    <ClInclude Include="..\..\src\render\software\SDL_render_sw_c.h" />
  15.294 -    <ClInclude Include="..\..\src\render\software\SDL_rotate.h" />
  15.295 -    <ClInclude Include="..\..\src\video\dummy\SDL_nullframebuffer_c.h" />
  15.296 -    <ClInclude Include="..\..\src\video\SDL_blit.h" />
  15.297 -    <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
  15.298 -    <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
  15.299 -    <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />
  15.300 -    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
  15.301 -    <ClInclude Include="..\..\src\audio\winmm\SDL_winmm.h" />
  15.302 -    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
  15.303 -    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
  15.304 -    <ClInclude Include="..\..\src\audio\directsound\SDL_directsound.h" />
  15.305 -    <ClInclude Include="..\..\src\SDL_error_c.h" />
  15.306 -    <ClInclude Include="..\..\src\SDL_hints_c.h" />
  15.307 -    <ClInclude Include="..\..\src\events\SDL_events_c.h" />
  15.308 -    <ClInclude Include="..\..\src\video\SDL_glesfuncs.h" />
  15.309 -    <ClInclude Include="..\..\src\video\SDL_glfuncs.h" />
  15.310 -    <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
  15.311 -    <ClInclude Include="..\..\src\events\SDL_keyboard_c.h" />
  15.312 -    <ClInclude Include="..\..\src\events\SDL_mouse_c.h" />
  15.313 -    <ClInclude Include="..\..\src\video\dummy\SDL_nullevents_c.h" />
  15.314 -    <ClInclude Include="..\..\src\video\dummy\SDL_nullvideo.h" />
  15.315 -    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
  15.316 -    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
  15.317 -    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
  15.318 -    <ClInclude Include="..\..\src\video\SDL_stretch_c.h" />
  15.319 -    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
  15.320 -    <ClInclude Include="..\..\src\events\SDL_sysevents.h" />
  15.321 -    <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h" />
  15.322 -    <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
  15.323 -    <ClInclude Include="..\..\src\thread\SDL_systhread.h" />
  15.324 -    <ClInclude Include="..\..\src\thread\windows\SDL_systhread_c.h" />
  15.325 -    <ClInclude Include="..\..\src\timer\SDL_systimer.h" />
  15.326 -    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
  15.327 -    <ClInclude Include="..\..\src\thread\SDL_thread_c.h" />
  15.328 -    <ClInclude Include="..\..\src\timer\SDL_timer_c.h" />
  15.329 -    <ClInclude Include="..\..\src\video\windows\SDL_vkeys.h" />
  15.330 -    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
  15.331 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsclipboard.h" />
  15.332 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsevents.h" />
  15.333 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsframebuffer.h" />
  15.334 -    <ClInclude Include="..\..\src\video\windows\SDL_windowskeyboard.h" />
  15.335 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsmessagebox.h" />
  15.336 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsmodes.h" />
  15.337 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsmouse.h" />
  15.338 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsopengl.h" />
  15.339 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsshape.h" />
  15.340 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsvideo.h" />
  15.341 -    <ClInclude Include="..\..\src\video\windows\SDL_windowswindow.h" />
  15.342 -    <ClInclude Include="..\..\src\events\SDL_windowevents_c.h" />
  15.343 -    <ClInclude Include="..\..\src\video\windows\wmmsg.h" />
  15.344 -    <ClInclude Include="resource.h" />
  15.345 -  </ItemGroup>
  15.346 -  <ItemGroup>
  15.347 -    <ClCompile Include="..\..\src\core\windows\SDL_windows.c" />
  15.348 -    <ClCompile Include="..\..\src\events\SDL_clipboardevents.c" />
  15.349 -    <ClCompile Include="..\..\src\events\SDL_gesture.c" />
  15.350 -    <ClCompile Include="..\..\src\events\SDL_touch.c" />
  15.351 -    <ClCompile Include="..\..\src\libm\e_atan2.c" />
  15.352 -    <ClCompile Include="..\..\src\libm\e_log.c" />
  15.353 -    <ClCompile Include="..\..\src\libm\e_pow.c" />
  15.354 -    <ClCompile Include="..\..\src\libm\e_rem_pio2.c" />
  15.355 -    <ClCompile Include="..\..\src\libm\e_sqrt.c" />
  15.356 -    <ClCompile Include="..\..\src\libm\k_cos.c" />
  15.357 -    <ClCompile Include="..\..\src\libm\k_rem_pio2.c" />
  15.358 -    <ClCompile Include="..\..\src\libm\k_sin.c" />
  15.359 -    <ClCompile Include="..\..\src\libm\s_atan.c" />
  15.360 -    <ClCompile Include="..\..\src\libm\s_copysign.c" />
  15.361 -    <ClCompile Include="..\..\src\libm\s_cos.c" />
  15.362 -    <ClCompile Include="..\..\src\libm\s_fabs.c" />
  15.363 -    <ClCompile Include="..\..\src\libm\s_floor.c" />
  15.364 -    <ClCompile Include="..\..\src\libm\s_scalbn.c" />
  15.365 -    <ClCompile Include="..\..\src\libm\s_sin.c" />
  15.366 -    <ClCompile Include="..\..\src\render\direct3d\SDL_render_d3d.c" />
  15.367 -    <ClCompile Include="..\..\src\render\opengl\SDL_render_gl.c" />
  15.368 -    <ClCompile Include="..\..\src\render\opengl\SDL_shaders_gl.c" />
  15.369 -    <ClCompile Include="..\..\src\render\SDL_render.c" />
  15.370 -    <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c" />
  15.371 -    <ClCompile Include="..\..\src\render\SDL_yuv_sw.c" />
  15.372 -    <ClCompile Include="..\..\src\render\software\SDL_blendfillrect.c" />
  15.373 -    <ClCompile Include="..\..\src\render\software\SDL_blendline.c" />
  15.374 -    <ClCompile Include="..\..\src\render\software\SDL_blendpoint.c" />
  15.375 -    <ClCompile Include="..\..\src\render\software\SDL_drawline.c" />
  15.376 -    <ClCompile Include="..\..\src\render\software\SDL_drawpoint.c" />
  15.377 -    <ClCompile Include="..\..\src\render\software\SDL_render_sw.c" />
  15.378 -    <ClCompile Include="..\..\src\render\software\SDL_rotate.c" />
  15.379 -    <ClCompile Include="..\..\src\SDL.c" />
  15.380 -    <ClCompile Include="..\..\src\SDL_assert.c" />
  15.381 -    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
  15.382 -    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c" />
  15.383 -    <ClCompile Include="..\..\src\audio\SDL_audio.c" />
  15.384 -    <ClCompile Include="..\..\src\audio\SDL_audiocvt.c" />
  15.385 -    <ClCompile Include="..\..\src\audio\SDL_audiodev.c" />
  15.386 -    <ClCompile Include="..\..\src\audio\SDL_audiotypecvt.c" />
  15.387 -    <ClCompile Include="..\..\src\SDL_hints.c" />
  15.388 -    <ClCompile Include="..\..\src\SDL_log.c" />
  15.389 -    <ClCompile Include="..\..\src\video\dummy\SDL_nullframebuffer.c" />
  15.390 -    <ClCompile Include="..\..\src\video\SDL_blit.c" />
  15.391 -    <ClCompile Include="..\..\src\video\SDL_blit_0.c" />
  15.392 -    <ClCompile Include="..\..\src\video\SDL_blit_1.c" />
  15.393 -    <ClCompile Include="..\..\src\video\SDL_blit_A.c" />
  15.394 -    <ClCompile Include="..\..\src\video\SDL_blit_auto.c" />
  15.395 -    <ClCompile Include="..\..\src\video\SDL_blit_copy.c" />
  15.396 -    <ClCompile Include="..\..\src\video\SDL_blit_N.c" />
  15.397 -    <ClCompile Include="..\..\src\video\SDL_blit_slow.c" />
  15.398 -    <ClCompile Include="..\..\src\video\SDL_bmp.c" />
  15.399 -    <ClCompile Include="..\..\src\cpuinfo\SDL_cpuinfo.c" />
  15.400 -    <ClCompile Include="..\..\src\video\SDL_clipboard.c" />
  15.401 -    <ClCompile Include="..\..\src\video\SDL_shape.c" />
  15.402 -    <ClCompile Include="..\..\src\audio\winmm\SDL_winmm.c" />
  15.403 -    <ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c" />
  15.404 -    <ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c" />
  15.405 -    <ClCompile Include="..\..\src\audio\directsound\SDL_directsound.c" />
  15.406 -    <ClCompile Include="..\..\src\events\SDL_dropevents.c" />
  15.407 -    <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c" />
  15.408 -    <ClCompile Include="..\..\src\joystick\windows\SDL_dxjoystick.c" />
  15.409 -    <ClCompile Include="..\..\src\SDL_error.c" />
  15.410 -    <ClCompile Include="..\..\src\events\SDL_events.c" />
  15.411 -    <ClCompile Include="..\..\src\video\SDL_fillrect.c" />
  15.412 -    <ClCompile Include="..\..\src\stdlib\SDL_getenv.c" />
  15.413 -    <ClCompile Include="..\..\src\haptic\SDL_haptic.c" />
  15.414 -    <ClCompile Include="..\..\src\stdlib\SDL_iconv.c" />
  15.415 -    <ClCompile Include="..\..\src\joystick\SDL_joystick.c" />
  15.416 -    <ClCompile Include="..\..\src\joystick\SDL_gamecontroller.c" />
  15.417 -    <ClCompile Include="..\..\src\events\SDL_keyboard.c" />
  15.418 -    <ClCompile Include="..\..\src\stdlib\SDL_malloc.c" />
  15.419 -    <ClCompile Include="..\..\src\audio\SDL_mixer.c" />
  15.420 -    <ClCompile Include="..\..\src\joystick\windows\SDL_mmjoystick.c" />
  15.421 -    <ClCompile Include="..\..\src\events\SDL_mouse.c" />
  15.422 -    <ClCompile Include="..\..\src\video\dummy\SDL_nullevents.c" />
  15.423 -    <ClCompile Include="..\..\src\video\dummy\SDL_nullvideo.c" />
  15.424 -    <ClCompile Include="..\..\src\video\SDL_pixels.c" />
  15.425 -    <ClCompile Include="..\..\src\power\SDL_power.c" />
  15.426 -    <ClCompile Include="..\..\src\stdlib\SDL_qsort.c" />
  15.427 -    <ClCompile Include="..\..\src\events\SDL_quit.c" />
  15.428 -    <ClCompile Include="..\..\src\video\SDL_rect.c" />
  15.429 -    <ClCompile Include="..\..\src\video\SDL_RLEaccel.c" />
  15.430 -    <ClCompile Include="..\..\src\file\SDL_rwops.c" />
  15.431 -    <ClCompile Include="..\..\src\stdlib\SDL_stdlib.c" />
  15.432 -    <ClCompile Include="..\..\src\video\SDL_stretch.c" />
  15.433 -    <ClCompile Include="..\..\src\stdlib\SDL_string.c" />
  15.434 -    <ClCompile Include="..\..\src\video\SDL_surface.c" />
  15.435 -    <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c" />
  15.436 -    <ClCompile Include="..\..\src\haptic\windows\SDL_syshaptic.c" />
  15.437 -    <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c" />
  15.438 -    <ClCompile Include="..\..\src\thread\windows\SDL_sysmutex.c" />
  15.439 -    <ClCompile Include="..\..\src\power\windows\SDL_syspower.c" />
  15.440 -    <ClCompile Include="..\..\src\thread\windows\SDL_syssem.c" />
  15.441 -    <ClCompile Include="..\..\src\thread\windows\SDL_systhread.c" />
  15.442 -    <ClCompile Include="..\..\src\thread\windows\SDL_systls.c" />
  15.443 -    <ClCompile Include="..\..\src\timer\windows\SDL_systimer.c" />
  15.444 -    <ClCompile Include="..\..\src\thread\SDL_thread.c" />
  15.445 -    <ClCompile Include="..\..\src\timer\SDL_timer.c" />
  15.446 -    <ClCompile Include="..\..\src\video\SDL_video.c" />
  15.447 -    <ClCompile Include="..\..\src\audio\SDL_wave.c" />
  15.448 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsclipboard.c" />
  15.449 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsevents.c" />
  15.450 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsframebuffer.c" />
  15.451 -    <ClCompile Include="..\..\src\video\windows\SDL_windowskeyboard.c" />
  15.452 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsmessagebox.c" />
  15.453 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsmodes.c" />
  15.454 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsmouse.c" />
  15.455 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsopengl.c" />
  15.456 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsshape.c" />
  15.457 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsvideo.c" />
  15.458 -    <ClCompile Include="..\..\src\video\windows\SDL_windowswindow.c" />
  15.459 -    <ClCompile Include="..\..\src\events\SDL_windowevents.c" />
  15.460 -  </ItemGroup>
  15.461 -  <ItemGroup>
  15.462 -    <ResourceCompile Include="..\..\src\main\windows\version.rc" />
  15.463 -  </ItemGroup>
  15.464 -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  15.465 -  <ImportGroup Label="ExtensionTargets">
  15.466 -  </ImportGroup>
  15.467 +<?xml version="1.0" encoding="utf-8"?>
  15.468 +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  15.469 +  <ItemGroup Label="ProjectConfigurations">
  15.470 +    <ProjectConfiguration Include="Debug_static|Win32">
  15.471 +      <Configuration>Debug_static</Configuration>
  15.472 +      <Platform>Win32</Platform>
  15.473 +    </ProjectConfiguration>
  15.474 +    <ProjectConfiguration Include="Debug_static|x64">
  15.475 +      <Configuration>Debug_static</Configuration>
  15.476 +      <Platform>x64</Platform>
  15.477 +    </ProjectConfiguration>
  15.478 +    <ProjectConfiguration Include="Debug|Win32">
  15.479 +      <Configuration>Debug</Configuration>
  15.480 +      <Platform>Win32</Platform>
  15.481 +    </ProjectConfiguration>
  15.482 +    <ProjectConfiguration Include="Debug|x64">
  15.483 +      <Configuration>Debug</Configuration>
  15.484 +      <Platform>x64</Platform>
  15.485 +    </ProjectConfiguration>
  15.486 +    <ProjectConfiguration Include="Release_static|Win32">
  15.487 +      <Configuration>Release_static</Configuration>
  15.488 +      <Platform>Win32</Platform>
  15.489 +    </ProjectConfiguration>
  15.490 +    <ProjectConfiguration Include="Release_static|x64">
  15.491 +      <Configuration>Release_static</Configuration>
  15.492 +      <Platform>x64</Platform>
  15.493 +    </ProjectConfiguration>
  15.494 +    <ProjectConfiguration Include="Release|Win32">
  15.495 +      <Configuration>Release</Configuration>
  15.496 +      <Platform>Win32</Platform>
  15.497 +    </ProjectConfiguration>
  15.498 +    <ProjectConfiguration Include="Release|x64">
  15.499 +      <Configuration>Release</Configuration>
  15.500 +      <Platform>x64</Platform>
  15.501 +    </ProjectConfiguration>
  15.502 +  </ItemGroup>
  15.503 +  <PropertyGroup Label="Globals">
  15.504 +    <ProjectName>SDL2</ProjectName>
  15.505 +    <ProjectGuid>{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}</ProjectGuid>
  15.506 +    <RootNamespace>SDL</RootNamespace>
  15.507 +  </PropertyGroup>
  15.508 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  15.509 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
  15.510 +    <ConfigurationType>DynamicLibrary</ConfigurationType>
  15.511 +    <UseOfMfc>false</UseOfMfc>
  15.512 +  </PropertyGroup>
  15.513 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_static|Win32'" Label="Configuration">
  15.514 +    <ConfigurationType>StaticLibrary</ConfigurationType>
  15.515 +    <UseOfMfc>false</UseOfMfc>
  15.516 +  </PropertyGroup>
  15.517 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
  15.518 +    <ConfigurationType>DynamicLibrary</ConfigurationType>
  15.519 +    <UseOfMfc>false</UseOfMfc>
  15.520 +  </PropertyGroup>
  15.521 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_static|Win32'" Label="Configuration">
  15.522 +    <ConfigurationType>StaticLibrary</ConfigurationType>
  15.523 +    <UseOfMfc>false</UseOfMfc>
  15.524 +  </PropertyGroup>
  15.525 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
  15.526 +    <ConfigurationType>DynamicLibrary</ConfigurationType>
  15.527 +    <UseOfMfc>false</UseOfMfc>
  15.528 +  </PropertyGroup>
  15.529 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_static|x64'" Label="Configuration">
  15.530 +    <ConfigurationType>StaticLibrary</ConfigurationType>
  15.531 +    <UseOfMfc>false</UseOfMfc>
  15.532 +  </PropertyGroup>
  15.533 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
  15.534 +    <ConfigurationType>DynamicLibrary</ConfigurationType>
  15.535 +    <UseOfMfc>false</UseOfMfc>
  15.536 +    <CharacterSet>MultiByte</CharacterSet>
  15.537 +  </PropertyGroup>
  15.538 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_static|x64'" Label="Configuration">
  15.539 +    <ConfigurationType>StaticLibrary</ConfigurationType>
  15.540 +    <UseOfMfc>false</UseOfMfc>
  15.541 +    <CharacterSet>MultiByte</CharacterSet>
  15.542 +  </PropertyGroup>
  15.543 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  15.544 +  <ImportGroup Label="ExtensionSettings">
  15.545 +  </ImportGroup>
  15.546 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
  15.547 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  15.548 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  15.549 +  </ImportGroup>
  15.550 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_static|Win32'" Label="PropertySheets">
  15.551 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  15.552 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  15.553 +  </ImportGroup>
  15.554 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
  15.555 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  15.556 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  15.557 +  </ImportGroup>
  15.558 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_static|Win32'" Label="PropertySheets">
  15.559 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  15.560 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  15.561 +  </ImportGroup>
  15.562 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
  15.563 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  15.564 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  15.565 +  </ImportGroup>
  15.566 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_static|x64'" Label="PropertySheets">
  15.567 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  15.568 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  15.569 +  </ImportGroup>
  15.570 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
  15.571 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  15.572 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  15.573 +  </ImportGroup>
  15.574 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_static|x64'" Label="PropertySheets">
  15.575 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  15.576 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  15.577 +  </ImportGroup>
  15.578 +  <PropertyGroup Label="UserMacros" />
  15.579 +  <PropertyGroup>
  15.580 +    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
  15.581 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir>
  15.582 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_static|Win32'">$(Platform)\$(Configuration)\</OutDir>
  15.583 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
  15.584 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_static|Win32'">$(Platform)\$(Configuration)\</IntDir>
  15.585 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
  15.586 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_static|x64'">$(Platform)\$(Configuration)\</OutDir>
  15.587 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
  15.588 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_static|x64'">$(Platform)\$(Configuration)\</IntDir>
  15.589 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir>
  15.590 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_static|Win32'">$(Platform)\$(Configuration)\</OutDir>
  15.591 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
  15.592 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_static|Win32'">$(Platform)\$(Configuration)\</IntDir>
  15.593 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
  15.594 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_static|x64'">$(Platform)\$(Configuration)\</OutDir>
  15.595 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
  15.596 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_static|x64'">$(Platform)\$(Configuration)\</IntDir>
  15.597 +    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug_static|Win32'">$(ProjectName)_static</TargetName>
  15.598 +    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug_static|x64'">$(ProjectName)_static</TargetName>
  15.599 +    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release_static|Win32'">$(ProjectName)_static</TargetName>
  15.600 +    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release_static|x64'">$(ProjectName)_static</TargetName>
  15.601 +  </PropertyGroup>
  15.602 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  15.603 +    <PreBuildEvent />
  15.604 +    <Midl>
  15.605 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.606 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.607 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.608 +      <TargetEnvironment>Win32</TargetEnvironment>
  15.609 +    </Midl>
  15.610 +    <ClCompile>
  15.611 +      <Optimization>Disabled</Optimization>
  15.612 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.613 +      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.614 +      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  15.615 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.616 +      <PrecompiledHeader>
  15.617 +      </PrecompiledHeader>
  15.618 +      <WarningLevel>Level3</WarningLevel>
  15.619 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.620 +      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
  15.621 +      <CompileAs>Default</CompileAs>
  15.622 +      <ExceptionHandling>false</ExceptionHandling>
  15.623 +    </ClCompile>
  15.624 +    <ResourceCompile>
  15.625 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.626 +      <Culture>0x0409</Culture>
  15.627 +    </ResourceCompile>
  15.628 +    <Link>
  15.629 +      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.630 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.631 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.632 +      <SubSystem>Windows</SubSystem>
  15.633 +      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  15.634 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  15.635 +    </Link>
  15.636 +  </ItemDefinitionGroup>
  15.637 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_static|Win32'">
  15.638 +    <PreBuildEvent />
  15.639 +    <Midl>
  15.640 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.641 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.642 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.643 +      <TargetEnvironment>Win32</TargetEnvironment>
  15.644 +    </Midl>
  15.645 +    <ClCompile>
  15.646 +      <Optimization>Disabled</Optimization>
  15.647 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.648 +      <PreprocessorDefinitions>HAVE_LIBC;_CRT_SECURE_NO_WARNINGS;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.649 +      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
  15.650 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.651 +      <PrecompiledHeader>
  15.652 +      </PrecompiledHeader>
  15.653 +      <WarningLevel>Level3</WarningLevel>
  15.654 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.655 +      <DebugInformationFormat>OldStyle</DebugInformationFormat>
  15.656 +      <CompileAs>Default</CompileAs>
  15.657 +      <ExceptionHandling>false</ExceptionHandling>
  15.658 +      <OmitDefaultLibName>true</OmitDefaultLibName>
  15.659 +    </ClCompile>
  15.660 +    <ResourceCompile>
  15.661 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.662 +      <Culture>0x0409</Culture>
  15.663 +    </ResourceCompile>
  15.664 +    <Link>
  15.665 +      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.666 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.667 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.668 +      <SubSystem>Windows</SubSystem>
  15.669 +      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  15.670 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  15.671 +    </Link>
  15.672 +  </ItemDefinitionGroup>
  15.673 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  15.674 +    <Midl>
  15.675 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.676 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.677 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.678 +      <TargetEnvironment>X64</TargetEnvironment>
  15.679 +    </Midl>
  15.680 +    <ClCompile>
  15.681 +      <Optimization>Disabled</Optimization>
  15.682 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.683 +      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.684 +      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  15.685 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.686 +      <PrecompiledHeader>
  15.687 +      </PrecompiledHeader>
  15.688 +      <WarningLevel>Level3</WarningLevel>
  15.689 +      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
  15.690 +      <ExceptionHandling>false</ExceptionHandling>
  15.691 +    </ClCompile>
  15.692 +    <ResourceCompile>
  15.693 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.694 +      <Culture>0x0409</Culture>
  15.695 +    </ResourceCompile>
  15.696 +    <Link>
  15.697 +      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.698 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.699 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.700 +      <SubSystem>Windows</SubSystem>
  15.701 +      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  15.702 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  15.703 +    </Link>
  15.704 +  </ItemDefinitionGroup>
  15.705 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_static|x64'">
  15.706 +    <Midl>
  15.707 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.708 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.709 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.710 +      <TargetEnvironment>X64</TargetEnvironment>
  15.711 +    </Midl>
  15.712 +    <ClCompile>
  15.713 +      <Optimization>Disabled</Optimization>
  15.714 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.715 +      <PreprocessorDefinitions>HAVE_LIBC;_CRT_SECURE_NO_WARNINGS;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.716 +      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
  15.717 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.718 +      <PrecompiledHeader>
  15.719 +      </PrecompiledHeader>
  15.720 +      <WarningLevel>Level3</WarningLevel>
  15.721 +      <DebugInformationFormat>OldStyle</DebugInformationFormat>
  15.722 +      <ExceptionHandling>false</ExceptionHandling>
  15.723 +      <OmitDefaultLibName>true</OmitDefaultLibName>
  15.724 +    </ClCompile>
  15.725 +    <ResourceCompile>
  15.726 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.727 +      <Culture>0x0409</Culture>
  15.728 +    </ResourceCompile>
  15.729 +    <Link>
  15.730 +      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.731 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.732 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.733 +      <SubSystem>Windows</SubSystem>
  15.734 +      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  15.735 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  15.736 +    </Link>
  15.737 +    <Lib>
  15.738 +      <AdditionalOptions>/MACHINE:X64 %(AdditionalOptions)</AdditionalOptions>
  15.739 +    </Lib>
  15.740 +  </ItemDefinitionGroup>
  15.741 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  15.742 +    <PreBuildEvent />
  15.743 +    <Midl>
  15.744 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.745 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.746 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.747 +      <TargetEnvironment>Win32</TargetEnvironment>
  15.748 +    </Midl>
  15.749 +    <ClCompile>
  15.750 +      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  15.751 +      <IntrinsicFunctions>false</IntrinsicFunctions>
  15.752 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.753 +      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.754 +      <StringPooling>true</StringPooling>
  15.755 +      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  15.756 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.757 +      <FunctionLevelLinking>true</FunctionLevelLinking>
  15.758 +      <PrecompiledHeader>
  15.759 +      </PrecompiledHeader>
  15.760 +      <WarningLevel>Level3</WarningLevel>
  15.761 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.762 +      <CompileAs>Default</CompileAs>
  15.763 +      <ExceptionHandling>false</ExceptionHandling>
  15.764 +      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  15.765 +    </ClCompile>
  15.766 +    <ResourceCompile>
  15.767 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.768 +      <Culture>0x0409</Culture>
  15.769 +    </ResourceCompile>
  15.770 +    <Link>
  15.771 +      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.772 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.773 +      <SubSystem>Windows</SubSystem>
  15.774 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  15.775 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.776 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
  15.777 +      <OptimizeReferences>true</OptimizeReferences>
  15.778 +    </Link>
  15.779 +  </ItemDefinitionGroup>
  15.780 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_static|Win32'">
  15.781 +    <PreBuildEvent />
  15.782 +    <Midl>
  15.783 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.784 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.785 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.786 +      <TargetEnvironment>Win32</TargetEnvironment>
  15.787 +    </Midl>
  15.788 +    <ClCompile>
  15.789 +      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  15.790 +      <IntrinsicFunctions>false</IntrinsicFunctions>
  15.791 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.792 +      <PreprocessorDefinitions>HAVE_LIBC;_CRT_SECURE_NO_WARNINGS;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.793 +      <StringPooling>true</StringPooling>
  15.794 +      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
  15.795 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.796 +      <FunctionLevelLinking>true</FunctionLevelLinking>
  15.797 +      <PrecompiledHeader>
  15.798 +      </PrecompiledHeader>
  15.799 +      <WarningLevel>Level3</WarningLevel>
  15.800 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.801 +      <CompileAs>Default</CompileAs>
  15.802 +      <ExceptionHandling>false</ExceptionHandling>
  15.803 +      <DebugInformationFormat>OldStyle</DebugInformationFormat>
  15.804 +      <OmitDefaultLibName>true</OmitDefaultLibName>
  15.805 +    </ClCompile>
  15.806 +    <ResourceCompile>
  15.807 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.808 +      <Culture>0x0409</Culture>
  15.809 +    </ResourceCompile>
  15.810 +    <Link>
  15.811 +      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.812 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.813 +      <SubSystem>Windows</SubSystem>
  15.814 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  15.815 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.816 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
  15.817 +      <OptimizeReferences>true</OptimizeReferences>
  15.818 +    </Link>
  15.819 +  </ItemDefinitionGroup>
  15.820 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  15.821 +    <Midl>
  15.822 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.823 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.824 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.825 +      <TargetEnvironment>X64</TargetEnvironment>
  15.826 +    </Midl>
  15.827 +    <ClCompile>
  15.828 +      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  15.829 +      <IntrinsicFunctions>false</IntrinsicFunctions>
  15.830 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.831 +      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.832 +      <StringPooling>true</StringPooling>
  15.833 +      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  15.834 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.835 +      <FunctionLevelLinking>true</FunctionLevelLinking>
  15.836 +      <PrecompiledHeader>
  15.837 +      </PrecompiledHeader>
  15.838 +      <WarningLevel>Level3</WarningLevel>
  15.839 +      <ExceptionHandling>false</ExceptionHandling>
  15.840 +      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  15.841 +    </ClCompile>
  15.842 +    <ResourceCompile>
  15.843 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.844 +      <Culture>0x0409</Culture>
  15.845 +    </ResourceCompile>
  15.846 +    <Link>
  15.847 +      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.848 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.849 +      <SubSystem>Windows</SubSystem>
  15.850 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  15.851 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.852 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
  15.853 +      <OptimizeReferences>true</OptimizeReferences>
  15.854 +    </Link>
  15.855 +  </ItemDefinitionGroup>
  15.856 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_static|x64'">
  15.857 +    <Midl>
  15.858 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.859 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  15.860 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  15.861 +      <TargetEnvironment>X64</TargetEnvironment>
  15.862 +    </Midl>
  15.863 +    <ClCompile>
  15.864 +      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  15.865 +      <IntrinsicFunctions>false</IntrinsicFunctions>
  15.866 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  15.867 +      <PreprocessorDefinitions>HAVE_LIBC;_CRT_SECURE_NO_WARNINGS;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.868 +      <StringPooling>true</StringPooling>
  15.869 +      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
  15.870 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  15.871 +      <FunctionLevelLinking>true</FunctionLevelLinking>
  15.872 +      <PrecompiledHeader>
  15.873 +      </PrecompiledHeader>
  15.874 +      <WarningLevel>Level3</WarningLevel>
  15.875 +      <ExceptionHandling>false</ExceptionHandling>
  15.876 +      <DebugInformationFormat>OldStyle</DebugInformationFormat>
  15.877 +      <OmitDefaultLibName>true</OmitDefaultLibName>
  15.878 +    </ClCompile>
  15.879 +    <ResourceCompile>
  15.880 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  15.881 +      <Culture>0x0409</Culture>
  15.882 +    </ResourceCompile>
  15.883 +    <Link>
  15.884 +      <AdditionalDependencies>winmm.lib;imm32.lib;oleaut32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  15.885 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  15.886 +      <SubSystem>Windows</SubSystem>
  15.887 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  15.888 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  15.889 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
  15.890 +      <OptimizeReferences>true</OptimizeReferences>
  15.891 +    </Link>
  15.892 +    <Lib>
  15.893 +      <AdditionalOptions>/MACHINE:X64 %(AdditionalOptions)</AdditionalOptions>
  15.894 +    </Lib>
  15.895 +  </ItemDefinitionGroup>
  15.896 +  <ItemGroup>
  15.897 +    <ClInclude Include="..\..\include\SDL.h" />
  15.898 +    <ClInclude Include="..\..\include\SDL_assert.h" />
  15.899 +    <ClInclude Include="..\..\include\SDL_atomic.h" />
  15.900 +    <ClInclude Include="..\..\include\SDL_audio.h" />
  15.901 +    <ClInclude Include="..\..\include\SDL_bits.h" />
  15.902 +    <ClInclude Include="..\..\include\SDL_blendmode.h" />
  15.903 +    <ClInclude Include="..\..\include\SDL_clipboard.h" />
  15.904 +    <ClInclude Include="..\..\include\SDL_config.h" />
  15.905 +    <ClInclude Include="..\..\include\SDL_config_windows.h" />
  15.906 +    <ClInclude Include="..\..\include\SDL_copying.h" />
  15.907 +    <ClInclude Include="..\..\include\SDL_cpuinfo.h" />
  15.908 +    <ClInclude Include="..\..\include\SDL_endian.h" />
  15.909 +    <ClInclude Include="..\..\include\SDL_error.h" />
  15.910 +    <ClInclude Include="..\..\include\SDL_events.h" />
  15.911 +    <ClInclude Include="..\..\include\SDL_filesystem.h" />
  15.912 +    <ClInclude Include="..\..\include\SDL_gesture.h" />
  15.913 +    <ClInclude Include="..\..\include\SDL_haptic.h" />
  15.914 +    <ClInclude Include="..\..\include\SDL_hints.h" />
  15.915 +    <ClInclude Include="..\..\include\SDL_joystick.h" />
  15.916 +    <ClInclude Include="..\..\include\SDL_gamecontroller.h" />
  15.917 +    <ClInclude Include="..\..\include\SDL_keyboard.h" />
  15.918 +    <ClInclude Include="..\..\include\SDL_keycode.h" />
  15.919 +    <ClInclude Include="..\..\include\SDL_loadso.h" />
  15.920 +    <ClInclude Include="..\..\include\SDL_log.h" />
  15.921 +    <ClInclude Include="..\..\include\SDL_main.h" />
  15.922 +    <ClInclude Include="..\..\include\SDL_mouse.h" />
  15.923 +    <ClInclude Include="..\..\include\SDL_mutex.h" />
  15.924 +    <ClInclude Include="..\..\include\SDL_name.h" />
  15.925 +    <ClInclude Include="..\..\include\SDL_opengl.h" />
  15.926 +    <ClInclude Include="..\..\include\SDL_opengles.h" />
  15.927 +    <ClInclude Include="..\..\include\SDL_pixels.h" />
  15.928 +    <ClInclude Include="..\..\include\SDL_platform.h" />
  15.929 +    <ClInclude Include="..\..\include\SDL_power.h" />
  15.930 +    <ClInclude Include="..\..\include\SDL_quit.h" />
  15.931 +    <ClInclude Include="..\..\include\SDL_rect.h" />
  15.932 +    <ClInclude Include="..\..\include\SDL_render.h" />
  15.933 +    <ClInclude Include="..\..\include\SDL_revision.h" />
  15.934 +    <ClInclude Include="..\..\include\SDL_rwops.h" />
  15.935 +    <ClInclude Include="..\..\include\SDL_scancode.h" />
  15.936 +    <ClInclude Include="..\..\include\SDL_shape.h" />
  15.937 +    <ClInclude Include="..\..\include\SDL_stdinc.h" />
  15.938 +    <ClInclude Include="..\..\include\SDL_surface.h" />
  15.939 +    <ClInclude Include="..\..\include\SDL_system.h" />
  15.940 +    <ClInclude Include="..\..\include\SDL_syswm.h" />
  15.941 +    <ClInclude Include="..\..\include\SDL_thread.h" />
  15.942 +    <ClInclude Include="..\..\include\SDL_timer.h" />
  15.943 +    <ClInclude Include="..\..\include\SDL_touch.h" />
  15.944 +    <ClInclude Include="..\..\include\SDL_types.h" />
  15.945 +    <ClInclude Include="..\..\include\SDL_version.h" />
  15.946 +    <ClInclude Include="..\..\include\SDL_video.h" />
  15.947 +    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
  15.948 +    <ClInclude Include="..\..\src\events\blank_cursor.h" />
  15.949 +    <ClInclude Include="..\..\src\events\default_cursor.h" />
  15.950 +    <ClInclude Include="..\..\src\audio\directsound\directx.h" />
  15.951 +    <ClInclude Include="..\..\src\events\SDL_clipboardevents_c.h" />
  15.952 +    <ClInclude Include="..\..\src\events\SDL_gesture_c.h" />
  15.953 +    <ClInclude Include="..\..\src\events\SDL_touch_c.h" />
  15.954 +    <ClInclude Include="..\..\src\libm\math.h" />
  15.955 +    <ClInclude Include="..\..\src\libm\math_private.h" />
  15.956 +    <ClInclude Include="..\..\src\render\mmx.h" />
  15.957 +    <ClInclude Include="..\..\src\render\opengl\SDL_shaders_gl.h" />
  15.958 +    <ClInclude Include="..\..\src\render\SDL_sysrender.h" />
  15.959 +    <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h" />
  15.960 +    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
  15.961 +    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
  15.962 +    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
  15.963 +    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
  15.964 +    <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
  15.965 +    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
  15.966 +    <ClInclude Include="..\..\src\render\software\SDL_draw.h" />
  15.967 +    <ClInclude Include="..\..\src\render\software\SDL_drawline.h" />
  15.968 +    <ClInclude Include="..\..\src\render\software\SDL_drawpoint.h" />
  15.969 +    <ClInclude Include="..\..\src\events\SDL_dropevents_c.h" />
  15.970 +    <ClInclude Include="..\..\src\render\software\SDL_render_sw_c.h" />
  15.971 +    <ClInclude Include="..\..\src\render\software\SDL_rotate.h" />
  15.972 +    <ClInclude Include="..\..\src\video\dummy\SDL_nullframebuffer_c.h" />
  15.973 +    <ClInclude Include="..\..\src\video\SDL_blit.h" />
  15.974 +    <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
  15.975 +    <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
  15.976 +    <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />
  15.977 +    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
  15.978 +    <ClInclude Include="..\..\src\audio\winmm\SDL_winmm.h" />
  15.979 +    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
  15.980 +    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
  15.981 +    <ClInclude Include="..\..\src\audio\directsound\SDL_directsound.h" />
  15.982 +    <ClInclude Include="..\..\src\SDL_error_c.h" />
  15.983 +    <ClInclude Include="..\..\src\SDL_hints_c.h" />
  15.984 +    <ClInclude Include="..\..\src\events\SDL_events_c.h" />
  15.985 +    <ClInclude Include="..\..\src\video\SDL_glesfuncs.h" />
  15.986 +    <ClInclude Include="..\..\src\video\SDL_glfuncs.h" />
  15.987 +    <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
  15.988 +    <ClInclude Include="..\..\src\events\SDL_keyboard_c.h" />
  15.989 +    <ClInclude Include="..\..\src\events\SDL_mouse_c.h" />
  15.990 +    <ClInclude Include="..\..\src\video\dummy\SDL_nullevents_c.h" />
  15.991 +    <ClInclude Include="..\..\src\video\dummy\SDL_nullvideo.h" />
  15.992 +    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
  15.993 +    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
  15.994 +    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
  15.995 +    <ClInclude Include="..\..\src\video\SDL_stretch_c.h" />
  15.996 +    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
  15.997 +    <ClInclude Include="..\..\src\events\SDL_sysevents.h" />
  15.998 +    <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h" />
  15.999 +    <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
 15.1000 +    <ClInclude Include="..\..\src\thread\SDL_systhread.h" />
 15.1001 +    <ClInclude Include="..\..\src\thread\windows\SDL_systhread_c.h" />
 15.1002 +    <ClInclude Include="..\..\src\timer\SDL_systimer.h" />
 15.1003 +    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
 15.1004 +    <ClInclude Include="..\..\src\thread\SDL_thread_c.h" />
 15.1005 +    <ClInclude Include="..\..\src\timer\SDL_timer_c.h" />
 15.1006 +    <ClInclude Include="..\..\src\video\windows\SDL_vkeys.h" />
 15.1007 +    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
 15.1008 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsclipboard.h" />
 15.1009 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsevents.h" />
 15.1010 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsframebuffer.h" />
 15.1011 +    <ClInclude Include="..\..\src\video\windows\SDL_windowskeyboard.h" />
 15.1012 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsmessagebox.h" />
 15.1013 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsmodes.h" />
 15.1014 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsmouse.h" />
 15.1015 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsopengl.h" />
 15.1016 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsshape.h" />
 15.1017 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsvideo.h" />
 15.1018 +    <ClInclude Include="..\..\src\video\windows\SDL_windowswindow.h" />
 15.1019 +    <ClInclude Include="..\..\src\events\SDL_windowevents_c.h" />
 15.1020 +    <ClInclude Include="..\..\src\video\windows\wmmsg.h" />
 15.1021 +    <ClInclude Include="resource.h" />
 15.1022 +  </ItemGroup>
 15.1023 +  <ItemGroup>
 15.1024 +    <ClCompile Include="..\..\src\core\windows\SDL_windows.c" />
 15.1025 +    <ClCompile Include="..\..\src\events\SDL_clipboardevents.c" />
 15.1026 +    <ClCompile Include="..\..\src\events\SDL_gesture.c" />
 15.1027 +    <ClCompile Include="..\..\src\events\SDL_touch.c" />
 15.1028 +    <ClCompile Include="..\..\src\libm\e_atan2.c" />
 15.1029 +    <ClCompile Include="..\..\src\libm\e_log.c" />
 15.1030 +    <ClCompile Include="..\..\src\libm\e_pow.c" />
 15.1031 +    <ClCompile Include="..\..\src\libm\e_rem_pio2.c" />
 15.1032 +    <ClCompile Include="..\..\src\libm\e_sqrt.c" />
 15.1033 +    <ClCompile Include="..\..\src\libm\k_cos.c" />
 15.1034 +    <ClCompile Include="..\..\src\libm\k_rem_pio2.c" />
 15.1035 +    <ClCompile Include="..\..\src\libm\k_sin.c" />
 15.1036 +    <ClCompile Include="..\..\src\libm\s_atan.c" />
 15.1037 +    <ClCompile Include="..\..\src\libm\s_copysign.c" />
 15.1038 +    <ClCompile Include="..\..\src\libm\s_cos.c" />
 15.1039 +    <ClCompile Include="..\..\src\libm\s_fabs.c" />
 15.1040 +    <ClCompile Include="..\..\src\libm\s_floor.c" />
 15.1041 +    <ClCompile Include="..\..\src\libm\s_scalbn.c" />
 15.1042 +    <ClCompile Include="..\..\src\libm\s_sin.c" />
 15.1043 +    <ClCompile Include="..\..\src\render\direct3d\SDL_render_d3d.c" />
 15.1044 +    <ClCompile Include="..\..\src\render\opengl\SDL_render_gl.c" />
 15.1045 +    <ClCompile Include="..\..\src\render\opengl\SDL_shaders_gl.c" />
 15.1046 +    <ClCompile Include="..\..\src\render\SDL_render.c" />
 15.1047 +    <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c" />
 15.1048 +    <ClCompile Include="..\..\src\render\SDL_yuv_sw.c" />
 15.1049 +    <ClCompile Include="..\..\src\render\software\SDL_blendfillrect.c" />
 15.1050 +    <ClCompile Include="..\..\src\render\software\SDL_blendline.c" />
 15.1051 +    <ClCompile Include="..\..\src\render\software\SDL_blendpoint.c" />
 15.1052 +    <ClCompile Include="..\..\src\render\software\SDL_drawline.c" />
 15.1053 +    <ClCompile Include="..\..\src\render\software\SDL_drawpoint.c" />
 15.1054 +    <ClCompile Include="..\..\src\render\software\SDL_render_sw.c" />
 15.1055 +    <ClCompile Include="..\..\src\render\software\SDL_rotate.c" />
 15.1056 +    <ClCompile Include="..\..\src\SDL.c" />
 15.1057 +    <ClCompile Include="..\..\src\SDL_assert.c" />
 15.1058 +    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
 15.1059 +    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c" />
 15.1060 +    <ClCompile Include="..\..\src\audio\SDL_audio.c" />
 15.1061 +    <ClCompile Include="..\..\src\audio\SDL_audiocvt.c" />
 15.1062 +    <ClCompile Include="..\..\src\audio\SDL_audiodev.c" />
 15.1063 +    <ClCompile Include="..\..\src\audio\SDL_audiotypecvt.c" />
 15.1064 +    <ClCompile Include="..\..\src\SDL_hints.c" />
 15.1065 +    <ClCompile Include="..\..\src\SDL_log.c" />
 15.1066 +    <ClCompile Include="..\..\src\video\dummy\SDL_nullframebuffer.c" />
 15.1067 +    <ClCompile Include="..\..\src\video\SDL_blit.c" />
 15.1068 +    <ClCompile Include="..\..\src\video\SDL_blit_0.c" />
 15.1069 +    <ClCompile Include="..\..\src\video\SDL_blit_1.c" />
 15.1070 +    <ClCompile Include="..\..\src\video\SDL_blit_A.c" />
 15.1071 +    <ClCompile Include="..\..\src\video\SDL_blit_auto.c" />
 15.1072 +    <ClCompile Include="..\..\src\video\SDL_blit_copy.c" />
 15.1073 +    <ClCompile Include="..\..\src\video\SDL_blit_N.c" />
 15.1074 +    <ClCompile Include="..\..\src\video\SDL_blit_slow.c" />
 15.1075 +    <ClCompile Include="..\..\src\video\SDL_bmp.c" />
 15.1076 +    <ClCompile Include="..\..\src\cpuinfo\SDL_cpuinfo.c" />
 15.1077 +    <ClCompile Include="..\..\src\video\SDL_clipboard.c" />
 15.1078 +    <ClCompile Include="..\..\src\video\SDL_shape.c" />
 15.1079 +    <ClCompile Include="..\..\src\audio\winmm\SDL_winmm.c" />
 15.1080 +    <ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c" />
 15.1081 +    <ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c" />
 15.1082 +    <ClCompile Include="..\..\src\audio\directsound\SDL_directsound.c" />
 15.1083 +    <ClCompile Include="..\..\src\events\SDL_dropevents.c" />
 15.1084 +    <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c" />
 15.1085 +    <ClCompile Include="..\..\src\joystick\windows\SDL_dxjoystick.c" />
 15.1086 +    <ClCompile Include="..\..\src\SDL_error.c" />
 15.1087 +    <ClCompile Include="..\..\src\events\SDL_events.c" />
 15.1088 +    <ClCompile Include="..\..\src\video\SDL_fillrect.c" />
 15.1089 +    <ClCompile Include="..\..\src\stdlib\SDL_getenv.c" />
 15.1090 +    <ClCompile Include="..\..\src\haptic\SDL_haptic.c" />
 15.1091 +    <ClCompile Include="..\..\src\stdlib\SDL_iconv.c" />
 15.1092 +    <ClCompile Include="..\..\src\joystick\SDL_joystick.c" />
 15.1093 +    <ClCompile Include="..\..\src\joystick\SDL_gamecontroller.c" />
 15.1094 +    <ClCompile Include="..\..\src\events\SDL_keyboard.c" />
 15.1095 +    <ClCompile Include="..\..\src\stdlib\SDL_malloc.c" />
 15.1096 +    <ClCompile Include="..\..\src\audio\SDL_mixer.c" />
 15.1097 +    <ClCompile Include="..\..\src\joystick\windows\SDL_mmjoystick.c" />
 15.1098 +    <ClCompile Include="..\..\src\events\SDL_mouse.c" />
 15.1099 +    <ClCompile Include="..\..\src\video\dummy\SDL_nullevents.c" />
 15.1100 +    <ClCompile Include="..\..\src\video\dummy\SDL_nullvideo.c" />
 15.1101 +    <ClCompile Include="..\..\src\video\SDL_pixels.c" />
 15.1102 +    <ClCompile Include="..\..\src\power\SDL_power.c" />
 15.1103 +    <ClCompile Include="..\..\src\stdlib\SDL_qsort.c" />
 15.1104 +    <ClCompile Include="..\..\src\events\SDL_quit.c" />
 15.1105 +    <ClCompile Include="..\..\src\video\SDL_rect.c" />
 15.1106 +    <ClCompile Include="..\..\src\video\SDL_RLEaccel.c" />
 15.1107 +    <ClCompile Include="..\..\src\file\SDL_rwops.c" />
 15.1108 +    <ClCompile Include="..\..\src\stdlib\SDL_stdlib.c" />
 15.1109 +    <ClCompile Include="..\..\src\video\SDL_stretch.c" />
 15.1110 +    <ClCompile Include="..\..\src\stdlib\SDL_string.c" />
 15.1111 +    <ClCompile Include="..\..\src\video\SDL_surface.c" />
 15.1112 +    <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c" />
 15.1113 +    <ClCompile Include="..\..\src\filesystem\windows\SDL_sysfilesystem.c" />
 15.1114 +    <ClCompile Include="..\..\src\haptic\windows\SDL_syshaptic.c" />
 15.1115 +    <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c" />
 15.1116 +    <ClCompile Include="..\..\src\thread\windows\SDL_sysmutex.c" />
 15.1117 +    <ClCompile Include="..\..\src\power\windows\SDL_syspower.c" />
 15.1118 +    <ClCompile Include="..\..\src\thread\windows\SDL_syssem.c" />
 15.1119 +    <ClCompile Include="..\..\src\thread\windows\SDL_systhread.c" />
 15.1120 +    <ClCompile Include="..\..\src\thread\windows\SDL_systls.c" />
 15.1121 +    <ClCompile Include="..\..\src\timer\windows\SDL_systimer.c" />
 15.1122 +    <ClCompile Include="..\..\src\thread\SDL_thread.c" />
 15.1123 +    <ClCompile Include="..\..\src\timer\SDL_timer.c" />
 15.1124 +    <ClCompile Include="..\..\src\video\SDL_video.c" />
 15.1125 +    <ClCompile Include="..\..\src\audio\SDL_wave.c" />
 15.1126 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsclipboard.c" />
 15.1127 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsevents.c" />
 15.1128 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsframebuffer.c" />
 15.1129 +    <ClCompile Include="..\..\src\video\windows\SDL_windowskeyboard.c" />
 15.1130 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsmessagebox.c" />
 15.1131 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsmodes.c" />
 15.1132 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsmouse.c" />
 15.1133 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsopengl.c" />
 15.1134 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsshape.c" />
 15.1135 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsvideo.c" />
 15.1136 +    <ClCompile Include="..\..\src\video\windows\SDL_windowswindow.c" />
 15.1137 +    <ClCompile Include="..\..\src\events\SDL_windowevents.c" />
 15.1138 +  </ItemGroup>
 15.1139 +  <ItemGroup>
 15.1140 +    <ResourceCompile Include="..\..\src\main\windows\version.rc" />
 15.1141 +  </ItemGroup>
 15.1142 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 15.1143 +  <ImportGroup Label="ExtensionTargets">
 15.1144 +  </ImportGroup>
 15.1145  </Project>
 15.1146 \ No newline at end of file
    16.1 --- a/VisualC/SDL/SDL_VS2012.vcxproj	Sun Oct 27 14:31:57 2013 -0400
    16.2 +++ b/VisualC/SDL/SDL_VS2012.vcxproj	Sun Oct 27 21:26:46 2013 -0400
    16.3 @@ -19,7 +19,7 @@
    16.4      </ProjectConfiguration>
    16.5    </ItemGroup>
    16.6    <PropertyGroup Label="Globals">
    16.7 -    <ProjectName>SDL2</ProjectName>
    16.8 +    <ProjectName>SDL2</ProjectName>
    16.9      <ProjectGuid>{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}</ProjectGuid>
   16.10      <RootNamespace>SDL</RootNamespace>
   16.11    </PropertyGroup>
   16.12 @@ -233,6 +233,7 @@
   16.13      <ClInclude Include="..\..\include\SDL_endian.h" />
   16.14      <ClInclude Include="..\..\include\SDL_error.h" />
   16.15      <ClInclude Include="..\..\include\SDL_events.h" />
   16.16 +    <ClInclude Include="..\..\include\SDL_filesystem.h" />
   16.17      <ClInclude Include="..\..\include\SDL_gesture.h" />
   16.18      <ClInclude Include="..\..\include\SDL_haptic.h" />
   16.19      <ClInclude Include="..\..\include\SDL_hints.h" />
   16.20 @@ -433,6 +434,7 @@
   16.21      <ClCompile Include="..\..\src\stdlib\SDL_string.c" />
   16.22      <ClCompile Include="..\..\src\video\SDL_surface.c" />
   16.23      <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c" />
   16.24 +    <ClCompile Include="..\..\src\filesystem\windows\SDL_sysfilesystem.c" />
   16.25      <ClCompile Include="..\..\src\haptic\windows\SDL_syshaptic.c" />
   16.26      <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c" />
   16.27      <ClCompile Include="..\..\src\thread\windows\SDL_sysmutex.c" />
    17.1 --- a/VisualC/SDL_VS2010.sln	Sun Oct 27 14:31:57 2013 -0400
    17.2 +++ b/VisualC/SDL_VS2010.sln	Sun Oct 27 21:26:46 2013 -0400
    17.3 @@ -1,255 +1,417 @@
    17.4 -
    17.5 -Microsoft Visual Studio Solution File, Format Version 11.00
    17.6 -# Visual Studio 2010
    17.7 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "SDL\SDL_VS2010.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
    17.8 -EndProject
    17.9 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "SDLmain\SDLmain_VS2010.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
   17.10 -EndProject
   17.11 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{CE748C1F-3C21-4825-AA6A-F895A023F7E7}"
   17.12 -EndProject
   17.13 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "loopwave", "tests\loopwave\loopwave_VS2010.vcxproj", "{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}"
   17.14 -EndProject
   17.15 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testplatform", "tests\testplatform\testplatform_VS2010.vcxproj", "{26932B24-EFC6-4E3A-B277-ED653DA37968}"
   17.16 -EndProject
   17.17 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfile", "tests\testfile\testfile_VS2010.vcxproj", "{CAE4F1D0-314F-4B10-805B-0EFD670133A0}"
   17.18 -EndProject
   17.19 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgl2", "tests\testgl2\testgl2_VS2010.vcxproj", "{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}"
   17.20 -EndProject
   17.21 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "checkkeys", "tests\checkkeys\checkkeys_VS2010.vcxproj", "{26828762-C95D-4637-9CB1-7F0979523813}"
   17.22 -EndProject
   17.23 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testsprite2", "tests\testsprite2\testsprite2_VS2010.vcxproj", "{40FB7794-D3C3-4CFE-BCF4-A80C96635682}"
   17.24 -EndProject
   17.25 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testshape", "tests\testshape\testshape_VS2010.vcxproj", "{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}"
   17.26 -EndProject
   17.27 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testdraw2", "tests\testdraw2\testdraw2_VS2010.vcxproj", "{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}"
   17.28 -EndProject
   17.29 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testpower", "tests\testpower\testpower_VS2010.vcxproj", "{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}"
   17.30 -EndProject
   17.31 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2test", "SDLtest\SDLtest_VS2010.vcxproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
   17.32 -EndProject
   17.33 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testautomation", "tests\testautomation\testautomation_vs2010.vcxproj", "{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}"
   17.34 -EndProject
   17.35 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testatomic", "tests\testatomic\testatomic_VS2010.vcxproj", "{2271060E-98B4-4596-8172-A041E4B2EC7A}"
   17.36 -EndProject
   17.37 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testscale", "tests\testscale\testscale_VS2010.vcxproj", "{E7A6C41C-E059-4C9C-8CCC-73586A540B62}"
   17.38 -EndProject
   17.39 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testrendertarget", "tests\testrendertarget\testrendertarget_VS2010.vcxproj", "{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}"
   17.40 -EndProject
   17.41 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgamecontroller", "tests\testgamecontroller\testgamecontroller_VS2010.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08336}"
   17.42 -	ProjectSection(ProjectDependencies) = postProject
   17.43 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   17.44 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   17.45 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
   17.46 -	EndProjectSection
   17.47 -EndProject
   17.48 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgesture", "tests\testgesture\testgesture_VS2010.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08996}"
   17.49 -	ProjectSection(ProjectDependencies) = postProject
   17.50 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   17.51 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   17.52 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
   17.53 -	EndProjectSection
   17.54 -EndProject
   17.55 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testjoystick", "tests\testjoystick\testjoystick_VS2010.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08BCC}"
   17.56 -	ProjectSection(ProjectDependencies) = postProject
   17.57 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   17.58 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   17.59 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
   17.60 -	EndProjectSection
   17.61 -EndProject
   17.62 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testoverlay2", "tests\testoverlay2\testoverlay2_VS2010.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08AAD}"
   17.63 -	ProjectSection(ProjectDependencies) = postProject
   17.64 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   17.65 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   17.66 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
   17.67 -	EndProjectSection
   17.68 -EndProject
   17.69 -Global
   17.70 -	GlobalSection(SolutionConfigurationPlatforms) = preSolution
   17.71 -		Debug|Win32 = Debug|Win32
   17.72 -		Debug|x64 = Debug|x64
   17.73 -		Release|Win32 = Release|Win32
   17.74 -		Release|x64 = Release|x64
   17.75 -	EndGlobalSection
   17.76 -	GlobalSection(ProjectConfigurationPlatforms) = postSolution
   17.77 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.ActiveCfg = Debug|Win32
   17.78 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.Build.0 = Debug|Win32
   17.79 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
   17.80 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
   17.81 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.ActiveCfg = Release|Win32
   17.82 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.Build.0 = Release|Win32
   17.83 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
   17.84 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
   17.85 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.ActiveCfg = Debug|Win32
   17.86 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.Build.0 = Debug|Win32
   17.87 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
   17.88 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
   17.89 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.ActiveCfg = Release|Win32
   17.90 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.Build.0 = Release|Win32
   17.91 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
   17.92 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.Build.0 = Release|x64
   17.93 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.ActiveCfg = Debug|Win32
   17.94 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.Build.0 = Debug|Win32
   17.95 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.ActiveCfg = Debug|x64
   17.96 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.Build.0 = Debug|x64
   17.97 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.ActiveCfg = Release|Win32
   17.98 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.Build.0 = Release|Win32
   17.99 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.ActiveCfg = Release|x64
  17.100 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.Build.0 = Release|x64
  17.101 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.ActiveCfg = Debug|Win32
  17.102 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.Build.0 = Debug|Win32
  17.103 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.ActiveCfg = Debug|x64
  17.104 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.Build.0 = Debug|x64
  17.105 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.ActiveCfg = Release|Win32
  17.106 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.Build.0 = Release|Win32
  17.107 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.ActiveCfg = Release|x64
  17.108 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.Build.0 = Release|x64
  17.109 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.ActiveCfg = Debug|Win32
  17.110 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.Build.0 = Debug|Win32
  17.111 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.ActiveCfg = Debug|x64
  17.112 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.Build.0 = Debug|x64
  17.113 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.ActiveCfg = Release|Win32
  17.114 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.Build.0 = Release|Win32
  17.115 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.ActiveCfg = Release|x64
  17.116 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.Build.0 = Release|x64
  17.117 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.ActiveCfg = Debug|Win32
  17.118 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.Build.0 = Debug|Win32
  17.119 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.ActiveCfg = Debug|x64
  17.120 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.Build.0 = Debug|x64
  17.121 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.ActiveCfg = Release|Win32
  17.122 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.Build.0 = Release|Win32
  17.123 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.ActiveCfg = Release|x64
  17.124 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.Build.0 = Release|x64
  17.125 -		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.ActiveCfg = Debug|Win32
  17.126 -		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.Build.0 = Debug|Win32
  17.127 -		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.ActiveCfg = Debug|x64
  17.128 -		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.Build.0 = Debug|x64
  17.129 -		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.ActiveCfg = Release|Win32
  17.130 -		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.Build.0 = Release|Win32
  17.131 -		{26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.ActiveCfg = Release|x64
  17.132 -		{26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.Build.0 = Release|x64
  17.133 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.ActiveCfg = Debug|Win32
  17.134 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.Build.0 = Debug|Win32
  17.135 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.ActiveCfg = Debug|x64
  17.136 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.Build.0 = Debug|x64
  17.137 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.ActiveCfg = Release|Win32
  17.138 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.Build.0 = Release|Win32
  17.139 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.ActiveCfg = Release|x64
  17.140 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.Build.0 = Release|x64
  17.141 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|Win32.ActiveCfg = Debug|Win32
  17.142 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|Win32.Build.0 = Debug|Win32
  17.143 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|x64.ActiveCfg = Debug|x64
  17.144 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|x64.Build.0 = Debug|x64
  17.145 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|Win32.ActiveCfg = Release|Win32
  17.146 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|Win32.Build.0 = Release|Win32
  17.147 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|x64.ActiveCfg = Release|x64
  17.148 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|x64.Build.0 = Release|x64
  17.149 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.ActiveCfg = Debug|Win32
  17.150 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.Build.0 = Debug|Win32
  17.151 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.ActiveCfg = Debug|x64
  17.152 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.Build.0 = Debug|x64
  17.153 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.ActiveCfg = Release|Win32
  17.154 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.Build.0 = Release|Win32
  17.155 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.ActiveCfg = Release|x64
  17.156 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.Build.0 = Release|x64
  17.157 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.ActiveCfg = Debug|Win32
  17.158 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.Build.0 = Debug|Win32
  17.159 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.ActiveCfg = Debug|x64
  17.160 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.Build.0 = Debug|x64
  17.161 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.ActiveCfg = Release|Win32
  17.162 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.Build.0 = Release|Win32
  17.163 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.ActiveCfg = Release|x64
  17.164 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.Build.0 = Release|x64
  17.165 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.ActiveCfg = Debug|Win32
  17.166 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.Build.0 = Debug|Win32
  17.167 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.ActiveCfg = Debug|x64
  17.168 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.Build.0 = Debug|x64
  17.169 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.ActiveCfg = Release|Win32
  17.170 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.Build.0 = Release|Win32
  17.171 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.ActiveCfg = Release|x64
  17.172 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.Build.0 = Release|x64
  17.173 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|Win32.ActiveCfg = Debug|Win32
  17.174 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|Win32.Build.0 = Debug|Win32
  17.175 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|x64.ActiveCfg = Debug|x64
  17.176 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|x64.Build.0 = Debug|x64
  17.177 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|Win32.ActiveCfg = Release|Win32
  17.178 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|Win32.Build.0 = Release|Win32
  17.179 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|x64.ActiveCfg = Release|x64
  17.180 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|x64.Build.0 = Release|x64
  17.181 -		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug|Win32.ActiveCfg = Debug|Win32
  17.182 -		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug|Win32.Build.0 = Debug|Win32
  17.183 -		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug|x64.ActiveCfg = Debug|Win32
  17.184 -		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release|Win32.ActiveCfg = Release|Win32
  17.185 -		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release|Win32.Build.0 = Release|Win32
  17.186 -		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release|x64.ActiveCfg = Release|Win32
  17.187 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug|Win32.ActiveCfg = Debug|Win32
  17.188 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug|Win32.Build.0 = Debug|Win32
  17.189 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug|x64.ActiveCfg = Debug|x64
  17.190 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug|x64.Build.0 = Debug|x64
  17.191 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release|Win32.ActiveCfg = Release|Win32
  17.192 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release|Win32.Build.0 = Release|Win32
  17.193 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release|x64.ActiveCfg = Release|x64
  17.194 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release|x64.Build.0 = Release|x64
  17.195 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug|Win32.ActiveCfg = Debug|Win32
  17.196 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug|Win32.Build.0 = Debug|Win32
  17.197 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug|x64.ActiveCfg = Debug|x64
  17.198 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug|x64.Build.0 = Debug|x64
  17.199 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release|Win32.ActiveCfg = Release|Win32
  17.200 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release|Win32.Build.0 = Release|Win32
  17.201 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release|x64.ActiveCfg = Release|x64
  17.202 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release|x64.Build.0 = Release|x64
  17.203 -		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug|Win32.ActiveCfg = Debug|Win32
  17.204 -		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug|Win32.Build.0 = Debug|Win32
  17.205 -		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug|x64.ActiveCfg = Debug|x64
  17.206 -		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug|x64.Build.0 = Debug|x64
  17.207 -		{55812185-D13C-4022-9C81-32E0F4A08336}.Release|Win32.ActiveCfg = Release|Win32
  17.208 -		{55812185-D13C-4022-9C81-32E0F4A08336}.Release|Win32.Build.0 = Release|Win32
  17.209 -		{55812185-D13C-4022-9C81-32E0F4A08336}.Release|x64.ActiveCfg = Release|x64
  17.210 -		{55812185-D13C-4022-9C81-32E0F4A08336}.Release|x64.Build.0 = Release|x64
  17.211 -		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug|Win32.ActiveCfg = Debug|Win32
  17.212 -		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug|Win32.Build.0 = Debug|Win32
  17.213 -		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug|x64.ActiveCfg = Debug|x64
  17.214 -		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug|x64.Build.0 = Debug|x64
  17.215 -		{55812185-D13C-4022-9C81-32E0F4A08996}.Release|Win32.ActiveCfg = Release|Win32
  17.216 -		{55812185-D13C-4022-9C81-32E0F4A08996}.Release|Win32.Build.0 = Release|Win32
  17.217 -		{55812185-D13C-4022-9C81-32E0F4A08996}.Release|x64.ActiveCfg = Release|x64
  17.218 -		{55812185-D13C-4022-9C81-32E0F4A08996}.Release|x64.Build.0 = Release|x64
  17.219 -		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug|Win32.ActiveCfg = Debug|Win32
  17.220 -		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug|Win32.Build.0 = Debug|Win32
  17.221 -		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug|x64.ActiveCfg = Debug|x64
  17.222 -		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug|x64.Build.0 = Debug|x64
  17.223 -		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release|Win32.ActiveCfg = Release|Win32
  17.224 -		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release|Win32.Build.0 = Release|Win32
  17.225 -		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release|x64.ActiveCfg = Release|x64
  17.226 -		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release|x64.Build.0 = Release|x64
  17.227 -		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug|Win32.ActiveCfg = Debug|Win32
  17.228 -		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug|Win32.Build.0 = Debug|Win32
  17.229 -		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug|x64.ActiveCfg = Debug|x64
  17.230 -		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug|x64.Build.0 = Debug|x64
  17.231 -		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release|Win32.ActiveCfg = Release|Win32
  17.232 -		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release|Win32.Build.0 = Release|Win32
  17.233 -		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release|x64.ActiveCfg = Release|x64
  17.234 -		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release|x64.Build.0 = Release|x64
  17.235 -	EndGlobalSection
  17.236 -	GlobalSection(SolutionProperties) = preSolution
  17.237 -		HideSolutionNode = FALSE
  17.238 -	EndGlobalSection
  17.239 -	GlobalSection(NestedProjects) = preSolution
  17.240 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.241 -		{26932B24-EFC6-4E3A-B277-ED653DA37968} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.242 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.243 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.244 -		{26828762-C95D-4637-9CB1-7F0979523813} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.245 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.246 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.247 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.248 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.249 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.250 -		{2271060E-98B4-4596-8172-A041E4B2EC7A} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.251 -		{E7A6C41C-E059-4C9C-8CCC-73586A540B62} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.252 -		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.253 -		{55812185-D13C-4022-9C81-32E0F4A08336} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.254 -		{55812185-D13C-4022-9C81-32E0F4A08996} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.255 -		{55812185-D13C-4022-9C81-32E0F4A08BCC} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.256 -		{55812185-D13C-4022-9C81-32E0F4A08AAD} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.257 -	EndGlobalSection
  17.258 -EndGlobal
  17.259 +
  17.260 +Microsoft Visual Studio Solution File, Format Version 11.00
  17.261 +# Visual Studio 2010
  17.262 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "SDL\SDL_VS2010.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
  17.263 +EndProject
  17.264 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "SDLmain\SDLmain_VS2010.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
  17.265 +EndProject
  17.266 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{CE748C1F-3C21-4825-AA6A-F895A023F7E7}"
  17.267 +EndProject
  17.268 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "loopwave", "tests\loopwave\loopwave_VS2010.vcxproj", "{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}"
  17.269 +EndProject
  17.270 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testplatform", "tests\testplatform\testplatform_VS2010.vcxproj", "{26932B24-EFC6-4E3A-B277-ED653DA37968}"
  17.271 +EndProject
  17.272 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfile", "tests\testfile\testfile_VS2010.vcxproj", "{CAE4F1D0-314F-4B10-805B-0EFD670133A0}"
  17.273 +EndProject
  17.274 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgl2", "tests\testgl2\testgl2_VS2010.vcxproj", "{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}"
  17.275 +EndProject
  17.276 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "checkkeys", "tests\checkkeys\checkkeys_VS2010.vcxproj", "{26828762-C95D-4637-9CB1-7F0979523813}"
  17.277 +EndProject
  17.278 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testsprite2", "tests\testsprite2\testsprite2_VS2010.vcxproj", "{40FB7794-D3C3-4CFE-BCF4-A80C96635682}"
  17.279 +EndProject
  17.280 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testshape", "tests\testshape\testshape_VS2010.vcxproj", "{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}"
  17.281 +EndProject
  17.282 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testdraw2", "tests\testdraw2\testdraw2_VS2010.vcxproj", "{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}"
  17.283 +EndProject
  17.284 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testpower", "tests\testpower\testpower_VS2010.vcxproj", "{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}"
  17.285 +EndProject
  17.286 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2test", "SDLtest\SDLtest_VS2010.vcxproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
  17.287 +EndProject
  17.288 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testautomation", "tests\testautomation\testautomation_vs2010.vcxproj", "{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}"
  17.289 +EndProject
  17.290 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testatomic", "tests\testatomic\testatomic_VS2010.vcxproj", "{2271060E-98B4-4596-8172-A041E4B2EC7A}"
  17.291 +EndProject
  17.292 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testscale", "tests\testscale\testscale_VS2010.vcxproj", "{E7A6C41C-E059-4C9C-8CCC-73586A540B62}"
  17.293 +EndProject
  17.294 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testrendertarget", "tests\testrendertarget\testrendertarget_VS2010.vcxproj", "{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}"
  17.295 +EndProject
  17.296 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgamecontroller", "tests\testgamecontroller\testgamecontroller_VS2010.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08336}"
  17.297 +	ProjectSection(ProjectDependencies) = postProject
  17.298 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
  17.299 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
  17.300 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
  17.301 +	EndProjectSection
  17.302 +EndProject
  17.303 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgesture", "tests\testgesture\testgesture_VS2010.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08996}"
  17.304 +	ProjectSection(ProjectDependencies) = postProject
  17.305 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
  17.306 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
  17.307 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
  17.308 +	EndProjectSection
  17.309 +EndProject
  17.310 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testjoystick", "tests\testjoystick\testjoystick_VS2010.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08BCC}"
  17.311 +	ProjectSection(ProjectDependencies) = postProject
  17.312 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
  17.313 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
  17.314 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
  17.315 +	EndProjectSection
  17.316 +EndProject
  17.317 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testoverlay2", "tests\testoverlay2\testoverlay2_VS2010.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08AAD}"
  17.318 +	ProjectSection(ProjectDependencies) = postProject
  17.319 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
  17.320 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
  17.321 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
  17.322 +	EndProjectSection
  17.323 +EndProject
  17.324 +Global
  17.325 +	GlobalSection(SolutionConfigurationPlatforms) = preSolution
  17.326 +		Debug_static|Win32 = Debug_static|Win32
  17.327 +		Debug_static|x64 = Debug_static|x64
  17.328 +		Debug|Win32 = Debug|Win32
  17.329 +		Debug|x64 = Debug|x64
  17.330 +		Release_static|Win32 = Release_static|Win32
  17.331 +		Release_static|x64 = Release_static|x64
  17.332 +		Release|Win32 = Release|Win32
  17.333 +		Release|x64 = Release|x64
  17.334 +	EndGlobalSection
  17.335 +	GlobalSection(ProjectConfigurationPlatforms) = postSolution
  17.336 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_static|Win32.ActiveCfg = Debug_static|Win32
  17.337 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_static|Win32.Build.0 = Debug_static|Win32
  17.338 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_static|x64.ActiveCfg = Debug_static|x64
  17.339 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug_static|x64.Build.0 = Debug_static|x64
  17.340 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.ActiveCfg = Debug|Win32
  17.341 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.Build.0 = Debug|Win32
  17.342 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
  17.343 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
  17.344 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_static|Win32.ActiveCfg = Release_static|Win32
  17.345 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_static|Win32.Build.0 = Release_static|Win32
  17.346 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_static|x64.ActiveCfg = Release|x64
  17.347 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release_static|x64.Build.0 = Release|x64
  17.348 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.ActiveCfg = Release|Win32
  17.349 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.Build.0 = Release|Win32
  17.350 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
  17.351 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
  17.352 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.353 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_static|Win32.Build.0 = Debug|Win32
  17.354 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_static|x64.ActiveCfg = Debug|x64
  17.355 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug_static|x64.Build.0 = Debug|x64
  17.356 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.ActiveCfg = Debug|Win32
  17.357 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.Build.0 = Debug|Win32
  17.358 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
  17.359 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
  17.360 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_static|Win32.ActiveCfg = Release|Win32
  17.361 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_static|Win32.Build.0 = Release|Win32
  17.362 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_static|x64.ActiveCfg = Release|x64
  17.363 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release_static|x64.Build.0 = Release|x64
  17.364 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.ActiveCfg = Release|Win32
  17.365 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.Build.0 = Release|Win32
  17.366 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
  17.367 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.Build.0 = Release|x64
  17.368 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.369 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug_static|Win32.Build.0 = Debug|Win32
  17.370 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug_static|x64.ActiveCfg = Debug|x64
  17.371 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug_static|x64.Build.0 = Debug|x64
  17.372 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.ActiveCfg = Debug|Win32
  17.373 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.Build.0 = Debug|Win32
  17.374 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.ActiveCfg = Debug|x64
  17.375 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.Build.0 = Debug|x64
  17.376 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release_static|Win32.ActiveCfg = Release|Win32
  17.377 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release_static|Win32.Build.0 = Release|Win32
  17.378 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release_static|x64.ActiveCfg = Release|x64
  17.379 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release_static|x64.Build.0 = Release|x64
  17.380 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.ActiveCfg = Release|Win32
  17.381 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.Build.0 = Release|Win32
  17.382 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.ActiveCfg = Release|x64
  17.383 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.Build.0 = Release|x64
  17.384 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.385 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug_static|Win32.Build.0 = Debug|Win32
  17.386 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug_static|x64.ActiveCfg = Debug|x64
  17.387 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug_static|x64.Build.0 = Debug|x64
  17.388 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.ActiveCfg = Debug|Win32
  17.389 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.Build.0 = Debug|Win32
  17.390 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.ActiveCfg = Debug|x64
  17.391 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.Build.0 = Debug|x64
  17.392 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release_static|Win32.ActiveCfg = Release|Win32
  17.393 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release_static|Win32.Build.0 = Release|Win32
  17.394 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release_static|x64.ActiveCfg = Release|x64
  17.395 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release_static|x64.Build.0 = Release|x64
  17.396 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.ActiveCfg = Release|Win32
  17.397 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.Build.0 = Release|Win32
  17.398 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.ActiveCfg = Release|x64
  17.399 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.Build.0 = Release|x64
  17.400 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.401 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug_static|Win32.Build.0 = Debug|Win32
  17.402 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug_static|x64.ActiveCfg = Debug|x64
  17.403 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug_static|x64.Build.0 = Debug|x64
  17.404 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.ActiveCfg = Debug|Win32
  17.405 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.Build.0 = Debug|Win32
  17.406 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.ActiveCfg = Debug|x64
  17.407 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.Build.0 = Debug|x64
  17.408 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release_static|Win32.ActiveCfg = Release|Win32
  17.409 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release_static|Win32.Build.0 = Release|Win32
  17.410 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release_static|x64.ActiveCfg = Release|x64
  17.411 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release_static|x64.Build.0 = Release|x64
  17.412 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.ActiveCfg = Release|Win32
  17.413 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.Build.0 = Release|Win32
  17.414 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.ActiveCfg = Release|x64
  17.415 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.Build.0 = Release|x64
  17.416 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.417 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug_static|Win32.Build.0 = Debug|Win32
  17.418 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug_static|x64.ActiveCfg = Debug|x64
  17.419 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug_static|x64.Build.0 = Debug|x64
  17.420 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.ActiveCfg = Debug|Win32
  17.421 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.Build.0 = Debug|Win32
  17.422 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.ActiveCfg = Debug|x64
  17.423 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.Build.0 = Debug|x64
  17.424 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release_static|Win32.ActiveCfg = Release|Win32
  17.425 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release_static|Win32.Build.0 = Release|Win32
  17.426 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release_static|x64.ActiveCfg = Release|x64
  17.427 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release_static|x64.Build.0 = Release|x64
  17.428 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.ActiveCfg = Release|Win32
  17.429 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.Build.0 = Release|Win32
  17.430 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.ActiveCfg = Release|x64
  17.431 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.Build.0 = Release|x64
  17.432 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.433 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug_static|Win32.Build.0 = Debug|Win32
  17.434 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug_static|x64.ActiveCfg = Debug|x64
  17.435 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug_static|x64.Build.0 = Debug|x64
  17.436 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.ActiveCfg = Debug|Win32
  17.437 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.Build.0 = Debug|Win32
  17.438 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.ActiveCfg = Debug|x64
  17.439 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.Build.0 = Debug|x64
  17.440 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release_static|Win32.ActiveCfg = Release|Win32
  17.441 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release_static|Win32.Build.0 = Release|Win32
  17.442 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release_static|x64.ActiveCfg = Release|x64
  17.443 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release_static|x64.Build.0 = Release|x64
  17.444 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.ActiveCfg = Release|Win32
  17.445 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.Build.0 = Release|Win32
  17.446 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.ActiveCfg = Release|x64
  17.447 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.Build.0 = Release|x64
  17.448 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.449 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug_static|Win32.Build.0 = Debug|Win32
  17.450 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug_static|x64.ActiveCfg = Debug|x64
  17.451 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug_static|x64.Build.0 = Debug|x64
  17.452 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.ActiveCfg = Debug|Win32
  17.453 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.Build.0 = Debug|Win32
  17.454 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.ActiveCfg = Debug|x64
  17.455 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.Build.0 = Debug|x64
  17.456 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release_static|Win32.ActiveCfg = Release|Win32
  17.457 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release_static|Win32.Build.0 = Release|Win32
  17.458 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release_static|x64.ActiveCfg = Release|x64
  17.459 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release_static|x64.Build.0 = Release|x64
  17.460 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.ActiveCfg = Release|Win32
  17.461 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.Build.0 = Release|Win32
  17.462 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.ActiveCfg = Release|x64
  17.463 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.Build.0 = Release|x64
  17.464 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.465 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug_static|Win32.Build.0 = Debug|Win32
  17.466 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug_static|x64.ActiveCfg = Debug|x64
  17.467 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug_static|x64.Build.0 = Debug|x64
  17.468 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|Win32.ActiveCfg = Debug|Win32
  17.469 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|Win32.Build.0 = Debug|Win32
  17.470 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|x64.ActiveCfg = Debug|x64
  17.471 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|x64.Build.0 = Debug|x64
  17.472 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release_static|Win32.ActiveCfg = Release|Win32
  17.473 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release_static|Win32.Build.0 = Release|Win32
  17.474 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release_static|x64.ActiveCfg = Release|x64
  17.475 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release_static|x64.Build.0 = Release|x64
  17.476 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|Win32.ActiveCfg = Release|Win32
  17.477 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|Win32.Build.0 = Release|Win32
  17.478 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|x64.ActiveCfg = Release|x64
  17.479 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|x64.Build.0 = Release|x64
  17.480 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.481 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug_static|Win32.Build.0 = Debug|Win32
  17.482 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug_static|x64.ActiveCfg = Debug|x64
  17.483 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug_static|x64.Build.0 = Debug|x64
  17.484 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.ActiveCfg = Debug|Win32
  17.485 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.Build.0 = Debug|Win32
  17.486 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.ActiveCfg = Debug|x64
  17.487 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.Build.0 = Debug|x64
  17.488 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release_static|Win32.ActiveCfg = Release|Win32
  17.489 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release_static|Win32.Build.0 = Release|Win32
  17.490 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release_static|x64.ActiveCfg = Release|x64
  17.491 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release_static|x64.Build.0 = Release|x64
  17.492 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.ActiveCfg = Release|Win32
  17.493 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.Build.0 = Release|Win32
  17.494 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.ActiveCfg = Release|x64
  17.495 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.Build.0 = Release|x64
  17.496 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.497 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug_static|Win32.Build.0 = Debug|Win32
  17.498 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug_static|x64.ActiveCfg = Debug|x64
  17.499 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug_static|x64.Build.0 = Debug|x64
  17.500 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.ActiveCfg = Debug|Win32
  17.501 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.Build.0 = Debug|Win32
  17.502 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.ActiveCfg = Debug|x64
  17.503 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.Build.0 = Debug|x64
  17.504 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release_static|Win32.ActiveCfg = Release|Win32
  17.505 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release_static|Win32.Build.0 = Release|Win32
  17.506 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release_static|x64.ActiveCfg = Release|x64
  17.507 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release_static|x64.Build.0 = Release|x64
  17.508 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.ActiveCfg = Release|Win32
  17.509 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.Build.0 = Release|Win32
  17.510 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.ActiveCfg = Release|x64
  17.511 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.Build.0 = Release|x64
  17.512 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.513 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug_static|Win32.Build.0 = Debug|Win32
  17.514 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug_static|x64.ActiveCfg = Debug|x64
  17.515 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug_static|x64.Build.0 = Debug|x64
  17.516 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.ActiveCfg = Debug|Win32
  17.517 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.Build.0 = Debug|Win32
  17.518 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.ActiveCfg = Debug|x64
  17.519 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.Build.0 = Debug|x64
  17.520 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release_static|Win32.ActiveCfg = Release|Win32
  17.521 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release_static|Win32.Build.0 = Release|Win32
  17.522 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release_static|x64.ActiveCfg = Release|x64
  17.523 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release_static|x64.Build.0 = Release|x64
  17.524 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.ActiveCfg = Release|Win32
  17.525 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.Build.0 = Release|Win32
  17.526 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.ActiveCfg = Release|x64
  17.527 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.Build.0 = Release|x64
  17.528 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.529 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug_static|Win32.Build.0 = Debug|Win32
  17.530 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug_static|x64.ActiveCfg = Debug|x64
  17.531 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug_static|x64.Build.0 = Debug|x64
  17.532 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|Win32.ActiveCfg = Debug|Win32
  17.533 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|Win32.Build.0 = Debug|Win32
  17.534 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|x64.ActiveCfg = Debug|x64
  17.535 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|x64.Build.0 = Debug|x64
  17.536 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release_static|Win32.ActiveCfg = Release|Win32
  17.537 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release_static|Win32.Build.0 = Release|Win32
  17.538 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release_static|x64.ActiveCfg = Release|x64
  17.539 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release_static|x64.Build.0 = Release|x64
  17.540 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|Win32.ActiveCfg = Release|Win32
  17.541 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|Win32.Build.0 = Release|Win32
  17.542 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|x64.ActiveCfg = Release|x64
  17.543 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|x64.Build.0 = Release|x64
  17.544 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.545 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug_static|Win32.Build.0 = Debug|Win32
  17.546 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug_static|x64.ActiveCfg = Debug|Win32
  17.547 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug|Win32.ActiveCfg = Debug|Win32
  17.548 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug|Win32.Build.0 = Debug|Win32
  17.549 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Debug|x64.ActiveCfg = Debug|Win32
  17.550 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release_static|Win32.ActiveCfg = Release|Win32
  17.551 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release_static|Win32.Build.0 = Release|Win32
  17.552 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release_static|x64.ActiveCfg = Release|Win32
  17.553 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release|Win32.ActiveCfg = Release|Win32
  17.554 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release|Win32.Build.0 = Release|Win32
  17.555 +		{2271060E-98B4-4596-8172-A041E4B2EC7A}.Release|x64.ActiveCfg = Release|Win32
  17.556 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.557 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug_static|Win32.Build.0 = Debug|Win32
  17.558 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug_static|x64.ActiveCfg = Debug|x64
  17.559 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug_static|x64.Build.0 = Debug|x64
  17.560 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug|Win32.ActiveCfg = Debug|Win32
  17.561 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug|Win32.Build.0 = Debug|Win32
  17.562 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug|x64.ActiveCfg = Debug|x64
  17.563 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Debug|x64.Build.0 = Debug|x64
  17.564 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release_static|Win32.ActiveCfg = Release|Win32
  17.565 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release_static|Win32.Build.0 = Release|Win32
  17.566 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release_static|x64.ActiveCfg = Release|x64
  17.567 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release_static|x64.Build.0 = Release|x64
  17.568 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release|Win32.ActiveCfg = Release|Win32
  17.569 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release|Win32.Build.0 = Release|Win32
  17.570 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release|x64.ActiveCfg = Release|x64
  17.571 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62}.Release|x64.Build.0 = Release|x64
  17.572 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.573 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug_static|Win32.Build.0 = Debug|Win32
  17.574 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug_static|x64.ActiveCfg = Debug|x64
  17.575 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug_static|x64.Build.0 = Debug|x64
  17.576 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug|Win32.ActiveCfg = Debug|Win32
  17.577 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug|Win32.Build.0 = Debug|Win32
  17.578 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug|x64.ActiveCfg = Debug|x64
  17.579 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Debug|x64.Build.0 = Debug|x64
  17.580 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release_static|Win32.ActiveCfg = Release|Win32
  17.581 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release_static|Win32.Build.0 = Release|Win32
  17.582 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release_static|x64.ActiveCfg = Release|x64
  17.583 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release_static|x64.Build.0 = Release|x64
  17.584 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release|Win32.ActiveCfg = Release|Win32
  17.585 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release|Win32.Build.0 = Release|Win32
  17.586 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release|x64.ActiveCfg = Release|x64
  17.587 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8}.Release|x64.Build.0 = Release|x64
  17.588 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.589 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug_static|Win32.Build.0 = Debug|Win32
  17.590 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug_static|x64.ActiveCfg = Debug|x64
  17.591 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug_static|x64.Build.0 = Debug|x64
  17.592 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug|Win32.ActiveCfg = Debug|Win32
  17.593 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug|Win32.Build.0 = Debug|Win32
  17.594 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug|x64.ActiveCfg = Debug|x64
  17.595 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Debug|x64.Build.0 = Debug|x64
  17.596 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Release_static|Win32.ActiveCfg = Release|Win32
  17.597 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Release_static|Win32.Build.0 = Release|Win32
  17.598 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Release_static|x64.ActiveCfg = Release|x64
  17.599 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Release_static|x64.Build.0 = Release|x64
  17.600 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Release|Win32.ActiveCfg = Release|Win32
  17.601 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Release|Win32.Build.0 = Release|Win32
  17.602 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Release|x64.ActiveCfg = Release|x64
  17.603 +		{55812185-D13C-4022-9C81-32E0F4A08336}.Release|x64.Build.0 = Release|x64
  17.604 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.605 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug_static|Win32.Build.0 = Debug|Win32
  17.606 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug_static|x64.ActiveCfg = Debug|x64
  17.607 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug_static|x64.Build.0 = Debug|x64
  17.608 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug|Win32.ActiveCfg = Debug|Win32
  17.609 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug|Win32.Build.0 = Debug|Win32
  17.610 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug|x64.ActiveCfg = Debug|x64
  17.611 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Debug|x64.Build.0 = Debug|x64
  17.612 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Release_static|Win32.ActiveCfg = Release|Win32
  17.613 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Release_static|Win32.Build.0 = Release|Win32
  17.614 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Release_static|x64.ActiveCfg = Release|x64
  17.615 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Release_static|x64.Build.0 = Release|x64
  17.616 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Release|Win32.ActiveCfg = Release|Win32
  17.617 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Release|Win32.Build.0 = Release|Win32
  17.618 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Release|x64.ActiveCfg = Release|x64
  17.619 +		{55812185-D13C-4022-9C81-32E0F4A08996}.Release|x64.Build.0 = Release|x64
  17.620 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.621 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug_static|Win32.Build.0 = Debug|Win32
  17.622 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug_static|x64.ActiveCfg = Debug|x64
  17.623 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug_static|x64.Build.0 = Debug|x64
  17.624 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug|Win32.ActiveCfg = Debug|Win32
  17.625 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug|Win32.Build.0 = Debug|Win32
  17.626 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug|x64.ActiveCfg = Debug|x64
  17.627 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Debug|x64.Build.0 = Debug|x64
  17.628 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release_static|Win32.ActiveCfg = Release|Win32
  17.629 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release_static|Win32.Build.0 = Release|Win32
  17.630 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release_static|x64.ActiveCfg = Release|x64
  17.631 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release_static|x64.Build.0 = Release|x64
  17.632 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release|Win32.ActiveCfg = Release|Win32
  17.633 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release|Win32.Build.0 = Release|Win32
  17.634 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release|x64.ActiveCfg = Release|x64
  17.635 +		{55812185-D13C-4022-9C81-32E0F4A08BCC}.Release|x64.Build.0 = Release|x64
  17.636 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug_static|Win32.ActiveCfg = Debug|Win32
  17.637 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug_static|Win32.Build.0 = Debug|Win32
  17.638 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug_static|x64.ActiveCfg = Debug|x64
  17.639 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug_static|x64.Build.0 = Debug|x64
  17.640 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug|Win32.ActiveCfg = Debug|Win32
  17.641 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug|Win32.Build.0 = Debug|Win32
  17.642 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug|x64.ActiveCfg = Debug|x64
  17.643 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Debug|x64.Build.0 = Debug|x64
  17.644 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release_static|Win32.ActiveCfg = Release|Win32
  17.645 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release_static|Win32.Build.0 = Release|Win32
  17.646 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release_static|x64.ActiveCfg = Release|x64
  17.647 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release_static|x64.Build.0 = Release|x64
  17.648 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release|Win32.ActiveCfg = Release|Win32
  17.649 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release|Win32.Build.0 = Release|Win32
  17.650 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release|x64.ActiveCfg = Release|x64
  17.651 +		{55812185-D13C-4022-9C81-32E0F4A08AAD}.Release|x64.Build.0 = Release|x64
  17.652 +	EndGlobalSection
  17.653 +	GlobalSection(SolutionProperties) = preSolution
  17.654 +		HideSolutionNode = FALSE
  17.655 +	EndGlobalSection
  17.656 +	GlobalSection(NestedProjects) = preSolution
  17.657 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.658 +		{26932B24-EFC6-4E3A-B277-ED653DA37968} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.659 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.660 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.661 +		{26828762-C95D-4637-9CB1-7F0979523813} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.662 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.663 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.664 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.665 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.666 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.667 +		{2271060E-98B4-4596-8172-A041E4B2EC7A} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.668 +		{E7A6C41C-E059-4C9C-8CCC-73586A540B62} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.669 +		{43A06713-A52D-4008-AD7E-A69DF3FCFFA8} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.670 +		{55812185-D13C-4022-9C81-32E0F4A08336} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.671 +		{55812185-D13C-4022-9C81-32E0F4A08996} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.672 +		{55812185-D13C-4022-9C81-32E0F4A08BCC} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.673 +		{55812185-D13C-4022-9C81-32E0F4A08AAD} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  17.674 +	EndGlobalSection
  17.675 +EndGlobal
    18.1 --- a/VisualC/tests/loopwave/loopwave_VS2010.vcxproj	Sun Oct 27 14:31:57 2013 -0400
    18.2 +++ b/VisualC/tests/loopwave/loopwave_VS2010.vcxproj	Sun Oct 27 21:26:46 2013 -0400
    18.3 @@ -1,4 +1,4 @@
    18.4 -<?xml version="1.0" encoding="utf-8"?>
    18.5 +<?xml version="1.0" encoding="utf-8"?>
    18.6  <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    18.7    <ItemGroup Label="ProjectConfigurations">
    18.8      <ProjectConfiguration Include="Debug|Win32">
    18.9 @@ -105,7 +105,8 @@
   18.10        <SubSystem>Windows</SubSystem>
   18.11      </Link>
   18.12      <PostBuildEvent>
   18.13 -      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"</Command>
   18.14 +      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"
   18.15 +copy "$(SolutionDir)\..\test\sample.wav" "$(TargetDir)\sample.wav"</Command>
   18.16      </PostBuildEvent>
   18.17      <PostBuildEvent>
   18.18        <Message>Copy SDL</Message>
   18.19 @@ -139,7 +140,8 @@
   18.20        <SubSystem>Windows</SubSystem>
   18.21      </Link>
   18.22      <PostBuildEvent>
   18.23 -      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"</Command>
   18.24 +      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"
   18.25 +copy "$(SolutionDir)\..\test\sample.wav" "$(TargetDir)\sample.wav"</Command>
   18.26      </PostBuildEvent>
   18.27      <PostBuildEvent>
   18.28        <Message>Copy SDL</Message>
   18.29 @@ -174,7 +176,8 @@
   18.30        <SubSystem>Windows</SubSystem>
   18.31      </Link>
   18.32      <PostBuildEvent>
   18.33 -      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"</Command>
   18.34 +      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"
   18.35 +copy "$(SolutionDir)\..\test\sample.wav" "$(TargetDir)\sample.wav"</Command>
   18.36      </PostBuildEvent>
   18.37      <PostBuildEvent>
   18.38        <Message>Copy SDL</Message>
   18.39 @@ -208,7 +211,8 @@
   18.40        <SubSystem>Windows</SubSystem>
   18.41      </Link>
   18.42      <PostBuildEvent>
   18.43 -      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"</Command>
   18.44 +      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"
   18.45 +copy "$(SolutionDir)\..\test\sample.wav" "$(TargetDir)\sample.wav"</Command>
   18.46      </PostBuildEvent>
   18.47      <PostBuildEvent>
   18.48        <Message>Copy SDL</Message>
    19.1 --- a/VisualC/tests/loopwave/loopwave_VS2012.vcxproj	Sun Oct 27 14:31:57 2013 -0400
    19.2 +++ b/VisualC/tests/loopwave/loopwave_VS2012.vcxproj	Sun Oct 27 21:26:46 2013 -0400
    19.3 @@ -109,7 +109,8 @@
    19.4        <SubSystem>Windows</SubSystem>
    19.5      </Link>
    19.6      <PostBuildEvent>
    19.7 -      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"</Command>
    19.8 +      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"
    19.9 +copy "$(SolutionDir)\..\test\sample.wav" "$(TargetDir)\sample.wav"</Command>
   19.10      </PostBuildEvent>
   19.11      <PostBuildEvent>
   19.12        <Message>Copy SDL</Message>
   19.13 @@ -143,7 +144,8 @@
   19.14        <SubSystem>Windows</SubSystem>
   19.15      </Link>
   19.16      <PostBuildEvent>
   19.17 -      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"</Command>
   19.18 +      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"
   19.19 +copy "$(SolutionDir)\..\test\sample.wav" "$(TargetDir)\sample.wav"</Command>
   19.20      </PostBuildEvent>
   19.21      <PostBuildEvent>
   19.22        <Message>Copy SDL</Message>
   19.23 @@ -178,7 +180,8 @@
   19.24        <SubSystem>Windows</SubSystem>
   19.25      </Link>
   19.26      <PostBuildEvent>
   19.27 -      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"</Command>
   19.28 +      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"
   19.29 +copy "$(SolutionDir)\..\test\sample.wav" "$(TargetDir)\sample.wav"</Command>
   19.30      </PostBuildEvent>
   19.31      <PostBuildEvent>
   19.32        <Message>Copy SDL</Message>
   19.33 @@ -212,7 +215,8 @@
   19.34        <SubSystem>Windows</SubSystem>
   19.35      </Link>
   19.36      <PostBuildEvent>
   19.37 -      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"</Command>
   19.38 +      <Command>copy "$(SolutionDir)\SDL\$(Platform)\$(Configuration)\SDL2.dll" "$(TargetDir)\SDL2.dll"
   19.39 +copy "$(SolutionDir)\..\test\sample.wav" "$(TargetDir)\sample.wav"</Command>
   19.40      </PostBuildEvent>
   19.41      <PostBuildEvent>
   19.42        <Message>Copy SDL</Message>
    20.1 --- a/WhatsNew.txt	Sun Oct 27 14:31:57 2013 -0400
    20.2 +++ b/WhatsNew.txt	Sun Oct 27 21:26:46 2013 -0400
    20.3 @@ -1,3 +1,57 @@
    20.4  
    20.5 -This is a list of API changes in SDL's version history.
    20.6 +This is a list of major changes in SDL's version history.
    20.7  
    20.8 +---------------------------------------------------------------------------
    20.9 +2.0.1:
   20.10 +---------------------------------------------------------------------------
   20.11 +
   20.12 +General:
   20.13 +* Added an API to get common filesystem paths in SDL_filesystem.h:
   20.14 +    SDL_GetBasePath(), SDL_GetPrefPath()
   20.15 +* Added an API to do optimized YV12 and IYUV texture updates:
   20.16 +    SDL_UpdateYUVTexture()
   20.17 +* Added an API to get the amount of RAM on the system:
   20.18 +    SDL_GetSystemRAM()
   20.19 +* Added a macro to perform timestamp comparisons with SDL_GetTicks():
   20.20 +    SDL_TICKS_PASSED()
   20.21 +* Dramatically improved OpenGL ES 2.0 rendering performance
   20.22 +* Added OpenGL attribute SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
   20.23 +
   20.24 +Windows:
   20.25 +* Created a static library configuration for the Visual Studio 2010 project
   20.26 +* Added a hint to create the Direct3D device with support for multi-threading:
   20.27 +    SDL_HINT_RENDER_DIRECT3D_THREADSAFE
   20.28 +* Added a function to get the D3D9 adapter index for a display:
   20.29 +    SDL_Direct3D9GetAdapterIndex()
   20.30 +* Added a function to get the D3D9 device for a D3D9 renderer:
   20.31 +    SDL_RenderGetD3D9Device()
   20.32 +* Fixed building SDL with the mingw32 toolchain (mingw-w64 is preferred)
   20.33 +* Fixed crash when using two XInput controllers at the same time
   20.34 +* Fixed detecting a mixture of XInput and DirectInput controllers
   20.35 +* Fixed clearing a D3D render target larger than the window
   20.36 +* Improved support for format specifiers in SDL_snprintf()
   20.37 +
   20.38 +Mac OS X:
   20.39 +* Added support for retina displays:
   20.40 +  Create your window with the SDL_WINDOW_ALLOW_HIGHDPI flag, and then use SDL_GL_GetDrawableSize() to find the actual drawable size. You are responsible for scaling mouse and drawing coordinates appropriately.
   20.41 +* Fixed mouse warping in fullscreen mode
   20.42 +* Right mouse click is emulated by holding the Ctrl key while left clicking
   20.43 +
   20.44 +Linux:
   20.45 +* Fixed float audio support with the PulseAudio driver
   20.46 +* Fixed missing line endpoints in the OpenGL renderer on some drivers
   20.47 +* X11 symbols are no longer defined to avoid collisions when linking statically
   20.48 +
   20.49 +iOS:
   20.50 +* Fixed status bar visibility on iOS 7
   20.51 +* Flipped the accelerometer Y axis to match expected values
   20.52 +
   20.53 +Android:
   20.54 +IMPORTANT: You MUST get the updated SDLActivity.java to match C code
   20.55 +* Moved EGL initialization to native code 
   20.56 +* Fixed the accelerometer axis rotation relative to the device rotation
   20.57 +* Fixed race conditions when handling the EGL context on pause/resume
   20.58 +* Touch devices are available for enumeration immediately after init
   20.59 +
   20.60 +Raspberry Pi:
   20.61 +* Added support for the Raspberry Pi, see README-raspberrypi.txt for details
    21.1 --- a/Xcode-iOS/Demos/src/accelerometer.c	Sun Oct 27 14:31:57 2013 -0400
    21.2 +++ b/Xcode-iOS/Demos/src/accelerometer.c	Sun Oct 27 21:26:46 2013 -0400
    21.3 @@ -31,19 +31,19 @@
    21.4  static SDL_Texture *space = 0;       /* texture for space (background */
    21.5  
    21.6  void
    21.7 -render(SDL_Renderer *renderer)
    21.8 +render(SDL_Renderer *renderer, int w, int h)
    21.9  {
   21.10  
   21.11  
   21.12      /* get joystick (accelerometer) axis values and normalize them */
   21.13      float ax = SDL_JoystickGetAxis(accelerometer, 0);
   21.14 -    float ay = -SDL_JoystickGetAxis(accelerometer, 1);
   21.15 +    float ay = SDL_JoystickGetAxis(accelerometer, 1);
   21.16  
   21.17      /* ship screen constraints */
   21.18      Uint32 minx = 0.0f;
   21.19 -    Uint32 maxx = SCREEN_WIDTH - shipData.rect.w;
   21.20 +    Uint32 maxx = w - shipData.rect.w;
   21.21      Uint32 miny = 0.0f;
   21.22 -    Uint32 maxy = SCREEN_HEIGHT - shipData.rect.h;
   21.23 +    Uint32 maxy = h - shipData.rect.h;
   21.24  
   21.25  #define SINT16_MAX ((float)(0x7FFF))
   21.26  
   21.27 @@ -162,8 +162,9 @@
   21.28      SDL_Renderer *renderer;
   21.29      Uint32 startFrame;          /* time frame began to process */
   21.30      Uint32 endFrame;            /* time frame ended processing */
   21.31 -    Uint32 delay;               /* time to pause waiting to draw next frame */
   21.32 +    Sint32 delay;               /* time to pause waiting to draw next frame */
   21.33      int done;                   /* should we clean up and exit? */
   21.34 +    int w, h;
   21.35  
   21.36      /* initialize SDL */
   21.37      if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK) < 0) {
   21.38 @@ -173,8 +174,10 @@
   21.39      /* create main window and renderer */
   21.40      window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
   21.41                                  SDL_WINDOW_OPENGL |
   21.42 -                                SDL_WINDOW_BORDERLESS);
   21.43 +                                SDL_WINDOW_FULLSCREEN);
   21.44      renderer = SDL_CreateRenderer(window, 0, 0);
   21.45 +    
   21.46 +    SDL_GetWindowSize(window, &w, &h);
   21.47  
   21.48      /* print out some info about joysticks and try to open accelerometer for use */
   21.49      printf("There are %d joysticks available\n", SDL_NumJoysticks());
   21.50 @@ -196,8 +199,8 @@
   21.51      initializeTextures(renderer);
   21.52  
   21.53      /* setup ship */
   21.54 -    shipData.x = (SCREEN_WIDTH - shipData.rect.w) / 2;
   21.55 -    shipData.y = (SCREEN_HEIGHT - shipData.rect.h) / 2;
   21.56 +    shipData.x = (w - shipData.rect.w) / 2;
   21.57 +    shipData.y = (h - shipData.rect.h) / 2;
   21.58      shipData.vx = 0.0f;
   21.59      shipData.vy = 0.0f;
   21.60  
   21.61 @@ -211,7 +214,7 @@
   21.62                  done = 1;
   21.63              }
   21.64          }
   21.65 -        render(renderer);
   21.66 +        render(renderer, w, h);
   21.67          endFrame = SDL_GetTicks();
   21.68  
   21.69          /* figure out how much time we have left, and then sleep */
    22.1 --- a/Xcode-iOS/Demos/src/fireworks.c	Sun Oct 27 14:31:57 2013 -0400
    22.2 +++ b/Xcode-iOS/Demos/src/fireworks.c	Sun Oct 27 21:26:46 2013 -0400
    22.3 @@ -196,7 +196,7 @@
    22.4          float speed = randomFloat(0.00, powf(0.17, exponent));
    22.5          speed = powf(speed, 1.0f / exponent);
    22.6  
    22.7 -        /*select the particle at the end of our array */
    22.8 +        /* select the particle at the end of our array */
    22.9          struct particle *p = &particles[num_active_particles];
   22.10  
   22.11          /* set the particles properties */
    23.1 --- a/Xcode-iOS/Demos/src/keyboard.c	Sun Oct 27 14:31:57 2013 -0400
    23.2 +++ b/Xcode-iOS/Demos/src/keyboard.c	Sun Oct 27 21:26:46 2013 -0400
    23.3 @@ -80,7 +80,7 @@
    23.4      {SDL_SCANCODE_7, 1, 0, 23}, /* 7 */
    23.5      {SDL_SCANCODE_8, 1, 0, 24}, /* 8 */
    23.6      {SDL_SCANCODE_9, 1, 0, 25}, /* 9 */
    23.7 -    {SDL_SCANCODE_SPACE, 1, 0, 0},      /*' ' */
    23.8 +    {SDL_SCANCODE_SPACE, 1, 0, 0},      /* ' ' */
    23.9      {SDL_SCANCODE_1, 0, KMOD_SHIFT, 1}, /* ! */
   23.10      {SDL_SCANCODE_SLASH, 0, KMOD_SHIFT, 31},    /* ? */
   23.11      {SDL_SCANCODE_SLASH, 1, 0, 15},     /* / */
    24.1 --- a/Xcode-iOS/Demos/src/rectangles.c	Sun Oct 27 14:31:57 2013 -0400
    24.2 +++ b/Xcode-iOS/Demos/src/rectangles.c	Sun Oct 27 21:26:46 2013 -0400
    24.3 @@ -37,7 +37,7 @@
    24.4  int
    24.5  main(int argc, char *argv[])
    24.6  {
    24.7 -    if (SDL_Init(SDL_INIT_VIDEO/* | SDL_INIT_AUDIO*/) < 0)
    24.8 +    if (SDL_Init(SDL_INIT_VIDEO/* | SDL_INIT_AUDIO */) < 0)
    24.9      {
   24.10          printf("Unable to initialize SDL");
   24.11      }
    25.1 --- a/Xcode-iOS/Demos/src/touch.c	Sun Oct 27 14:31:57 2013 -0400
    25.2 +++ b/Xcode-iOS/Demos/src/touch.c	Sun Oct 27 21:26:46 2013 -0400
    25.3 @@ -92,7 +92,7 @@
    25.4                                  SDL_WINDOW_BORDERLESS);
    25.5      renderer = SDL_CreateRenderer(window, 0, 0);
    25.6  
    25.7 -    /*load brush texture */
    25.8 +    /* load brush texture */
    25.9      initializeTexture(renderer);
   25.10  
   25.11      /* fill canvass initially with all black */
    26.1 --- a/Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj	Sun Oct 27 14:31:57 2013 -0400
    26.2 +++ b/Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj	Sun Oct 27 21:26:46 2013 -0400
    26.3 @@ -67,6 +67,8 @@
    26.4  		04F7808512FB753F00FC43C0 /* SDL_nullframebuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7808312FB753F00FC43C0 /* SDL_nullframebuffer.c */; };
    26.5  		04FFAB8B12E23B8D00BA343D /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04FFAB8912E23B8D00BA343D /* SDL_atomic.c */; };
    26.6  		04FFAB8C12E23B8D00BA343D /* SDL_spinlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 04FFAB8A12E23B8D00BA343D /* SDL_spinlock.c */; };
    26.7 +		56C181DF17C44D5E00406AE3 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 56C181DE17C44D5E00406AE3 /* SDL_filesystem.h */; };
    26.8 +		56C181E217C44D7A00406AE3 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */; };
    26.9  		56EA86FB13E9EC2B002E47EB /* SDL_coreaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 56EA86F913E9EC2B002E47EB /* SDL_coreaudio.c */; };
   26.10  		56EA86FC13E9EC2B002E47EB /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */; };
   26.11  		56ED04E1118A8EE200A56AA6 /* SDL_power.c in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E0118A8EE200A56AA6 /* SDL_power.c */; };
   26.12 @@ -258,6 +260,8 @@
   26.13  		04F7808312FB753F00FC43C0 /* SDL_nullframebuffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_nullframebuffer.c; sourceTree = "<group>"; };
   26.14  		04FFAB8912E23B8D00BA343D /* SDL_atomic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_atomic.c; sourceTree = "<group>"; };
   26.15  		04FFAB8A12E23B8D00BA343D /* SDL_spinlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_spinlock.c; sourceTree = "<group>"; };
   26.16 +		56C181DE17C44D5E00406AE3 /* SDL_filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_filesystem.h; sourceTree = "<group>"; };
   26.17 +		56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_sysfilesystem.m; path = ../../src/filesystem/cocoa/SDL_sysfilesystem.m; sourceTree = "<group>"; };
   26.18  		56EA86F913E9EC2B002E47EB /* SDL_coreaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_coreaudio.c; path = coreaudio/SDL_coreaudio.c; sourceTree = "<group>"; };
   26.19  		56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_coreaudio.h; path = coreaudio/SDL_coreaudio.h; sourceTree = "<group>"; };
   26.20  		56ED04E0118A8EE200A56AA6 /* SDL_power.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_power.c; path = ../../src/power/SDL_power.c; sourceTree = SOURCE_ROOT; };
   26.21 @@ -549,6 +553,14 @@
   26.22  			sourceTree = "<group>";
   26.23  			usesTabs = 0;
   26.24  		};
   26.25 +		56C181E017C44D6900406AE3 /* filesystem */ = {
   26.26 +			isa = PBXGroup;
   26.27 +			children = (
   26.28 +				56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */,
   26.29 +			);
   26.30 +			name = filesystem;
   26.31 +			sourceTree = "<group>";
   26.32 +		};
   26.33  		56EA86F813E9EBF9002E47EB /* coreaudio */ = {
   26.34  			isa = PBXGroup;
   26.35  			children = (
   26.36 @@ -677,6 +689,7 @@
   26.37  				AA7558701595D55500BBD41B /* SDL_endian.h */,
   26.38  				AA7558711595D55500BBD41B /* SDL_error.h */,
   26.39  				AA7558721595D55500BBD41B /* SDL_events.h */,
   26.40 +				56C181DE17C44D5E00406AE3 /* SDL_filesystem.h */,
   26.41  				AA0AD06416647BD400CE5896 /* SDL_gamecontroller.h */,
   26.42  				AA7558731595D55500BBD41B /* SDL_gesture.h */,
   26.43  				AA7558741595D55500BBD41B /* SDL_haptic.h */,
   26.44 @@ -727,6 +740,7 @@
   26.45  				FD99B98A0DD52EDC00FB1D6B /* cpuinfo */,
   26.46  				FD99B98C0DD52EDC00FB1D6B /* events */,
   26.47  				FD99B99D0DD52EDC00FB1D6B /* file */,
   26.48 +				56C181E017C44D6900406AE3 /* filesystem */,
   26.49  				047677B60EA769DF008ABAF1 /* haptic */,
   26.50  				FD5F9D080E0E08B3008E885B /* joystick */,
   26.51  				FD8BD8150E27E25900B52CD5 /* loadso */,
   26.52 @@ -1019,6 +1033,7 @@
   26.53  				AABCC3941640643D00AB8930 /* SDL_uikitmessagebox.h in Headers */,
   26.54  				AA0AD06516647BD400CE5896 /* SDL_gamecontroller.h in Headers */,
   26.55  				AADA5B8F16CCAB7C00107CF7 /* SDL_bits.h in Headers */,
   26.56 +				56C181DF17C44D5E00406AE3 /* SDL_filesystem.h in Headers */,
   26.57  			);
   26.58  			runOnlyForDeploymentPostprocessing = 0;
   26.59  		};
   26.60 @@ -1184,6 +1199,7 @@
   26.61  				AABCC3951640643D00AB8930 /* SDL_uikitmessagebox.m in Sources */,
   26.62  				AA0AD06216647BBB00CE5896 /* SDL_gamecontroller.c in Sources */,
   26.63  				AA0F8495178D5F1A00823F9D /* SDL_systls.c in Sources */,
   26.64 +				56C181E217C44D7A00406AE3 /* SDL_sysfilesystem.m in Sources */,
   26.65  			);
   26.66  			runOnlyForDeploymentPostprocessing = 0;
   26.67  		};
    27.1 --- a/Xcode/SDL/Info-Framework.plist	Sun Oct 27 14:31:57 2013 -0400
    27.2 +++ b/Xcode/SDL/Info-Framework.plist	Sun Oct 27 21:26:46 2013 -0400
    27.3 @@ -4,6 +4,8 @@
    27.4  <dict>
    27.5  	<key>CFBundleDevelopmentRegion</key>
    27.6  	<string>English</string>
    27.7 +	<key>CFBundleExecutable</key>
    27.8 +	<string>${EXECUTABLE_NAME}</string>
    27.9  	<key>CFBundleGetInfoString</key>
   27.10  	<string>http://www.libsdl.org</string>
   27.11  	<key>CFBundleIconFile</key>
   27.12 @@ -17,12 +19,10 @@
   27.13  	<key>CFBundlePackageType</key>
   27.14  	<string>FMWK</string>
   27.15  	<key>CFBundleShortVersionString</key>
   27.16 -	<string>2.0.0</string>
   27.17 +	<string>2.0.1</string>
   27.18  	<key>CFBundleSignature</key>
   27.19  	<string>SDLX</string>
   27.20  	<key>CFBundleVersion</key>
   27.21 -	<string>2.0.0</string>
   27.22 -    <key>CFBundleExecutable</key>
   27.23 -    <string>${EXECUTABLE_NAME}</string>
   27.24 +	<string>2.0.1</string>
   27.25  </dict>
   27.26  </plist>
    28.1 --- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj	Sun Oct 27 14:31:57 2013 -0400
    28.2 +++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj	Sun Oct 27 21:26:46 2013 -0400
    28.3 @@ -391,8 +391,10 @@
    28.4  		04F7805F12FB74A200FC43C0 /* SDL_drawpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804712FB74A200FC43C0 /* SDL_drawpoint.h */; };
    28.5  		566CDE8F148F0AC200C5A9BB /* SDL_dropevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 566CDE8D148F0AC200C5A9BB /* SDL_dropevents_c.h */; };
    28.6  		566CDE90148F0AC200C5A9BB /* SDL_dropevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 566CDE8E148F0AC200C5A9BB /* SDL_dropevents.c */; };
    28.7 +		567E2F1C17C44BB2005F1892 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */; };
    28.8 +		567E2F2117C44C35005F1892 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
    28.9  		A77E6EB4167AB0A90010E40B /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.10 -		A77E6EB5167AB0A90010E40B /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; };
   28.11 +		A77E6EB5167AB0A90010E40B /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.12  		AA0AD09D16648D1700CE5896 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = BBFC088A164C6514003E6A99 /* SDL_gamecontroller.c */; };
   28.13  		AA0F8491178D5ECC00823F9D /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8490178D5ECC00823F9D /* SDL_systls.c */; };
   28.14  		AA0F8492178D5ECC00823F9D /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8490178D5ECC00823F9D /* SDL_systls.c */; };
   28.15 @@ -407,105 +409,105 @@
   28.16  		AA628AD3159367F2005138DD /* SDL_x11xinput2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA628AD0159367F2005138DD /* SDL_x11xinput2.h */; };
   28.17  		AA628AD4159367F2005138DD /* SDL_x11xinput2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA628AD0159367F2005138DD /* SDL_x11xinput2.h */; };
   28.18  		AA7557FA1595D4D800BBD41B /* begin_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C71595D4D800BBD41B /* begin_code.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.19 -		AA7557FB1595D4D800BBD41B /* begin_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C71595D4D800BBD41B /* begin_code.h */; };
   28.20 +		AA7557FB1595D4D800BBD41B /* begin_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C71595D4D800BBD41B /* begin_code.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.21  		AA7557FC1595D4D800BBD41B /* close_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C81595D4D800BBD41B /* close_code.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.22 -		AA7557FD1595D4D800BBD41B /* close_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C81595D4D800BBD41B /* close_code.h */; };
   28.23 +		AA7557FD1595D4D800BBD41B /* close_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C81595D4D800BBD41B /* close_code.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.24  		AA7557FE1595D4D800BBD41B /* SDL_assert.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C91595D4D800BBD41B /* SDL_assert.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.25 -		AA7557FF1595D4D800BBD41B /* SDL_assert.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C91595D4D800BBD41B /* SDL_assert.h */; };
   28.26 +		AA7557FF1595D4D800BBD41B /* SDL_assert.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C91595D4D800BBD41B /* SDL_assert.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.27  		AA7558001595D4D800BBD41B /* SDL_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CA1595D4D800BBD41B /* SDL_atomic.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.28 -		AA7558011595D4D800BBD41B /* SDL_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CA1595D4D800BBD41B /* SDL_atomic.h */; };
   28.29 +		AA7558011595D4D800BBD41B /* SDL_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CA1595D4D800BBD41B /* SDL_atomic.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.30  		AA7558021595D4D800BBD41B /* SDL_audio.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CB1595D4D800BBD41B /* SDL_audio.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.31 -		AA7558031595D4D800BBD41B /* SDL_audio.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CB1595D4D800BBD41B /* SDL_audio.h */; };
   28.32 +		AA7558031595D4D800BBD41B /* SDL_audio.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CB1595D4D800BBD41B /* SDL_audio.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.33  		AA7558041595D4D800BBD41B /* SDL_blendmode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CC1595D4D800BBD41B /* SDL_blendmode.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.34 -		AA7558051595D4D800BBD41B /* SDL_blendmode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CC1595D4D800BBD41B /* SDL_blendmode.h */; };
   28.35 +		AA7558051595D4D800BBD41B /* SDL_blendmode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CC1595D4D800BBD41B /* SDL_blendmode.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.36  		AA7558061595D4D800BBD41B /* SDL_clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CD1595D4D800BBD41B /* SDL_clipboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.37 -		AA7558071595D4D800BBD41B /* SDL_clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CD1595D4D800BBD41B /* SDL_clipboard.h */; };
   28.38 +		AA7558071595D4D800BBD41B /* SDL_clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CD1595D4D800BBD41B /* SDL_clipboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.39  		AA7558081595D4D800BBD41B /* SDL_config_macosx.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CE1595D4D800BBD41B /* SDL_config_macosx.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.40 -		AA7558091595D4D800BBD41B /* SDL_config_macosx.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CE1595D4D800BBD41B /* SDL_config_macosx.h */; };
   28.41 +		AA7558091595D4D800BBD41B /* SDL_config_macosx.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CE1595D4D800BBD41B /* SDL_config_macosx.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.42  		AA75580A1595D4D800BBD41B /* SDL_config.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CF1595D4D800BBD41B /* SDL_config.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.43 -		AA75580B1595D4D800BBD41B /* SDL_config.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CF1595D4D800BBD41B /* SDL_config.h */; };
   28.44 +		AA75580B1595D4D800BBD41B /* SDL_config.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CF1595D4D800BBD41B /* SDL_config.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.45  		AA75580C1595D4D800BBD41B /* SDL_copying.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D01595D4D800BBD41B /* SDL_copying.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.46 -		AA75580D1595D4D800BBD41B /* SDL_copying.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D01595D4D800BBD41B /* SDL_copying.h */; };
   28.47 +		AA75580D1595D4D800BBD41B /* SDL_copying.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D01595D4D800BBD41B /* SDL_copying.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.48  		AA75580E1595D4D800BBD41B /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D11595D4D800BBD41B /* SDL_cpuinfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.49 -		AA75580F1595D4D800BBD41B /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D11595D4D800BBD41B /* SDL_cpuinfo.h */; };
   28.50 +		AA75580F1595D4D800BBD41B /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D11595D4D800BBD41B /* SDL_cpuinfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.51  		AA7558101595D4D800BBD41B /* SDL_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D21595D4D800BBD41B /* SDL_endian.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.52 -		AA7558111595D4D800BBD41B /* SDL_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D21595D4D800BBD41B /* SDL_endian.h */; };
   28.53 +		AA7558111595D4D800BBD41B /* SDL_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D21595D4D800BBD41B /* SDL_endian.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.54  		AA7558121595D4D800BBD41B /* SDL_error.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D31595D4D800BBD41B /* SDL_error.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.55 -		AA7558131595D4D800BBD41B /* SDL_error.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D31595D4D800BBD41B /* SDL_error.h */; };
   28.56 +		AA7558131595D4D800BBD41B /* SDL_error.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D31595D4D800BBD41B /* SDL_error.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.57  		AA7558141595D4D800BBD41B /* SDL_events.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D41595D4D800BBD41B /* SDL_events.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.58 -		AA7558151595D4D800BBD41B /* SDL_events.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D41595D4D800BBD41B /* SDL_events.h */; };
   28.59 +		AA7558151595D4D800BBD41B /* SDL_events.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D41595D4D800BBD41B /* SDL_events.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.60  		AA7558161595D4D800BBD41B /* SDL_gesture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D51595D4D800BBD41B /* SDL_gesture.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.61 -		AA7558171595D4D800BBD41B /* SDL_gesture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D51595D4D800BBD41B /* SDL_gesture.h */; };
   28.62 +		AA7558171595D4D800BBD41B /* SDL_gesture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D51595D4D800BBD41B /* SDL_gesture.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.63  		AA7558181595D4D800BBD41B /* SDL_haptic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D61595D4D800BBD41B /* SDL_haptic.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.64 -		AA7558191595D4D800BBD41B /* SDL_haptic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D61595D4D800BBD41B /* SDL_haptic.h */; };
   28.65 +		AA7558191595D4D800BBD41B /* SDL_haptic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D61595D4D800BBD41B /* SDL_haptic.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.66  		AA75581A1595D4D800BBD41B /* SDL_hints.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D71595D4D800BBD41B /* SDL_hints.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.67 -		AA75581B1595D4D800BBD41B /* SDL_hints.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D71595D4D800BBD41B /* SDL_hints.h */; };
   28.68 +		AA75581B1595D4D800BBD41B /* SDL_hints.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D71595D4D800BBD41B /* SDL_hints.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.69  		AA75581E1595D4D800BBD41B /* SDL_joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D91595D4D800BBD41B /* SDL_joystick.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.70 -		AA75581F1595D4D800BBD41B /* SDL_joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D91595D4D800BBD41B /* SDL_joystick.h */; };
   28.71 +		AA75581F1595D4D800BBD41B /* SDL_joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D91595D4D800BBD41B /* SDL_joystick.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.72  		AA7558201595D4D800BBD41B /* SDL_keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DA1595D4D800BBD41B /* SDL_keyboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.73 -		AA7558211595D4D800BBD41B /* SDL_keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DA1595D4D800BBD41B /* SDL_keyboard.h */; };
   28.74 +		AA7558211595D4D800BBD41B /* SDL_keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DA1595D4D800BBD41B /* SDL_keyboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.75  		AA7558221595D4D800BBD41B /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.76 -		AA7558231595D4D800BBD41B /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; };
   28.77 +		AA7558231595D4D800BBD41B /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.78  		AA7558241595D4D800BBD41B /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.79 -		AA7558251595D4D800BBD41B /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; };
   28.80 +		AA7558251595D4D800BBD41B /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.81  		AA7558261595D4D800BBD41B /* SDL_log.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DD1595D4D800BBD41B /* SDL_log.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.82 -		AA7558271595D4D800BBD41B /* SDL_log.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DD1595D4D800BBD41B /* SDL_log.h */; };
   28.83 +		AA7558271595D4D800BBD41B /* SDL_log.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DD1595D4D800BBD41B /* SDL_log.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.84  		AA7558281595D4D800BBD41B /* SDL_main.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DE1595D4D800BBD41B /* SDL_main.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.85 -		AA7558291595D4D800BBD41B /* SDL_main.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DE1595D4D800BBD41B /* SDL_main.h */; };
   28.86 +		AA7558291595D4D800BBD41B /* SDL_main.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DE1595D4D800BBD41B /* SDL_main.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.87  		AA75582A1595D4D800BBD41B /* SDL_mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DF1595D4D800BBD41B /* SDL_mouse.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.88 -		AA75582B1595D4D800BBD41B /* SDL_mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DF1595D4D800BBD41B /* SDL_mouse.h */; };
   28.89 +		AA75582B1595D4D800BBD41B /* SDL_mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DF1595D4D800BBD41B /* SDL_mouse.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.90  		AA75582C1595D4D800BBD41B /* SDL_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E01595D4D800BBD41B /* SDL_mutex.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.91 -		AA75582D1595D4D800BBD41B /* SDL_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E01595D4D800BBD41B /* SDL_mutex.h */; };
   28.92 +		AA75582D1595D4D800BBD41B /* SDL_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E01595D4D800BBD41B /* SDL_mutex.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.93  		AA75582E1595D4D800BBD41B /* SDL_name.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E11595D4D800BBD41B /* SDL_name.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.94 -		AA75582F1595D4D800BBD41B /* SDL_name.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E11595D4D800BBD41B /* SDL_name.h */; };
   28.95 +		AA75582F1595D4D800BBD41B /* SDL_name.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E11595D4D800BBD41B /* SDL_name.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.96  		AA7558301595D4D800BBD41B /* SDL_opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E21595D4D800BBD41B /* SDL_opengl.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.97 -		AA7558311595D4D800BBD41B /* SDL_opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E21595D4D800BBD41B /* SDL_opengl.h */; };
   28.98 +		AA7558311595D4D800BBD41B /* SDL_opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E21595D4D800BBD41B /* SDL_opengl.h */; settings = {ATTRIBUTES = (Public, ); }; };
   28.99  		AA7558321595D4D800BBD41B /* SDL_opengles.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E31595D4D800BBD41B /* SDL_opengles.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.100 -		AA7558331595D4D800BBD41B /* SDL_opengles.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E31595D4D800BBD41B /* SDL_opengles.h */; };
  28.101 +		AA7558331595D4D800BBD41B /* SDL_opengles.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E31595D4D800BBD41B /* SDL_opengles.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.102  		AA7558341595D4D800BBD41B /* SDL_opengles2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E41595D4D800BBD41B /* SDL_opengles2.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.103 -		AA7558351595D4D800BBD41B /* SDL_opengles2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E41595D4D800BBD41B /* SDL_opengles2.h */; };
  28.104 +		AA7558351595D4D800BBD41B /* SDL_opengles2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E41595D4D800BBD41B /* SDL_opengles2.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.105  		AA7558361595D4D800BBD41B /* SDL_pixels.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E51595D4D800BBD41B /* SDL_pixels.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.106 -		AA7558371595D4D800BBD41B /* SDL_pixels.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E51595D4D800BBD41B /* SDL_pixels.h */; };
  28.107 +		AA7558371595D4D800BBD41B /* SDL_pixels.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E51595D4D800BBD41B /* SDL_pixels.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.108  		AA7558381595D4D800BBD41B /* SDL_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E61595D4D800BBD41B /* SDL_platform.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.109 -		AA7558391595D4D800BBD41B /* SDL_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E61595D4D800BBD41B /* SDL_platform.h */; };
  28.110 +		AA7558391595D4D800BBD41B /* SDL_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E61595D4D800BBD41B /* SDL_platform.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.111  		AA75583A1595D4D800BBD41B /* SDL_power.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E71595D4D800BBD41B /* SDL_power.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.112 -		AA75583B1595D4D800BBD41B /* SDL_power.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E71595D4D800BBD41B /* SDL_power.h */; };
  28.113 +		AA75583B1595D4D800BBD41B /* SDL_power.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E71595D4D800BBD41B /* SDL_power.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.114  		AA75583C1595D4D800BBD41B /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.115 -		AA75583D1595D4D800BBD41B /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; };
  28.116 +		AA75583D1595D4D800BBD41B /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.117  		AA75583E1595D4D800BBD41B /* SDL_rect.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E91595D4D800BBD41B /* SDL_rect.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.118 -		AA75583F1595D4D800BBD41B /* SDL_rect.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E91595D4D800BBD41B /* SDL_rect.h */; };
  28.119 +		AA75583F1595D4D800BBD41B /* SDL_rect.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E91595D4D800BBD41B /* SDL_rect.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.120  		AA7558401595D4D800BBD41B /* SDL_render.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EA1595D4D800BBD41B /* SDL_render.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.121 -		AA7558411595D4D800BBD41B /* SDL_render.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EA1595D4D800BBD41B /* SDL_render.h */; };
  28.122 +		AA7558411595D4D800BBD41B /* SDL_render.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EA1595D4D800BBD41B /* SDL_render.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.123  		AA7558421595D4D800BBD41B /* SDL_revision.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EB1595D4D800BBD41B /* SDL_revision.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.124 -		AA7558431595D4D800BBD41B /* SDL_revision.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EB1595D4D800BBD41B /* SDL_revision.h */; };
  28.125 +		AA7558431595D4D800BBD41B /* SDL_revision.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EB1595D4D800BBD41B /* SDL_revision.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.126  		AA7558441595D4D800BBD41B /* SDL_rwops.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EC1595D4D800BBD41B /* SDL_rwops.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.127 -		AA7558451595D4D800BBD41B /* SDL_rwops.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EC1595D4D800BBD41B /* SDL_rwops.h */; };
  28.128 +		AA7558451595D4D800BBD41B /* SDL_rwops.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EC1595D4D800BBD41B /* SDL_rwops.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.129  		AA7558461595D4D800BBD41B /* SDL_scancode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557ED1595D4D800BBD41B /* SDL_scancode.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.130 -		AA7558471595D4D800BBD41B /* SDL_scancode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557ED1595D4D800BBD41B /* SDL_scancode.h */; };
  28.131 +		AA7558471595D4D800BBD41B /* SDL_scancode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557ED1595D4D800BBD41B /* SDL_scancode.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.132  		AA7558481595D4D800BBD41B /* SDL_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EE1595D4D800BBD41B /* SDL_shape.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.133 -		AA7558491595D4D800BBD41B /* SDL_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EE1595D4D800BBD41B /* SDL_shape.h */; };
  28.134 +		AA7558491595D4D800BBD41B /* SDL_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EE1595D4D800BBD41B /* SDL_shape.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.135  		AA75584A1595D4D800BBD41B /* SDL_stdinc.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EF1595D4D800BBD41B /* SDL_stdinc.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.136 -		AA75584B1595D4D800BBD41B /* SDL_stdinc.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EF1595D4D800BBD41B /* SDL_stdinc.h */; };
  28.137 +		AA75584B1595D4D800BBD41B /* SDL_stdinc.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EF1595D4D800BBD41B /* SDL_stdinc.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.138  		AA75584C1595D4D800BBD41B /* SDL_surface.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F01595D4D800BBD41B /* SDL_surface.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.139 -		AA75584D1595D4D800BBD41B /* SDL_surface.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F01595D4D800BBD41B /* SDL_surface.h */; };
  28.140 +		AA75584D1595D4D800BBD41B /* SDL_surface.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F01595D4D800BBD41B /* SDL_surface.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.141  		AA75584E1595D4D800BBD41B /* SDL_system.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F11595D4D800BBD41B /* SDL_system.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.142 -		AA75584F1595D4D800BBD41B /* SDL_system.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F11595D4D800BBD41B /* SDL_system.h */; };
  28.143 +		AA75584F1595D4D800BBD41B /* SDL_system.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F11595D4D800BBD41B /* SDL_system.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.144  		AA7558501595D4D800BBD41B /* SDL_syswm.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F21595D4D800BBD41B /* SDL_syswm.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.145 -		AA7558511595D4D800BBD41B /* SDL_syswm.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F21595D4D800BBD41B /* SDL_syswm.h */; };
  28.146 +		AA7558511595D4D800BBD41B /* SDL_syswm.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F21595D4D800BBD41B /* SDL_syswm.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.147  		AA7558521595D4D800BBD41B /* SDL_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F31595D4D800BBD41B /* SDL_thread.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.148 -		AA7558531595D4D800BBD41B /* SDL_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F31595D4D800BBD41B /* SDL_thread.h */; };
  28.149 +		AA7558531595D4D800BBD41B /* SDL_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F31595D4D800BBD41B /* SDL_thread.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.150  		AA7558541595D4D800BBD41B /* SDL_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F41595D4D800BBD41B /* SDL_timer.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.151 -		AA7558551595D4D800BBD41B /* SDL_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F41595D4D800BBD41B /* SDL_timer.h */; };
  28.152 +		AA7558551595D4D800BBD41B /* SDL_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F41595D4D800BBD41B /* SDL_timer.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.153  		AA7558561595D4D800BBD41B /* SDL_touch.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F51595D4D800BBD41B /* SDL_touch.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.154 -		AA7558571595D4D800BBD41B /* SDL_touch.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F51595D4D800BBD41B /* SDL_touch.h */; };
  28.155 +		AA7558571595D4D800BBD41B /* SDL_touch.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F51595D4D800BBD41B /* SDL_touch.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.156  		AA7558581595D4D800BBD41B /* SDL_types.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F61595D4D800BBD41B /* SDL_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.157 -		AA7558591595D4D800BBD41B /* SDL_types.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F61595D4D800BBD41B /* SDL_types.h */; };
  28.158 +		AA7558591595D4D800BBD41B /* SDL_types.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F61595D4D800BBD41B /* SDL_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.159  		AA75585A1595D4D800BBD41B /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F71595D4D800BBD41B /* SDL_version.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.160 -		AA75585B1595D4D800BBD41B /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F71595D4D800BBD41B /* SDL_version.h */; };
  28.161 +		AA75585B1595D4D800BBD41B /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F71595D4D800BBD41B /* SDL_version.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.162  		AA75585C1595D4D800BBD41B /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F81595D4D800BBD41B /* SDL_video.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.163 -		AA75585D1595D4D800BBD41B /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F81595D4D800BBD41B /* SDL_video.h */; };
  28.164 +		AA75585D1595D4D800BBD41B /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F81595D4D800BBD41B /* SDL_video.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.165  		AA75585E1595D4D800BBD41B /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F91595D4D800BBD41B /* SDL.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.166 -		AA75585F1595D4D800BBD41B /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F91595D4D800BBD41B /* SDL.h */; };
  28.167 +		AA75585F1595D4D800BBD41B /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F91595D4D800BBD41B /* SDL.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.168  		AA9E4093163BE51E007A2AD0 /* SDL_x11messagebox.c in Sources */ = {isa = PBXBuildFile; fileRef = AA9E4092163BE51E007A2AD0 /* SDL_x11messagebox.c */; };
  28.169  		AA9E4094163BE51E007A2AD0 /* SDL_x11messagebox.c in Sources */ = {isa = PBXBuildFile; fileRef = AA9E4092163BE51E007A2AD0 /* SDL_x11messagebox.c */; };
  28.170  		AA9FF95A1637CBF9000DF050 /* SDL_messagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9FF9591637CBF9000DF050 /* SDL_messagebox.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.171 @@ -513,8 +515,8 @@
  28.172  		AABCC38E164063D200AB8930 /* SDL_cocoamessagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AABCC38B164063D200AB8930 /* SDL_cocoamessagebox.h */; };
  28.173  		AABCC38F164063D200AB8930 /* SDL_cocoamessagebox.m in Sources */ = {isa = PBXBuildFile; fileRef = AABCC38C164063D200AB8930 /* SDL_cocoamessagebox.m */; };
  28.174  		AABCC390164063D200AB8930 /* SDL_cocoamessagebox.m in Sources */ = {isa = PBXBuildFile; fileRef = AABCC38C164063D200AB8930 /* SDL_cocoamessagebox.m */; };
  28.175 -		AADA5B8716CCAB3000107CF7 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; };
  28.176 -		AADA5B8816CCAB3000107CF7 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; };
  28.177 +		AADA5B8716CCAB3000107CF7 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.178 +		AADA5B8816CCAB3000107CF7 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.179  		BBFC088D164C6647003E6A99 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = BBFC088A164C6514003E6A99 /* SDL_gamecontroller.c */; };
  28.180  		D55A1B81179F262300625D7C /* SDL_cocoamousetap.h in Headers */ = {isa = PBXBuildFile; fileRef = D55A1B7F179F262300625D7C /* SDL_cocoamousetap.h */; };
  28.181  		D55A1B82179F262300625D7C /* SDL_cocoamousetap.m in Sources */ = {isa = PBXBuildFile; fileRef = D55A1B80179F262300625D7C /* SDL_cocoamousetap.m */; };
  28.182 @@ -522,6 +524,12 @@
  28.183  		D55A1B84179F263600625D7C /* SDL_cocoamousetap.m in Sources */ = {isa = PBXBuildFile; fileRef = D55A1B80179F262300625D7C /* SDL_cocoamousetap.m */; };
  28.184  		D55A1B85179F278E00625D7C /* SDL_cocoamousetap.h in Headers */ = {isa = PBXBuildFile; fileRef = D55A1B7F179F262300625D7C /* SDL_cocoamousetap.h */; };
  28.185  		D55A1B86179F278F00625D7C /* SDL_cocoamousetap.h in Headers */ = {isa = PBXBuildFile; fileRef = D55A1B7F179F262300625D7C /* SDL_cocoamousetap.h */; };
  28.186 +		DB0F489317C400E6008798C5 /* SDL_messagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9FF9591637CBF9000DF050 /* SDL_messagebox.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.187 +		DB0F489417C400ED008798C5 /* SDL_messagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9FF9591637CBF9000DF050 /* SDL_messagebox.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.188 +		DB0F490817CA5292008798C5 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */; };
  28.189 +		DB0F490A17CA5293008798C5 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */; };
  28.190 +		DB0F490B17CA57ED008798C5 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.191 +		DB0F490C17CA57ED008798C5 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.192  		DB313F7417554B71006C0E22 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD8912E6671700899322 /* SDL_diskaudio.h */; };
  28.193  		DB313F7517554B71006C0E22 /* SDL_dummyaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD9512E6671700899322 /* SDL_dummyaudio.h */; };
  28.194  		DB313F7617554B71006C0E22 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDA112E6671700899322 /* SDL_coreaudio.h */; };
  28.195 @@ -605,59 +613,59 @@
  28.196  		DB313FC517554B71006C0E22 /* SDL_shaders_gl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0435673D1303160F00BA5428 /* SDL_shaders_gl.h */; };
  28.197  		DB313FC617554B71006C0E22 /* SDL_rotate.h in Headers */ = {isa = PBXBuildFile; fileRef = AA628AC9159367B7005138DD /* SDL_rotate.h */; };
  28.198  		DB313FC717554B71006C0E22 /* SDL_x11xinput2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA628AD0159367F2005138DD /* SDL_x11xinput2.h */; };
  28.199 -		DB313FC817554B71006C0E22 /* begin_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C71595D4D800BBD41B /* begin_code.h */; };
  28.200 -		DB313FC917554B71006C0E22 /* close_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C81595D4D800BBD41B /* close_code.h */; };
  28.201 -		DB313FCA17554B71006C0E22 /* SDL_assert.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C91595D4D800BBD41B /* SDL_assert.h */; };
  28.202 -		DB313FCB17554B71006C0E22 /* SDL_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CA1595D4D800BBD41B /* SDL_atomic.h */; };
  28.203 -		DB313FCC17554B71006C0E22 /* SDL_audio.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CB1595D4D800BBD41B /* SDL_audio.h */; };
  28.204 -		DB313FCD17554B71006C0E22 /* SDL_blendmode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CC1595D4D800BBD41B /* SDL_blendmode.h */; };
  28.205 -		DB313FCE17554B71006C0E22 /* SDL_clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CD1595D4D800BBD41B /* SDL_clipboard.h */; };
  28.206 -		DB313FCF17554B71006C0E22 /* SDL_config_macosx.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CE1595D4D800BBD41B /* SDL_config_macosx.h */; };
  28.207 -		DB313FD017554B71006C0E22 /* SDL_config.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CF1595D4D800BBD41B /* SDL_config.h */; };
  28.208 -		DB313FD117554B71006C0E22 /* SDL_copying.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D01595D4D800BBD41B /* SDL_copying.h */; };
  28.209 -		DB313FD217554B71006C0E22 /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D11595D4D800BBD41B /* SDL_cpuinfo.h */; };
  28.210 -		DB313FD317554B71006C0E22 /* SDL_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D21595D4D800BBD41B /* SDL_endian.h */; };
  28.211 -		DB313FD417554B71006C0E22 /* SDL_error.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D31595D4D800BBD41B /* SDL_error.h */; };
  28.212 -		DB313FD517554B71006C0E22 /* SDL_events.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D41595D4D800BBD41B /* SDL_events.h */; };
  28.213 -		DB313FD617554B71006C0E22 /* SDL_gesture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D51595D4D800BBD41B /* SDL_gesture.h */; };
  28.214 -		DB313FD717554B71006C0E22 /* SDL_haptic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D61595D4D800BBD41B /* SDL_haptic.h */; };
  28.215 -		DB313FD817554B71006C0E22 /* SDL_hints.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D71595D4D800BBD41B /* SDL_hints.h */; };
  28.216 -		DB313FD917554B71006C0E22 /* SDL_joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D91595D4D800BBD41B /* SDL_joystick.h */; };
  28.217 -		DB313FDA17554B71006C0E22 /* SDL_keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DA1595D4D800BBD41B /* SDL_keyboard.h */; };
  28.218 -		DB313FDB17554B71006C0E22 /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; };
  28.219 -		DB313FDC17554B71006C0E22 /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; };
  28.220 -		DB313FDD17554B71006C0E22 /* SDL_log.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DD1595D4D800BBD41B /* SDL_log.h */; };
  28.221 -		DB313FDE17554B71006C0E22 /* SDL_main.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DE1595D4D800BBD41B /* SDL_main.h */; };
  28.222 -		DB313FDF17554B71006C0E22 /* SDL_mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DF1595D4D800BBD41B /* SDL_mouse.h */; };
  28.223 -		DB313FE017554B71006C0E22 /* SDL_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E01595D4D800BBD41B /* SDL_mutex.h */; };
  28.224 -		DB313FE117554B71006C0E22 /* SDL_name.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E11595D4D800BBD41B /* SDL_name.h */; };
  28.225 -		DB313FE217554B71006C0E22 /* SDL_opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E21595D4D800BBD41B /* SDL_opengl.h */; };
  28.226 -		DB313FE317554B71006C0E22 /* SDL_opengles.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E31595D4D800BBD41B /* SDL_opengles.h */; };
  28.227 -		DB313FE417554B71006C0E22 /* SDL_opengles2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E41595D4D800BBD41B /* SDL_opengles2.h */; };
  28.228 -		DB313FE517554B71006C0E22 /* SDL_pixels.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E51595D4D800BBD41B /* SDL_pixels.h */; };
  28.229 -		DB313FE617554B71006C0E22 /* SDL_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E61595D4D800BBD41B /* SDL_platform.h */; };
  28.230 -		DB313FE717554B71006C0E22 /* SDL_power.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E71595D4D800BBD41B /* SDL_power.h */; };
  28.231 -		DB313FE817554B71006C0E22 /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; };
  28.232 -		DB313FE917554B71006C0E22 /* SDL_rect.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E91595D4D800BBD41B /* SDL_rect.h */; };
  28.233 -		DB313FEA17554B71006C0E22 /* SDL_render.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EA1595D4D800BBD41B /* SDL_render.h */; };
  28.234 -		DB313FEB17554B71006C0E22 /* SDL_revision.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EB1595D4D800BBD41B /* SDL_revision.h */; };
  28.235 -		DB313FEC17554B71006C0E22 /* SDL_rwops.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EC1595D4D800BBD41B /* SDL_rwops.h */; };
  28.236 -		DB313FED17554B71006C0E22 /* SDL_scancode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557ED1595D4D800BBD41B /* SDL_scancode.h */; };
  28.237 -		DB313FEE17554B71006C0E22 /* SDL_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EE1595D4D800BBD41B /* SDL_shape.h */; };
  28.238 -		DB313FEF17554B71006C0E22 /* SDL_stdinc.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EF1595D4D800BBD41B /* SDL_stdinc.h */; };
  28.239 -		DB313FF017554B71006C0E22 /* SDL_surface.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F01595D4D800BBD41B /* SDL_surface.h */; };
  28.240 -		DB313FF117554B71006C0E22 /* SDL_system.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F11595D4D800BBD41B /* SDL_system.h */; };
  28.241 -		DB313FF217554B71006C0E22 /* SDL_syswm.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F21595D4D800BBD41B /* SDL_syswm.h */; };
  28.242 -		DB313FF317554B71006C0E22 /* SDL_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F31595D4D800BBD41B /* SDL_thread.h */; };
  28.243 -		DB313FF417554B71006C0E22 /* SDL_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F41595D4D800BBD41B /* SDL_timer.h */; };
  28.244 -		DB313FF517554B71006C0E22 /* SDL_touch.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F51595D4D800BBD41B /* SDL_touch.h */; };
  28.245 -		DB313FF617554B71006C0E22 /* SDL_types.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F61595D4D800BBD41B /* SDL_types.h */; };
  28.246 -		DB313FF717554B71006C0E22 /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F71595D4D800BBD41B /* SDL_version.h */; };
  28.247 -		DB313FF817554B71006C0E22 /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F81595D4D800BBD41B /* SDL_video.h */; };
  28.248 -		DB313FF917554B71006C0E22 /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F91595D4D800BBD41B /* SDL.h */; };
  28.249 +		DB313FC817554B71006C0E22 /* begin_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C71595D4D800BBD41B /* begin_code.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.250 +		DB313FC917554B71006C0E22 /* close_code.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C81595D4D800BBD41B /* close_code.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.251 +		DB313FCA17554B71006C0E22 /* SDL_assert.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557C91595D4D800BBD41B /* SDL_assert.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.252 +		DB313FCB17554B71006C0E22 /* SDL_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CA1595D4D800BBD41B /* SDL_atomic.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.253 +		DB313FCC17554B71006C0E22 /* SDL_audio.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CB1595D4D800BBD41B /* SDL_audio.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.254 +		DB313FCD17554B71006C0E22 /* SDL_blendmode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CC1595D4D800BBD41B /* SDL_blendmode.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.255 +		DB313FCE17554B71006C0E22 /* SDL_clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CD1595D4D800BBD41B /* SDL_clipboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.256 +		DB313FCF17554B71006C0E22 /* SDL_config_macosx.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CE1595D4D800BBD41B /* SDL_config_macosx.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.257 +		DB313FD017554B71006C0E22 /* SDL_config.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557CF1595D4D800BBD41B /* SDL_config.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.258 +		DB313FD117554B71006C0E22 /* SDL_copying.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D01595D4D800BBD41B /* SDL_copying.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.259 +		DB313FD217554B71006C0E22 /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D11595D4D800BBD41B /* SDL_cpuinfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.260 +		DB313FD317554B71006C0E22 /* SDL_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D21595D4D800BBD41B /* SDL_endian.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.261 +		DB313FD417554B71006C0E22 /* SDL_error.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D31595D4D800BBD41B /* SDL_error.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.262 +		DB313FD517554B71006C0E22 /* SDL_events.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D41595D4D800BBD41B /* SDL_events.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.263 +		DB313FD617554B71006C0E22 /* SDL_gesture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D51595D4D800BBD41B /* SDL_gesture.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.264 +		DB313FD717554B71006C0E22 /* SDL_haptic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D61595D4D800BBD41B /* SDL_haptic.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.265 +		DB313FD817554B71006C0E22 /* SDL_hints.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D71595D4D800BBD41B /* SDL_hints.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.266 +		DB313FD917554B71006C0E22 /* SDL_joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557D91595D4D800BBD41B /* SDL_joystick.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.267 +		DB313FDA17554B71006C0E22 /* SDL_keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DA1595D4D800BBD41B /* SDL_keyboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.268 +		DB313FDB17554B71006C0E22 /* SDL_keycode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DB1595D4D800BBD41B /* SDL_keycode.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.269 +		DB313FDC17554B71006C0E22 /* SDL_loadso.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DC1595D4D800BBD41B /* SDL_loadso.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.270 +		DB313FDD17554B71006C0E22 /* SDL_log.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DD1595D4D800BBD41B /* SDL_log.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.271 +		DB313FDE17554B71006C0E22 /* SDL_main.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DE1595D4D800BBD41B /* SDL_main.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.272 +		DB313FDF17554B71006C0E22 /* SDL_mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557DF1595D4D800BBD41B /* SDL_mouse.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.273 +		DB313FE017554B71006C0E22 /* SDL_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E01595D4D800BBD41B /* SDL_mutex.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.274 +		DB313FE117554B71006C0E22 /* SDL_name.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E11595D4D800BBD41B /* SDL_name.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.275 +		DB313FE217554B71006C0E22 /* SDL_opengl.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E21595D4D800BBD41B /* SDL_opengl.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.276 +		DB313FE317554B71006C0E22 /* SDL_opengles.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E31595D4D800BBD41B /* SDL_opengles.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.277 +		DB313FE417554B71006C0E22 /* SDL_opengles2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E41595D4D800BBD41B /* SDL_opengles2.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.278 +		DB313FE517554B71006C0E22 /* SDL_pixels.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E51595D4D800BBD41B /* SDL_pixels.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.279 +		DB313FE617554B71006C0E22 /* SDL_platform.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E61595D4D800BBD41B /* SDL_platform.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.280 +		DB313FE717554B71006C0E22 /* SDL_power.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E71595D4D800BBD41B /* SDL_power.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.281 +		DB313FE817554B71006C0E22 /* SDL_quit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E81595D4D800BBD41B /* SDL_quit.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.282 +		DB313FE917554B71006C0E22 /* SDL_rect.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557E91595D4D800BBD41B /* SDL_rect.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.283 +		DB313FEA17554B71006C0E22 /* SDL_render.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EA1595D4D800BBD41B /* SDL_render.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.284 +		DB313FEB17554B71006C0E22 /* SDL_revision.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EB1595D4D800BBD41B /* SDL_revision.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.285 +		DB313FEC17554B71006C0E22 /* SDL_rwops.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EC1595D4D800BBD41B /* SDL_rwops.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.286 +		DB313FED17554B71006C0E22 /* SDL_scancode.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557ED1595D4D800BBD41B /* SDL_scancode.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.287 +		DB313FEE17554B71006C0E22 /* SDL_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EE1595D4D800BBD41B /* SDL_shape.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.288 +		DB313FEF17554B71006C0E22 /* SDL_stdinc.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557EF1595D4D800BBD41B /* SDL_stdinc.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.289 +		DB313FF017554B71006C0E22 /* SDL_surface.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F01595D4D800BBD41B /* SDL_surface.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.290 +		DB313FF117554B71006C0E22 /* SDL_system.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F11595D4D800BBD41B /* SDL_system.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.291 +		DB313FF217554B71006C0E22 /* SDL_syswm.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F21595D4D800BBD41B /* SDL_syswm.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.292 +		DB313FF317554B71006C0E22 /* SDL_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F31595D4D800BBD41B /* SDL_thread.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.293 +		DB313FF417554B71006C0E22 /* SDL_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F41595D4D800BBD41B /* SDL_timer.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.294 +		DB313FF517554B71006C0E22 /* SDL_touch.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F51595D4D800BBD41B /* SDL_touch.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.295 +		DB313FF617554B71006C0E22 /* SDL_types.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F61595D4D800BBD41B /* SDL_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.296 +		DB313FF717554B71006C0E22 /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F71595D4D800BBD41B /* SDL_version.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.297 +		DB313FF817554B71006C0E22 /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F81595D4D800BBD41B /* SDL_video.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.298 +		DB313FF917554B71006C0E22 /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7557F91595D4D800BBD41B /* SDL.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.299  		DB313FFA17554B71006C0E22 /* SDL_cocoamessagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AABCC38B164063D200AB8930 /* SDL_cocoamessagebox.h */; };
  28.300 -		DB313FFB17554B71006C0E22 /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; };
  28.301 -		DB313FFC17554B71006C0E22 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; };
  28.302 +		DB313FFB17554B71006C0E22 /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.303 +		DB313FFC17554B71006C0E22 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; settings = {ATTRIBUTES = (Public, ); }; };
  28.304  		DB313FFE17554B71006C0E22 /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7412E6671700899322 /* SDL_atomic.c */; };
  28.305  		DB313FFF17554B71006C0E22 /* SDL_spinlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7512E6671700899322 /* SDL_spinlock.c */; };
  28.306  		DB31400017554B71006C0E22 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD8812E6671700899322 /* SDL_diskaudio.c */; };
  28.307 @@ -984,6 +992,8 @@
  28.308  		04F7804712FB74A200FC43C0 /* SDL_drawpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_drawpoint.h; sourceTree = "<group>"; };
  28.309  		566CDE8D148F0AC200C5A9BB /* SDL_dropevents_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_dropevents_c.h; sourceTree = "<group>"; };
  28.310  		566CDE8E148F0AC200C5A9BB /* SDL_dropevents.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_dropevents.c; sourceTree = "<group>"; };
  28.311 +		567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_sysfilesystem.m; path = ../../src/filesystem/cocoa/SDL_sysfilesystem.m; sourceTree = "<group>"; };
  28.312 +		567E2F2017C44C35005F1892 /* SDL_filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_filesystem.h; sourceTree = "<group>"; };
  28.313  		A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gamecontroller.h; sourceTree = "<group>"; };
  28.314  		AA0F8490178D5ECC00823F9D /* SDL_systls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_systls.c; sourceTree = "<group>"; };
  28.315  		AA628AC8159367B7005138DD /* SDL_rotate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_rotate.c; sourceTree = "<group>"; };
  28.316 @@ -1133,6 +1143,7 @@
  28.317  				AA7557D21595D4D800BBD41B /* SDL_endian.h */,
  28.318  				AA7557D31595D4D800BBD41B /* SDL_error.h */,
  28.319  				AA7557D41595D4D800BBD41B /* SDL_events.h */,
  28.320 +				567E2F2017C44C35005F1892 /* SDL_filesystem.h */,
  28.321  				A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */,
  28.322  				AA7557D51595D4D800BBD41B /* SDL_gesture.h */,
  28.323  				AA7557D61595D4D800BBD41B /* SDL_haptic.h */,
  28.324 @@ -1641,6 +1652,7 @@
  28.325  				04BDFD7612E6671700899322 /* audio */,
  28.326  				04BDFDD312E6671700899322 /* cpuinfo */,
  28.327  				04BDFDD512E6671700899322 /* events */,
  28.328 +				567E2F1F17C44BBB005F1892 /* filesystem */,
  28.329  				04BDFDEC12E6671700899322 /* file */,
  28.330  				04BDFDF112E6671700899322 /* haptic */,
  28.331  				04BDFDFF12E6671700899322 /* joystick */,
  28.332 @@ -1662,6 +1674,14 @@
  28.333  			name = "Library Source";
  28.334  			sourceTree = "<group>";
  28.335  		};
  28.336 +		567E2F1F17C44BBB005F1892 /* filesystem */ = {
  28.337 +			isa = PBXGroup;
  28.338 +			children = (
  28.339 +				567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */,
  28.340 +			);
  28.341 +			name = filesystem;
  28.342 +			sourceTree = "<group>";
  28.343 +		};
  28.344  		BEC562FE0761C0E800A33029 /* Linked Frameworks */ = {
  28.345  			isa = PBXGroup;
  28.346  			children = (
  28.347 @@ -1722,6 +1742,7 @@
  28.348  				AA7557FE1595D4D800BBD41B /* SDL_assert.h in Headers */,
  28.349  				AA7558001595D4D800BBD41B /* SDL_atomic.h in Headers */,
  28.350  				AA7558021595D4D800BBD41B /* SDL_audio.h in Headers */,
  28.351 +				AADA5B8716CCAB3000107CF7 /* SDL_bits.h in Headers */,
  28.352  				AA7558041595D4D800BBD41B /* SDL_blendmode.h in Headers */,
  28.353  				AA7558061595D4D800BBD41B /* SDL_clipboard.h in Headers */,
  28.354  				AA7558081595D4D800BBD41B /* SDL_config_macosx.h in Headers */,
  28.355 @@ -1731,6 +1752,7 @@
  28.356  				AA7558101595D4D800BBD41B /* SDL_endian.h in Headers */,
  28.357  				AA7558121595D4D800BBD41B /* SDL_error.h in Headers */,
  28.358  				AA7558141595D4D800BBD41B /* SDL_events.h in Headers */,
  28.359 +				567E2F2117C44C35005F1892 /* SDL_filesystem.h in Headers */,
  28.360  				A77E6EB4167AB0A90010E40B /* SDL_gamecontroller.h in Headers */,
  28.361  				AA7558161595D4D800BBD41B /* SDL_gesture.h in Headers */,
  28.362  				AA7558181595D4D800BBD41B /* SDL_haptic.h in Headers */,
  28.363 @@ -1854,7 +1876,6 @@
  28.364  				AA628ACC159367B7005138DD /* SDL_rotate.h in Headers */,
  28.365  				AA628AD3159367F2005138DD /* SDL_x11xinput2.h in Headers */,
  28.366  				AABCC38D164063D200AB8930 /* SDL_cocoamessagebox.h in Headers */,
  28.367 -				AADA5B8716CCAB3000107CF7 /* SDL_bits.h in Headers */,
  28.368  				D55A1B81179F262300625D7C /* SDL_cocoamousetap.h in Headers */,
  28.369  			);
  28.370  			runOnlyForDeploymentPostprocessing = 0;
  28.371 @@ -1863,6 +1884,60 @@
  28.372  			isa = PBXHeadersBuildPhase;
  28.373  			buildActionMask = 2147483647;
  28.374  			files = (
  28.375 +				DB0F490B17CA57ED008798C5 /* SDL_filesystem.h in Headers */,
  28.376 +				AA7557FB1595D4D800BBD41B /* begin_code.h in Headers */,
  28.377 +				AA7557FD1595D4D800BBD41B /* close_code.h in Headers */,
  28.378 +				AA75585F1595D4D800BBD41B /* SDL.h in Headers */,
  28.379 +				AA7557FF1595D4D800BBD41B /* SDL_assert.h in Headers */,
  28.380 +				AA7558011595D4D800BBD41B /* SDL_atomic.h in Headers */,
  28.381 +				AA7558031595D4D800BBD41B /* SDL_audio.h in Headers */,
  28.382 +				AADA5B8816CCAB3000107CF7 /* SDL_bits.h in Headers */,
  28.383 +				AA7558051595D4D800BBD41B /* SDL_blendmode.h in Headers */,
  28.384 +				AA7558071595D4D800BBD41B /* SDL_clipboard.h in Headers */,
  28.385 +				AA75580B1595D4D800BBD41B /* SDL_config.h in Headers */,
  28.386 +				AA7558091595D4D800BBD41B /* SDL_config_macosx.h in Headers */,
  28.387 +				AA75580D1595D4D800BBD41B /* SDL_copying.h in Headers */,
  28.388 +				AA75580F1595D4D800BBD41B /* SDL_cpuinfo.h in Headers */,
  28.389 +				AA7558111595D4D800BBD41B /* SDL_endian.h in Headers */,
  28.390 +				AA7558131595D4D800BBD41B /* SDL_error.h in Headers */,
  28.391 +				AA7558151595D4D800BBD41B /* SDL_events.h in Headers */,
  28.392 +				A77E6EB5167AB0A90010E40B /* SDL_gamecontroller.h in Headers */,
  28.393 +				AA7558171595D4D800BBD41B /* SDL_gesture.h in Headers */,
  28.394 +				AA7558191595D4D800BBD41B /* SDL_haptic.h in Headers */,
  28.395 +				AA75581B1595D4D800BBD41B /* SDL_hints.h in Headers */,
  28.396 +				AA75581F1595D4D800BBD41B /* SDL_joystick.h in Headers */,
  28.397 +				AA7558211595D4D800BBD41B /* SDL_keyboard.h in Headers */,
  28.398 +				AA7558231595D4D800BBD41B /* SDL_keycode.h in Headers */,
  28.399 +				AA7558251595D4D800BBD41B /* SDL_loadso.h in Headers */,
  28.400 +				AA7558271595D4D800BBD41B /* SDL_log.h in Headers */,
  28.401 +				AA7558291595D4D800BBD41B /* SDL_main.h in Headers */,
  28.402 +				DB0F489417C400ED008798C5 /* SDL_messagebox.h in Headers */,
  28.403 +				AA75582B1595D4D800BBD41B /* SDL_mouse.h in Headers */,
  28.404 +				AA75582D1595D4D800BBD41B /* SDL_mutex.h in Headers */,
  28.405 +				AA75582F1595D4D800BBD41B /* SDL_name.h in Headers */,
  28.406 +				AA7558311595D4D800BBD41B /* SDL_opengl.h in Headers */,
  28.407 +				AA7558331595D4D800BBD41B /* SDL_opengles.h in Headers */,
  28.408 +				AA7558351595D4D800BBD41B /* SDL_opengles2.h in Headers */,
  28.409 +				AA7558371595D4D800BBD41B /* SDL_pixels.h in Headers */,
  28.410 +				AA7558391595D4D800BBD41B /* SDL_platform.h in Headers */,
  28.411 +				AA75583B1595D4D800BBD41B /* SDL_power.h in Headers */,
  28.412 +				AA75583D1595D4D800BBD41B /* SDL_quit.h in Headers */,
  28.413 +				AA75583F1595D4D800BBD41B /* SDL_rect.h in Headers */,
  28.414 +				AA7558411595D4D800BBD41B /* SDL_render.h in Headers */,
  28.415 +				AA7558431595D4D800BBD41B /* SDL_revision.h in Headers */,
  28.416 +				AA7558451595D4D800BBD41B /* SDL_rwops.h in Headers */,
  28.417 +				AA7558471595D4D800BBD41B /* SDL_scancode.h in Headers */,
  28.418 +				AA7558491595D4D800BBD41B /* SDL_shape.h in Headers */,
  28.419 +				AA75584B1595D4D800BBD41B /* SDL_stdinc.h in Headers */,
  28.420 +				AA75584D1595D4D800BBD41B /* SDL_surface.h in Headers */,
  28.421 +				AA75584F1595D4D800BBD41B /* SDL_system.h in Headers */,
  28.422 +				AA7558511595D4D800BBD41B /* SDL_syswm.h in Headers */,
  28.423 +				AA7558531595D4D800BBD41B /* SDL_thread.h in Headers */,
  28.424 +				AA7558551595D4D800BBD41B /* SDL_timer.h in Headers */,
  28.425 +				AA7558571595D4D800BBD41B /* SDL_touch.h in Headers */,
  28.426 +				AA7558591595D4D800BBD41B /* SDL_types.h in Headers */,
  28.427 +				AA75585B1595D4D800BBD41B /* SDL_version.h in Headers */,
  28.428 +				AA75585D1595D4D800BBD41B /* SDL_video.h in Headers */,
  28.429  				04BD022512E6671800899322 /* SDL_diskaudio.h in Headers */,
  28.430  				04BD022D12E6671800899322 /* SDL_dummyaudio.h in Headers */,
  28.431  				04BD023512E6671800899322 /* SDL_coreaudio.h in Headers */,
  28.432 @@ -1946,59 +2021,7 @@
  28.433  				043567411303160F00BA5428 /* SDL_shaders_gl.h in Headers */,
  28.434  				AA628ACD159367B7005138DD /* SDL_rotate.h in Headers */,
  28.435  				AA628AD4159367F2005138DD /* SDL_x11xinput2.h in Headers */,
  28.436 -				AA7557FB1595D4D800BBD41B /* begin_code.h in Headers */,
  28.437 -				AA7557FD1595D4D800BBD41B /* close_code.h in Headers */,
  28.438 -				AA7557FF1595D4D800BBD41B /* SDL_assert.h in Headers */,
  28.439 -				AA7558011595D4D800BBD41B /* SDL_atomic.h in Headers */,
  28.440 -				AA7558031595D4D800BBD41B /* SDL_audio.h in Headers */,
  28.441 -				AA7558051595D4D800BBD41B /* SDL_blendmode.h in Headers */,
  28.442 -				AA7558071595D4D800BBD41B /* SDL_clipboard.h in Headers */,
  28.443 -				AA7558091595D4D800BBD41B /* SDL_config_macosx.h in Headers */,
  28.444 -				AA75580B1595D4D800BBD41B /* SDL_config.h in Headers */,
  28.445 -				AA75580D1595D4D800BBD41B /* SDL_copying.h in Headers */,
  28.446 -				AA75580F1595D4D800BBD41B /* SDL_cpuinfo.h in Headers */,
  28.447 -				AA7558111595D4D800BBD41B /* SDL_endian.h in Headers */,
  28.448 -				AA7558131595D4D800BBD41B /* SDL_error.h in Headers */,
  28.449 -				AA7558151595D4D800BBD41B /* SDL_events.h in Headers */,
  28.450 -				AA7558171595D4D800BBD41B /* SDL_gesture.h in Headers */,
  28.451 -				AA7558191595D4D800BBD41B /* SDL_haptic.h in Headers */,
  28.452 -				AA75581B1595D4D800BBD41B /* SDL_hints.h in Headers */,
  28.453 -				AA75581F1595D4D800BBD41B /* SDL_joystick.h in Headers */,
  28.454 -				AA7558211595D4D800BBD41B /* SDL_keyboard.h in Headers */,
  28.455 -				AA7558231595D4D800BBD41B /* SDL_keycode.h in Headers */,
  28.456 -				AA7558251595D4D800BBD41B /* SDL_loadso.h in Headers */,
  28.457 -				AA7558271595D4D800BBD41B /* SDL_log.h in Headers */,
  28.458 -				AA7558291595D4D800BBD41B /* SDL_main.h in Headers */,
  28.459 -				AA75582B1595D4D800BBD41B /* SDL_mouse.h in Headers */,
  28.460 -				AA75582D1595D4D800BBD41B /* SDL_mutex.h in Headers */,
  28.461 -				AA75582F1595D4D800BBD41B /* SDL_name.h in Headers */,
  28.462 -				AA7558311595D4D800BBD41B /* SDL_opengl.h in Headers */,
  28.463 -				AA7558331595D4D800BBD41B /* SDL_opengles.h in Headers */,
  28.464 -				AA7558351595D4D800BBD41B /* SDL_opengles2.h in Headers */,
  28.465 -				AA7558371595D4D800BBD41B /* SDL_pixels.h in Headers */,
  28.466 -				AA7558391595D4D800BBD41B /* SDL_platform.h in Headers */,
  28.467 -				AA75583B1595D4D800BBD41B /* SDL_power.h in Headers */,
  28.468 -				AA75583D1595D4D800BBD41B /* SDL_quit.h in Headers */,
  28.469 -				AA75583F1595D4D800BBD41B /* SDL_rect.h in Headers */,
  28.470 -				AA7558411595D4D800BBD41B /* SDL_render.h in Headers */,
  28.471 -				AA7558431595D4D800BBD41B /* SDL_revision.h in Headers */,
  28.472 -				AA7558451595D4D800BBD41B /* SDL_rwops.h in Headers */,
  28.473 -				AA7558471595D4D800BBD41B /* SDL_scancode.h in Headers */,
  28.474 -				AA7558491595D4D800BBD41B /* SDL_shape.h in Headers */,
  28.475 -				AA75584B1595D4D800BBD41B /* SDL_stdinc.h in Headers */,
  28.476 -				AA75584D1595D4D800BBD41B /* SDL_surface.h in Headers */,
  28.477 -				AA75584F1595D4D800BBD41B /* SDL_system.h in Headers */,
  28.478 -				AA7558511595D4D800BBD41B /* SDL_syswm.h in Headers */,
  28.479 -				AA7558531595D4D800BBD41B /* SDL_thread.h in Headers */,
  28.480 -				AA7558551595D4D800BBD41B /* SDL_timer.h in Headers */,
  28.481 -				AA7558571595D4D800BBD41B /* SDL_touch.h in Headers */,
  28.482 -				AA7558591595D4D800BBD41B /* SDL_types.h in Headers */,
  28.483 -				AA75585B1595D4D800BBD41B /* SDL_version.h in Headers */,
  28.484 -				AA75585D1595D4D800BBD41B /* SDL_video.h in Headers */,
  28.485 -				AA75585F1595D4D800BBD41B /* SDL.h in Headers */,
  28.486  				AABCC38E164063D200AB8930 /* SDL_cocoamessagebox.h in Headers */,
  28.487 -				A77E6EB5167AB0A90010E40B /* SDL_gamecontroller.h in Headers */,
  28.488 -				AADA5B8816CCAB3000107CF7 /* SDL_bits.h in Headers */,
  28.489  				D55A1B85179F278E00625D7C /* SDL_cocoamousetap.h in Headers */,
  28.490  			);
  28.491  			runOnlyForDeploymentPostprocessing = 0;
  28.492 @@ -2007,6 +2030,60 @@
  28.493  			isa = PBXHeadersBuildPhase;
  28.494  			buildActionMask = 2147483647;
  28.495  			files = (
  28.496 +				DB0F490C17CA57ED008798C5 /* SDL_filesystem.h in Headers */,
  28.497 +				DB313FC817554B71006C0E22 /* begin_code.h in Headers */,
  28.498 +				DB313FC917554B71006C0E22 /* close_code.h in Headers */,
  28.499 +				DB313FF917554B71006C0E22 /* SDL.h in Headers */,
  28.500 +				DB313FCA17554B71006C0E22 /* SDL_assert.h in Headers */,
  28.501 +				DB313FCB17554B71006C0E22 /* SDL_atomic.h in Headers */,
  28.502 +				DB313FCC17554B71006C0E22 /* SDL_audio.h in Headers */,
  28.503 +				DB313FFC17554B71006C0E22 /* SDL_bits.h in Headers */,
  28.504 +				DB313FCD17554B71006C0E22 /* SDL_blendmode.h in Headers */,
  28.505 +				DB313FCE17554B71006C0E22 /* SDL_clipboard.h in Headers */,
  28.506 +				DB313FD017554B71006C0E22 /* SDL_config.h in Headers */,
  28.507 +				DB313FCF17554B71006C0E22 /* SDL_config_macosx.h in Headers */,
  28.508 +				DB313FD117554B71006C0E22 /* SDL_copying.h in Headers */,
  28.509 +				DB313FD217554B71006C0E22 /* SDL_cpuinfo.h in Headers */,
  28.510 +				DB313FD317554B71006C0E22 /* SDL_endian.h in Headers */,
  28.511 +				DB313FD417554B71006C0E22 /* SDL_error.h in Headers */,
  28.512 +				DB313FD517554B71006C0E22 /* SDL_events.h in Headers */,
  28.513 +				DB313FFB17554B71006C0E22 /* SDL_gamecontroller.h in Headers */,
  28.514 +				DB313FD617554B71006C0E22 /* SDL_gesture.h in Headers */,
  28.515 +				DB313FD717554B71006C0E22 /* SDL_haptic.h in Headers */,
  28.516 +				DB313FD817554B71006C0E22 /* SDL_hints.h in Headers */,
  28.517 +				DB313FD917554B71006C0E22 /* SDL_joystick.h in Headers */,
  28.518 +				DB313FDA17554B71006C0E22 /* SDL_keyboard.h in Headers */,
  28.519 +				DB313FDB17554B71006C0E22 /* SDL_keycode.h in Headers */,
  28.520 +				DB313FDC17554B71006C0E22 /* SDL_loadso.h in Headers */,
  28.521 +				DB313FDD17554B71006C0E22 /* SDL_log.h in Headers */,
  28.522 +				DB313FDE17554B71006C0E22 /* SDL_main.h in Headers */,
  28.523 +				DB0F489317C400E6008798C5 /* SDL_messagebox.h in Headers */,
  28.524 +				DB313FDF17554B71006C0E22 /* SDL_mouse.h in Headers */,
  28.525 +				DB313FE017554B71006C0E22 /* SDL_mutex.h in Headers */,
  28.526 +				DB313FE117554B71006C0E22 /* SDL_name.h in Headers */,
  28.527 +				DB313FE217554B71006C0E22 /* SDL_opengl.h in Headers */,
  28.528 +				DB313FE317554B71006C0E22 /* SDL_opengles.h in Headers */,
  28.529 +				DB313FE417554B71006C0E22 /* SDL_opengles2.h in Headers */,
  28.530 +				DB313FE517554B71006C0E22 /* SDL_pixels.h in Headers */,
  28.531 +				DB313FE617554B71006C0E22 /* SDL_platform.h in Headers */,
  28.532 +				DB313FE717554B71006C0E22 /* SDL_power.h in Headers */,
  28.533 +				DB313FE817554B71006C0E22 /* SDL_quit.h in Headers */,
  28.534 +				DB313FE917554B71006C0E22 /* SDL_rect.h in Headers */,
  28.535 +				DB313FEA17554B71006C0E22 /* SDL_render.h in Headers */,
  28.536 +				DB313FEB17554B71006C0E22 /* SDL_revision.h in Headers */,
  28.537 +				DB313FEC17554B71006C0E22 /* SDL_rwops.h in Headers */,
  28.538 +				DB313FED17554B71006C0E22 /* SDL_scancode.h in Headers */,
  28.539 +				DB313FEE17554B71006C0E22 /* SDL_shape.h in Headers */,
  28.540 +				DB313FEF17554B71006C0E22 /* SDL_stdinc.h in Headers */,
  28.541 +				DB313FF017554B71006C0E22 /* SDL_surface.h in Headers */,
  28.542 +				DB313FF117554B71006C0E22 /* SDL_system.h in Headers */,
  28.543 +				DB313FF217554B71006C0E22 /* SDL_syswm.h in Headers */,
  28.544 +				DB313FF317554B71006C0E22 /* SDL_thread.h in Headers */,
  28.545 +				DB313FF417554B71006C0E22 /* SDL_timer.h in Headers */,
  28.546 +				DB313FF517554B71006C0E22 /* SDL_touch.h in Headers */,
  28.547 +				DB313FF617554B71006C0E22 /* SDL_types.h in Headers */,
  28.548 +				DB313FF717554B71006C0E22 /* SDL_version.h in Headers */,
  28.549 +				DB313FF817554B71006C0E22 /* SDL_video.h in Headers */,
  28.550  				DB313F7417554B71006C0E22 /* SDL_diskaudio.h in Headers */,
  28.551  				DB313F7517554B71006C0E22 /* SDL_dummyaudio.h in Headers */,
  28.552  				DB313F7617554B71006C0E22 /* SDL_coreaudio.h in Headers */,
  28.553 @@ -2090,59 +2167,7 @@
  28.554  				DB313FC517554B71006C0E22 /* SDL_shaders_gl.h in Headers */,
  28.555  				DB313FC617554B71006C0E22 /* SDL_rotate.h in Headers */,
  28.556  				DB313FC717554B71006C0E22 /* SDL_x11xinput2.h in Headers */,
  28.557 -				DB313FC817554B71006C0E22 /* begin_code.h in Headers */,
  28.558 -				DB313FC917554B71006C0E22 /* close_code.h in Headers */,
  28.559 -				DB313FCA17554B71006C0E22 /* SDL_assert.h in Headers */,
  28.560 -				DB313FCB17554B71006C0E22 /* SDL_atomic.h in Headers */,
  28.561 -				DB313FCC17554B71006C0E22 /* SDL_audio.h in Headers */,
  28.562 -				DB313FCD17554B71006C0E22 /* SDL_blendmode.h in Headers */,
  28.563 -				DB313FCE17554B71006C0E22 /* SDL_clipboard.h in Headers */,
  28.564 -				DB313FCF17554B71006C0E22 /* SDL_config_macosx.h in Headers */,
  28.565 -				DB313FD017554B71006C0E22 /* SDL_config.h in Headers */,
  28.566 -				DB313FD117554B71006C0E22 /* SDL_copying.h in Headers */,
  28.567 -				DB313FD217554B71006C0E22 /* SDL_cpuinfo.h in Headers */,
  28.568 -				DB313FD317554B71006C0E22 /* SDL_endian.h in Headers */,
  28.569 -				DB313FD417554B71006C0E22 /* SDL_error.h in Headers */,
  28.570 -				DB313FD517554B71006C0E22 /* SDL_events.h in Headers */,
  28.571 -				DB313FD617554B71006C0E22 /* SDL_gesture.h in Headers */,
  28.572 -				DB313FD717554B71006C0E22 /* SDL_haptic.h in Headers */,
  28.573 -				DB313FD817554B71006C0E22 /* SDL_hints.h in Headers */,
  28.574 -				DB313FD917554B71006C0E22 /* SDL_joystick.h in Headers */,
  28.575 -				DB313FDA17554B71006C0E22 /* SDL_keyboard.h in Headers */,
  28.576 -				DB313FDB17554B71006C0E22 /* SDL_keycode.h in Headers */,
  28.577 -				DB313FDC17554B71006C0E22 /* SDL_loadso.h in Headers */,
  28.578 -				DB313FDD17554B71006C0E22 /* SDL_log.h in Headers */,
  28.579 -				DB313FDE17554B71006C0E22 /* SDL_main.h in Headers */,
  28.580 -				DB313FDF17554B71006C0E22 /* SDL_mouse.h in Headers */,
  28.581 -				DB313FE017554B71006C0E22 /* SDL_mutex.h in Headers */,
  28.582 -				DB313FE117554B71006C0E22 /* SDL_name.h in Headers */,
  28.583 -				DB313FE217554B71006C0E22 /* SDL_opengl.h in Headers */,
  28.584 -				DB313FE317554B71006C0E22 /* SDL_opengles.h in Headers */,
  28.585 -				DB313FE417554B71006C0E22 /* SDL_opengles2.h in Headers */,
  28.586 -				DB313FE517554B71006C0E22 /* SDL_pixels.h in Headers */,
  28.587 -				DB313FE617554B71006C0E22 /* SDL_platform.h in Headers */,
  28.588 -				DB313FE717554B71006C0E22 /* SDL_power.h in Headers */,
  28.589 -				DB313FE817554B71006C0E22 /* SDL_quit.h in Headers */,
  28.590 -				DB313FE917554B71006C0E22 /* SDL_rect.h in Headers */,
  28.591 -				DB313FEA17554B71006C0E22 /* SDL_render.h in Headers */,
  28.592 -				DB313FEB17554B71006C0E22 /* SDL_revision.h in Headers */,
  28.593 -				DB313FEC17554B71006C0E22 /* SDL_rwops.h in Headers */,
  28.594 -				DB313FED17554B71006C0E22 /* SDL_scancode.h in Headers */,
  28.595 -				DB313FEE17554B71006C0E22 /* SDL_shape.h in Headers */,
  28.596 -				DB313FEF17554B71006C0E22 /* SDL_stdinc.h in Headers */,
  28.597 -				DB313FF017554B71006C0E22 /* SDL_surface.h in Headers */,
  28.598 -				DB313FF117554B71006C0E22 /* SDL_system.h in Headers */,
  28.599 -				DB313FF217554B71006C0E22 /* SDL_syswm.h in Headers */,
  28.600 -				DB313FF317554B71006C0E22 /* SDL_thread.h in Headers */,
  28.601 -				DB313FF417554B71006C0E22 /* SDL_timer.h in Headers */,
  28.602 -				DB313FF517554B71006C0E22 /* SDL_touch.h in Headers */,
  28.603 -				DB313FF617554B71006C0E22 /* SDL_types.h in Headers */,
  28.604 -				DB313FF717554B71006C0E22 /* SDL_version.h in Headers */,
  28.605 -				DB313FF817554B71006C0E22 /* SDL_video.h in Headers */,
  28.606 -				DB313FF917554B71006C0E22 /* SDL.h in Headers */,
  28.607  				DB313FFA17554B71006C0E22 /* SDL_cocoamessagebox.h in Headers */,
  28.608 -				DB313FFB17554B71006C0E22 /* SDL_gamecontroller.h in Headers */,
  28.609 -				DB313FFC17554B71006C0E22 /* SDL_bits.h in Headers */,
  28.610  				D55A1B86179F278F00625D7C /* SDL_cocoamousetap.h in Headers */,
  28.611  			);
  28.612  			runOnlyForDeploymentPostprocessing = 0;
  28.613 @@ -2427,6 +2452,7 @@
  28.614  				AA0AD09D16648D1700CE5896 /* SDL_gamecontroller.c in Sources */,
  28.615  				AA0F8491178D5ECC00823F9D /* SDL_systls.c in Sources */,
  28.616  				D55A1B82179F262300625D7C /* SDL_cocoamousetap.m in Sources */,
  28.617 +				567E2F1C17C44BB2005F1892 /* SDL_sysfilesystem.m in Sources */,
  28.618  			);
  28.619  			runOnlyForDeploymentPostprocessing = 0;
  28.620  		};
  28.621 @@ -2544,6 +2570,7 @@
  28.622  				AABCC390164063D200AB8930 /* SDL_cocoamessagebox.m in Sources */,
  28.623  				AA0F8492178D5ECC00823F9D /* SDL_systls.c in Sources */,
  28.624  				D55A1B84179F263600625D7C /* SDL_cocoamousetap.m in Sources */,
  28.625 +				DB0F490817CA5292008798C5 /* SDL_sysfilesystem.m in Sources */,
  28.626  			);
  28.627  			runOnlyForDeploymentPostprocessing = 0;
  28.628  		};
  28.629 @@ -2661,6 +2688,7 @@
  28.630  				DB31406A17554B71006C0E22 /* SDL_cocoamessagebox.m in Sources */,
  28.631  				AA0F8493178D5ECC00823F9D /* SDL_systls.c in Sources */,
  28.632  				D55A1B83179F263500625D7C /* SDL_cocoamousetap.m in Sources */,
  28.633 +				DB0F490A17CA5293008798C5 /* SDL_sysfilesystem.m in Sources */,
  28.634  			);
  28.635  			runOnlyForDeploymentPostprocessing = 0;
  28.636  		};
    29.1 --- a/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj	Sun Oct 27 14:31:57 2013 -0400
    29.2 +++ b/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj	Sun Oct 27 21:26:46 2013 -0400
    29.3 @@ -13,6 +13,8 @@
    29.4  			buildPhases = (
    29.5  			);
    29.6  			dependencies = (
    29.7 +				DB0F490517CA5249008798C5 /* PBXTargetDependency */,
    29.8 +				DB0F490717CA5249008798C5 /* PBXTargetDependency */,
    29.9  				DB166E9816A1D7CF00A1396C /* PBXTargetDependency */,
   29.10  				DB166E9616A1D7CD00A1396C /* PBXTargetDependency */,
   29.11  				DB166E6C16A1D72000A1396C /* PBXTargetDependency */,
   29.12 @@ -397,6 +399,28 @@
   29.13  		BEC567930761D90500A33029 /* testtimer.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4880006D86A17F000001 /* testtimer.c */; };
   29.14  		BEC567AD0761D90500A33029 /* testver.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4882006D86A17F000001 /* testver.c */; };
   29.15  		BEC567F00761D90600A33029 /* torturethread.c in Sources */ = {isa = PBXBuildFile; fileRef = 083E4887006D86A17F000001 /* torturethread.c */; };
   29.16 +		DB0F48DD17CA51E5008798C5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
   29.17 +		DB0F48DE17CA51E5008798C5 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A863B10730545007319AE /* CoreAudio.framework */; };
   29.18 +		DB0F48DF17CA51E5008798C5 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A863C10730545007319AE /* ForceFeedback.framework */; };
   29.19 +		DB0F48E017CA51E5008798C5 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A863D10730545007319AE /* IOKit.framework */; };
   29.20 +		DB0F48E117CA51E5008798C5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A869F10730593007319AE /* AudioToolbox.framework */; };
   29.21 +		DB0F48E217CA51E5008798C5 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A86A010730593007319AE /* CoreFoundation.framework */; };
   29.22 +		DB0F48E317CA51E5008798C5 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A86F2107305CE007319AE /* OpenGL.framework */; };
   29.23 +		DB0F48E417CA51E5008798C5 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A871410730623007319AE /* AudioUnit.framework */; };
   29.24 +		DB0F48E517CA51E5008798C5 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A873910730675007319AE /* Carbon.framework */; };
   29.25 +		DB0F48E617CA51E5008798C5 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA645093FFD41000C53B3 /* libSDL2.a */; };
   29.26 +		DB0F48EE17CA51F8008798C5 /* testdrawchessboard.c in Sources */ = {isa = PBXBuildFile; fileRef = DB0F48D717CA51D2008798C5 /* testdrawchessboard.c */; };
   29.27 +		DB0F48F317CA5212008798C5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F33A709CA188600EBEB88 /* Cocoa.framework */; };
   29.28 +		DB0F48F417CA5212008798C5 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A863B10730545007319AE /* CoreAudio.framework */; };
   29.29 +		DB0F48F517CA5212008798C5 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A863C10730545007319AE /* ForceFeedback.framework */; };
   29.30 +		DB0F48F617CA5212008798C5 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A863D10730545007319AE /* IOKit.framework */; };
   29.31 +		DB0F48F717CA5212008798C5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A869F10730593007319AE /* AudioToolbox.framework */; };
   29.32 +		DB0F48F817CA5212008798C5 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A86A010730593007319AE /* CoreFoundation.framework */; };
   29.33 +		DB0F48F917CA5212008798C5 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A86F2107305CE007319AE /* OpenGL.framework */; };
   29.34 +		DB0F48FA17CA5212008798C5 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A871410730623007319AE /* AudioUnit.framework */; };
   29.35 +		DB0F48FB17CA5212008798C5 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A873910730675007319AE /* Carbon.framework */; };
   29.36 +		DB0F48FC17CA5212008798C5 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 003FA645093FFD41000C53B3 /* libSDL2.a */; };
   29.37 +		DB0F490317CA5225008798C5 /* testfilesystem.c in Sources */ = {isa = PBXBuildFile; fileRef = DB0F48D817CA51D2008798C5 /* testfilesystem.c */; };
   29.38  		DB166D7116A1CFB200A1396C /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A869F10730593007319AE /* AudioToolbox.framework */; };
   29.39  		DB166D7216A1CFB200A1396C /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A871410730623007319AE /* AudioUnit.framework */; };
   29.40  		DB166D7316A1CFB200A1396C /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002A873910730675007319AE /* Carbon.framework */; };
   29.41 @@ -780,6 +804,20 @@
   29.42  			remoteGlobalIDString = BECDF6BE0761BA81005FE872;
   29.43  			remoteInfo = "Standard DMG";
   29.44  		};
   29.45 +		DB0F490417CA5249008798C5 /* PBXContainerItemProxy */ = {
   29.46 +			isa = PBXContainerItemProxy;
   29.47 +			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
   29.48 +			proxyType = 1;
   29.49 +			remoteGlobalIDString = DB0F48D917CA51E5008798C5;
   29.50 +			remoteInfo = testdrawchessboard;
   29.51 +		};
   29.52 +		DB0F490617CA5249008798C5 /* PBXContainerItemProxy */ = {
   29.53 +			isa = PBXContainerItemProxy;
   29.54 +			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
   29.55 +			proxyType = 1;
   29.56 +			remoteGlobalIDString = DB0F48EF17CA5212008798C5;
   29.57 +			remoteInfo = testfilesystem;
   29.58 +		};
   29.59  		DB166D6D16A1CEAA00A1396C /* PBXContainerItemProxy */ = {
   29.60  			isa = PBXContainerItemProxy;
   29.61  			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
   29.62 @@ -904,6 +942,24 @@
   29.63  			);
   29.64  			runOnlyForDeploymentPostprocessing = 0;
   29.65  		};
   29.66 +		DB0F48E717CA51E5008798C5 /* CopyFiles */ = {
   29.67 +			isa = PBXCopyFilesBuildPhase;
   29.68 +			buildActionMask = 2147483647;
   29.69 +			dstPath = "";
   29.70 +			dstSubfolderSpec = 16;
   29.71 +			files = (
   29.72 +			);
   29.73 +			runOnlyForDeploymentPostprocessing = 0;
   29.74 +		};
   29.75 +		DB0F48FD17CA5212008798C5 /* CopyFiles */ = {
   29.76 +			isa = PBXCopyFilesBuildPhase;
   29.77 +			buildActionMask = 2147483647;
   29.78 +			dstPath = "";
   29.79 +			dstSubfolderSpec = 16;
   29.80 +			files = (
   29.81 +			);
   29.82 +			runOnlyForDeploymentPostprocessing = 0;
   29.83 +		};
   29.84  		DB166DDA16A1D40F00A1396C /* CopyFiles */ = {
   29.85  			isa = PBXCopyFilesBuildPhase;
   29.86  			buildActionMask = 2147483647;
   29.87 @@ -1061,6 +1117,10 @@
   29.88  		BEC567980761D90500A33029 /* testtimer */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = text; path = testtimer; sourceTree = BUILT_PRODUCTS_DIR; };
   29.89  		BEC567B20761D90500A33029 /* testversion */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = text; path = testversion; sourceTree = BUILT_PRODUCTS_DIR; };
   29.90  		BEC567F50761D90600A33029 /* torturethread */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = text; path = torturethread; sourceTree = BUILT_PRODUCTS_DIR; };
   29.91 +		DB0F48D717CA51D2008798C5 /* testdrawchessboard.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = testdrawchessboard.c; path = ../../test/testdrawchessboard.c; sourceTree = "<group>"; };
   29.92 +		DB0F48D817CA51D2008798C5 /* testfilesystem.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = testfilesystem.c; path = ../../test/testfilesystem.c; sourceTree = "<group>"; };
   29.93 +		DB0F48EC17CA51E5008798C5 /* testdrawchessboard */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testdrawchessboard; sourceTree = BUILT_PRODUCTS_DIR; };
   29.94 +		DB0F490117CA5212008798C5 /* testfilesystem */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testfilesystem; sourceTree = BUILT_PRODUCTS_DIR; };
   29.95  		DB166CBB16A1C74100A1396C /* testgesture.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = testgesture.c; path = ../../test/testgesture.c; sourceTree = "<group>"; };
   29.96  		DB166CBC16A1C74100A1396C /* testgles.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = testgles.c; path = ../../test/testgles.c; sourceTree = "<group>"; };
   29.97  		DB166CBD16A1C74100A1396C /* testmessage.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = testmessage.c; path = ../../test/testmessage.c; sourceTree = "<group>"; };
   29.98 @@ -1636,6 +1696,40 @@
   29.99  			);
  29.100  			runOnlyForDeploymentPostprocessing = 0;
  29.101  		};
  29.102 +		DB0F48DC17CA51E5008798C5 /* Frameworks */ = {
  29.103 +			isa = PBXFrameworksBuildPhase;
  29.104 +			buildActionMask = 2147483647;
  29.105 +			files = (
  29.106 +				DB0F48DD17CA51E5008798C5 /* Cocoa.framework in Frameworks */,
  29.107 +				DB0F48DE17CA51E5008798C5 /* CoreAudio.framework in Frameworks */,
  29.108 +				DB0F48DF17CA51E5008798C5 /* ForceFeedback.framework in Frameworks */,
  29.109 +				DB0F48E017CA51E5008798C5 /* IOKit.framework in Frameworks */,
  29.110 +				DB0F48E117CA51E5008798C5 /* AudioToolbox.framework in Frameworks */,
  29.111 +				DB0F48E217CA51E5008798C5 /* CoreFoundation.framework in Frameworks */,
  29.112 +				DB0F48E317CA51E5008798C5 /* OpenGL.framework in Frameworks */,
  29.113 +				DB0F48E417CA51E5008798C5 /* AudioUnit.framework in Frameworks */,
  29.114 +				DB0F48E517CA51E5008798C5 /* Carbon.framework in Frameworks */,
  29.115 +				DB0F48E617CA51E5008798C5 /* libSDL2.a in Frameworks */,
  29.116 +			);
  29.117 +			runOnlyForDeploymentPostprocessing = 0;
  29.118 +		};
  29.119 +		DB0F48F217CA5212008798C5 /* Frameworks */ = {
  29.120 +			isa = PBXFrameworksBuildPhase;
  29.121 +			buildActionMask = 2147483647;
  29.122 +			files = (
  29.123 +				DB0F48F317CA5212008798C5 /* Cocoa.framework in Frameworks */,
  29.124 +				DB0F48F417CA5212008798C5 /* CoreAudio.framework in Frameworks */,
  29.125 +				DB0F48F517CA5212008798C5 /* ForceFeedback.framework in Frameworks */,
  29.126 +				DB0F48F617CA5212008798C5 /* IOKit.framework in Frameworks */,
  29.127 +				DB0F48F717CA5212008798C5 /* AudioToolbox.framework in Frameworks */,
  29.128 +				DB0F48F817CA5212008798C5 /* CoreFoundation.framework in Frameworks */,
  29.129 +				DB0F48F917CA5212008798C5 /* OpenGL.framework in Frameworks */,
  29.130 +				DB0F48FA17CA5212008798C5 /* AudioUnit.framework in Frameworks */,
  29.131 +				DB0F48FB17CA5212008798C5 /* Carbon.framework in Frameworks */,
  29.132 +				DB0F48FC17CA5212008798C5 /* libSDL2.a in Frameworks */,
  29.133 +			);
  29.134 +			runOnlyForDeploymentPostprocessing = 0;
  29.135 +		};
  29.136  		DB166D7C16A1D12400A1396C /* Frameworks */ = {
  29.137  			isa = PBXFrameworksBuildPhase;
  29.138  			buildActionMask = 2147483647;
  29.139 @@ -1883,8 +1977,10 @@
  29.140  				0017958F1074216E00F5D044 /* testatomic.c */,
  29.141  				001795B01074222D00F5D044 /* testaudioinfo.c */,
  29.142  				001797711074320D00F5D044 /* testdraw2.c */,
  29.143 +				DB0F48D717CA51D2008798C5 /* testdrawchessboard.c */,
  29.144  				083E4878006D85357F000001 /* testerror.c */,
  29.145  				002F341709CA1C5B00EBEB88 /* testfile.c */,
  29.146 +				DB0F48D817CA51D2008798C5 /* testfilesystem.c */,
  29.147  				BBFC088E164C6820003E6A99 /* testgamecontroller.c */,
  29.148  				DB166CBB16A1C74100A1396C /* testgesture.c */,
  29.149  				0017972710742FB900F5D044 /* testgl2.c */,
  29.150 @@ -1972,6 +2068,8 @@
  29.151  				DB166E6816A1D6F300A1396C /* testshader */,
  29.152  				DB166E7E16A1D78400A1396C /* testspriteminimal */,
  29.153  				DB166E9116A1D78C00A1396C /* teststreaming */,
  29.154 +				DB0F48EC17CA51E5008798C5 /* testdrawchessboard */,
  29.155 +				DB0F490117CA5212008798C5 /* testfilesystem */,
  29.156  			);
  29.157  			name = Products;
  29.158  			sourceTree = "<group>";
  29.159 @@ -2512,6 +2610,40 @@
  29.160  			productReference = BEC567F50761D90600A33029 /* torturethread */;
  29.161  			productType = "com.apple.product-type.tool";
  29.162  		};
  29.163 +		DB0F48D917CA51E5008798C5 /* testdrawchessboard */ = {
  29.164 +			isa = PBXNativeTarget;
  29.165 +			buildConfigurationList = DB0F48E917CA51E5008798C5 /* Build configuration list for PBXNativeTarget "testdrawchessboard" */;
  29.166 +			buildPhases = (
  29.167 +				DB0F48DA17CA51E5008798C5 /* Sources */,
  29.168 +				DB0F48DC17CA51E5008798C5 /* Frameworks */,
  29.169 +				DB0F48E717CA51E5008798C5 /* CopyFiles */,
  29.170 +			);
  29.171 +			buildRules = (
  29.172 +			);
  29.173 +			dependencies = (
  29.174 +			);
  29.175 +			name = testdrawchessboard;
  29.176 +			productName = testalpha;
  29.177 +			productReference = DB0F48EC17CA51E5008798C5 /* testdrawchessboard */;
  29.178 +			productType = "com.apple.product-type.tool";
  29.179 +		};
  29.180 +		DB0F48EF17CA5212008798C5 /* testfilesystem */ = {
  29.181 +			isa = PBXNativeTarget;
  29.182 +			buildConfigurationList = DB0F48FE17CA5212008798C5 /* Build configuration list for PBXNativeTarget "testfilesystem" */;
  29.183 +			buildPhases = (
  29.184 +				DB0F48F017CA5212008798C5 /* Sources */,
  29.185 +				DB0F48F217CA5212008798C5 /* Frameworks */,
  29.186 +				DB0F48FD17CA5212008798C5 /* CopyFiles */,
  29.187 +			);
  29.188 +			buildRules = (
  29.189 +			);
  29.190 +			dependencies = (
  29.191 +			);
  29.192 +			name = testfilesystem;
  29.193 +			productName = testalpha;
  29.194 +			productReference = DB0F490117CA5212008798C5 /* testfilesystem */;
  29.195 +			productType = "com.apple.product-type.tool";
  29.196 +		};
  29.197  		DB166D7E16A1D12400A1396C /* SDL_test */ = {
  29.198  			isa = PBXNativeTarget;
  29.199  			buildConfigurationList = DB166D8016A1D12400A1396C /* Build configuration list for PBXNativeTarget "SDL_test" */;
  29.200 @@ -2730,8 +2862,10 @@
  29.201  				0017957410741F7900F5D044 /* testatomic */,
  29.202  				00179595107421BF00F5D044 /* testaudioinfo */,
  29.203  				00179756107431B300F5D044 /* testdraw2 */,
  29.204 +				DB0F48D917CA51E5008798C5 /* testdrawchessboard */,
  29.205  				BEC566FB0761D90300A33029 /* testerror */,
  29.206  				002F340109CA1BFF00EBEB88 /* testfile */,
  29.207 +				DB0F48EF17CA5212008798C5 /* testfilesystem */,
  29.208  				BBFC08B7164C6862003E6A99 /* testgamecontroller */,
  29.209  				DB166DAD16A1D2F600A1396C /* testgesture */,
  29.210  				0017970910742F3200F5D044 /* testgl2 */,
  29.211 @@ -3052,6 +3186,22 @@
  29.212  			);
  29.213  			runOnlyForDeploymentPostprocessing = 0;
  29.214  		};
  29.215 +		DB0F48DA17CA51E5008798C5 /* Sources */ = {
  29.216 +			isa = PBXSourcesBuildPhase;
  29.217 +			buildActionMask = 2147483647;
  29.218 +			files = (
  29.219 +				DB0F48EE17CA51F8008798C5 /* testdrawchessboard.c in Sources */,
  29.220 +			);
  29.221 +			runOnlyForDeploymentPostprocessing = 0;
  29.222 +		};
  29.223 +		DB0F48F017CA5212008798C5 /* Sources */ = {
  29.224 +			isa = PBXSourcesBuildPhase;
  29.225 +			buildActionMask = 2147483647;
  29.226 +			files = (
  29.227 +				DB0F490317CA5225008798C5 /* testfilesystem.c in Sources */,
  29.228 +			);
  29.229 +			runOnlyForDeploymentPostprocessing = 0;
  29.230 +		};
  29.231  		DB166D7B16A1D12400A1396C /* Sources */ = {
  29.232  			isa = PBXSourcesBuildPhase;
  29.233  			buildActionMask = 2147483647;
  29.234 @@ -3302,6 +3452,16 @@
  29.235  			target = BEC567EA0761D90600A33029 /* torturethread */;
  29.236  			targetProxy = 001799A11074403E00F5D044 /* PBXContainerItemProxy */;
  29.237  		};
  29.238 +		DB0F490517CA5249008798C5 /* PBXTargetDependency */ = {
  29.239 +			isa = PBXTargetDependency;
  29.240 +			target = DB0F48D917CA51E5008798C5 /* testdrawchessboard */;
  29.241 +			targetProxy = DB0F490417CA5249008798C5 /* PBXContainerItemProxy */;
  29.242 +		};
  29.243 +		DB0F490717CA5249008798C5 /* PBXTargetDependency */ = {
  29.244 +			isa = PBXTargetDependency;
  29.245 +			target = DB0F48EF17CA5212008798C5 /* testfilesystem */;
  29.246 +			targetProxy = DB0F490617CA5249008798C5 /* PBXContainerItemProxy */;
  29.247 +		};
  29.248  		DB166D6E16A1CEAA00A1396C /* PBXTargetDependency */ = {
  29.249  			isa = PBXTargetDependency;
  29.250  			target = BBFC08B7164C6862003E6A99 /* testgamecontroller */;
  29.251 @@ -3845,6 +4005,34 @@
  29.252  			};
  29.253  			name = Release;
  29.254  		};
  29.255 +		DB0F48EA17CA51E5008798C5 /* Debug */ = {
  29.256 +			isa = XCBuildConfiguration;
  29.257 +			buildSettings = {
  29.258 +				PRODUCT_NAME = testdrawchessboard;
  29.259 +			};
  29.260 +			name = Debug;
  29.261 +		};
  29.262 +		DB0F48EB17CA51E5008798C5 /* Release */ = {
  29.263 +			isa = XCBuildConfiguration;
  29.264 +			buildSettings = {
  29.265 +				PRODUCT_NAME = testdrawchessboard;
  29.266 +			};
  29.267 +			name = Release;
  29.268 +		};
  29.269 +		DB0F48FF17CA5212008798C5 /* Debug */ = {
  29.270 +			isa = XCBuildConfiguration;
  29.271 +			buildSettings = {
  29.272 +				PRODUCT_NAME = testfilesystem;
  29.273 +			};
  29.274 +			name = Debug;
  29.275 +		};
  29.276 +		DB0F490017CA5212008798C5 /* Release */ = {
  29.277 +			isa = XCBuildConfiguration;
  29.278 +			buildSettings = {
  29.279 +				PRODUCT_NAME = testfilesystem;
  29.280 +			};
  29.281 +			name = Release;
  29.282 +		};
  29.283  		DB166D8116A1D12400A1396C /* Debug */ = {
  29.284  			isa = XCBuildConfiguration;
  29.285  			buildSettings = {
  29.286 @@ -4301,6 +4489,24 @@
  29.287  			defaultConfigurationIsVisible = 0;
  29.288  			defaultConfigurationName = Debug;
  29.289  		};
  29.290 +		DB0F48E917CA51E5008798C5 /* Build configuration list for PBXNativeTarget "testdrawchessboard" */ = {
  29.291 +			isa = XCConfigurationList;
  29.292 +			buildConfigurations = (
  29.293 +				DB0F48EA17CA51E5008798C5 /* Debug */,
  29.294 +				DB0F48EB17CA51E5008798C5 /* Release */,
  29.295 +			);
  29.296 +			defaultConfigurationIsVisible = 0;
  29.297 +			defaultConfigurationName = Debug;
  29.298 +		};
  29.299 +		DB0F48FE17CA5212008798C5 /* Build configuration list for PBXNativeTarget "testfilesystem" */ = {
  29.300 +			isa = XCConfigurationList;
  29.301 +			buildConfigurations = (
  29.302 +				DB0F48FF17CA5212008798C5 /* Debug */,
  29.303 +				DB0F490017CA5212008798C5 /* Release */,
  29.304 +			);
  29.305 +			defaultConfigurationIsVisible = 0;
  29.306 +			defaultConfigurationName = Debug;
  29.307 +		};
  29.308  		DB166D8016A1D12400A1396C /* Build configuration list for PBXNativeTarget "SDL_test" */ = {
  29.309  			isa = XCConfigurationList;
  29.310  			buildConfigurations = (
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/android-project/jni/src/Android_static.mk	Sun Oct 27 21:26:46 2013 -0400
    30.3 @@ -0,0 +1,12 @@
    30.4 +LOCAL_PATH := $(call my-dir)
    30.5 +
    30.6 +include $(CLEAR_VARS)
    30.7 +
    30.8 +LOCAL_MODULE := main
    30.9 +
   30.10 +LOCAL_SRC_FILES := YourSourceHere.c
   30.11 +
   30.12 +LOCAL_STATIC_LIBRARIES := SDL2_static
   30.13 +
   30.14 +include $(BUILD_SHARED_LIBRARY)
   30.15 +$(call import-module,SDL)LOCAL_PATH := $(call my-dir)
    31.1 --- a/android-project/src/org/libsdl/app/SDLActivity.java	Sun Oct 27 14:31:57 2013 -0400
    31.2 +++ b/android-project/src/org/libsdl/app/SDLActivity.java	Sun Oct 27 21:26:46 2013 -0400
    31.3 @@ -1,10 +1,6 @@
    31.4  package org.libsdl.app;
    31.5  
    31.6 -import javax.microedition.khronos.egl.EGL10;
    31.7 -import javax.microedition.khronos.egl.EGLConfig;
    31.8 -import javax.microedition.khronos.egl.EGLContext;
    31.9 -import javax.microedition.khronos.egl.EGLDisplay;
   31.10 -import javax.microedition.khronos.egl.EGLSurface;
   31.11 +import java.util.Arrays;
   31.12  
   31.13  import android.app.*;
   31.14  import android.content.*;
   31.15 @@ -43,13 +39,6 @@
   31.16      protected static Thread mAudioThread;
   31.17      protected static AudioTrack mAudioTrack;
   31.18  
   31.19 -    // EGL objects
   31.20 -    protected static EGLContext  mEGLContext;
   31.21 -    protected static EGLSurface  mEGLSurface;
   31.22 -    protected static EGLDisplay  mEGLDisplay;
   31.23 -    protected static EGLConfig   mEGLConfig;
   31.24 -    protected static int mGLMajor, mGLMinor;
   31.25 -
   31.26      // Load the .so
   31.27      static {
   31.28          System.loadLibrary("SDL2");
   31.29 @@ -70,9 +59,7 @@
   31.30          mSingleton = this;
   31.31  
   31.32          // Set up the surface
   31.33 -        mEGLSurface = EGL10.EGL_NO_SURFACE;
   31.34          mSurface = new SDLSurface(getApplication());
   31.35 -        mEGLContext = EGL10.EGL_NO_CONTEXT;
   31.36  
   31.37          mLayout = new AbsoluteLayout(this);
   31.38          mLayout.addView(mSurface);
   31.39 @@ -137,9 +124,13 @@
   31.40      @Override
   31.41      public boolean dispatchKeyEvent(KeyEvent event) {
   31.42          int keyCode = event.getKeyCode();
   31.43 -        // Ignore volume keys so they're handled by Android
   31.44 +        // Ignore certain special keys so they're handled by Android
   31.45          if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN ||
   31.46 -            keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
   31.47 +            keyCode == KeyEvent.KEYCODE_VOLUME_UP ||
   31.48 +            keyCode == KeyEvent.KEYCODE_CAMERA ||
   31.49 +            keyCode == 168 || /* API 11: KeyEvent.KEYCODE_ZOOM_IN */
   31.50 +            keyCode == 169 /* API 11: KeyEvent.KEYCODE_ZOOM_OUT */
   31.51 +            ) {
   31.52              return false;
   31.53          }
   31.54          return super.dispatchKeyEvent(event);
   31.55 @@ -252,29 +243,12 @@
   31.56                                              int action, float x, 
   31.57                                              float y, float p);
   31.58      public static native void onNativeAccel(float x, float y, float z);
   31.59 -
   31.60 -    // Java functions called from C
   31.61 -
   31.62 -    public static boolean createGLContext(int majorVersion, int minorVersion, int[] attribs) {
   31.63 -        return initEGL(majorVersion, minorVersion, attribs);
   31.64 -    }
   31.65 -    
   31.66 -    public static void deleteGLContext() {
   31.67 -        if (SDLActivity.mEGLDisplay != null && SDLActivity.mEGLContext != EGL10.EGL_NO_CONTEXT) {
   31.68 -            EGL10 egl = (EGL10)EGLContext.getEGL();
   31.69 -            egl.eglMakeCurrent(SDLActivity.mEGLDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT);
   31.70 -            egl.eglDestroyContext(SDLActivity.mEGLDisplay, SDLActivity.mEGLContext);
   31.71 -            SDLActivity.mEGLContext = EGL10.EGL_NO_CONTEXT;
   31.72 -
   31.73 -            if (SDLActivity.mEGLSurface != EGL10.EGL_NO_SURFACE) {
   31.74 -                egl.eglDestroySurface(SDLActivity.mEGLDisplay, SDLActivity.mEGLSurface);
   31.75 -                SDLActivity.mEGLSurface = EGL10.EGL_NO_SURFACE;
   31.76 -            }
   31.77 -        }
   31.78 -    }
   31.79 +    public static native void onNativeSurfaceChanged();
   31.80 +    public static native void onNativeSurfaceDestroyed();
   31.81 +    public static native void nativeFlipBuffers();
   31.82  
   31.83      public static void flipBuffers() {
   31.84 -        flipEGL();
   31.85 +        SDLActivity.nativeFlipBuffers();
   31.86      }
   31.87  
   31.88      public static boolean setActivityTitle(String title) {
   31.89 @@ -332,147 +306,9 @@
   31.90          // Transfer the task to the main thread as a Runnable
   31.91          return mSingleton.commandHandler.post(new ShowTextInputTask(x, y, w, h));
   31.92      }
   31.93 -
   31.94 -
   31.95 -    // EGL functions
   31.96 -    public static boolean initEGL(int majorVersion, int minorVersion, int[] attribs) {
   31.97 -        try {
   31.98 -            EGL10 egl = (EGL10)EGLContext.getEGL();
   31.99              
  31.100 -            if (SDLActivity.mEGLDisplay == null) {
  31.101 -                SDLActivity.mEGLDisplay = egl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);
  31.102 -                int[] version = new int[2];
  31.103 -                egl.eglInitialize(SDLActivity.mEGLDisplay, version);
  31.104 -            }
  31.105 -            
  31.106 -            if (SDLActivity.mEGLDisplay != null && SDLActivity.mEGLContext == EGL10.EGL_NO_CONTEXT) {
  31.107 -                // No current GL context exists, we will create a new one.
  31.108 -                Log.v("SDL", "Starting up OpenGL ES " + majorVersion + "." + minorVersion);
  31.109 -                EGLConfig[] configs = new EGLConfig[128];
  31.110 -                int[] num_config = new int[1];
  31.111 -                if (!egl.eglChooseConfig(SDLActivity.mEGLDisplay, attribs, configs, 1, num_config) || num_config[0] == 0) {
  31.112 -                    Log.e("SDL", "No EGL config available");
  31.113 -                    return false;
  31.114 -                }
  31.115 -                EGLConfig config = null;
  31.116 -                int bestdiff = -1, bitdiff;
  31.117 -                int[] value = new int[1];
  31.118 -                
  31.119 -                // eglChooseConfig returns a number of configurations that match or exceed the requested attribs.
  31.120 -                // From those, we select the one that matches our requirements more closely
  31.121 -                Log.v("SDL", "Got " + num_config[0] + " valid modes from egl");
  31.122 -                for(int i = 0; i < num_config[0]; i++) {
  31.123 -                    bitdiff = 0;
  31.124 -                    // Go through some of the attributes and compute the bit difference between what we want and what we get.
  31.125 -                    for (int j = 0; ; j += 2) {
  31.126 -                        if (attribs[j] == EGL10.EGL_NONE)
  31.127 -                            break;
  31.128 -
  31.129 -                        if (attribs[j+1] != EGL10.EGL_DONT_CARE && (attribs[j] == EGL10.EGL_RED_SIZE ||
  31.130 -                            attribs[j] == EGL10.EGL_GREEN_SIZE ||
  31.131 -                            attribs[j] == EGL10.EGL_BLUE_SIZE ||
  31.132 -                            attribs[j] == EGL10.EGL_ALPHA_SIZE ||
  31.133 -                            attribs[j] == EGL10.EGL_DEPTH_SIZE ||
  31.134 -                            attribs[j] == EGL10.EGL_STENCIL_SIZE)) {
  31.135 -                            egl.eglGetConfigAttrib(SDLActivity.mEGLDisplay, configs[i], attribs[j], value);
  31.136 -                            bitdiff += value[0] - attribs[j + 1]; // value is always >= attrib
  31.137 -                        }
  31.138 -                    }
  31.139 -                    
  31.140 -                    if (bitdiff < bestdiff || bestdiff == -1) {
  31.141 -                        config = configs[i];
  31.142 -                        bestdiff = bitdiff;
  31.143 -                    }
  31.144 -                    
  31.145 -                    if (bitdiff == 0) break; // we found an exact match!
  31.146 -                }
  31.147 -                
  31.148 -                Log.d("SDL", "Selected mode with a total bit difference of " + bestdiff);
  31.149 -
  31.150 -                SDLActivity.mEGLConfig = config;
  31.151 -                SDLActivity.mGLMajor = majorVersion;
  31.152 -                SDLActivity.mGLMinor = minorVersion;
  31.153 -            }
  31.154 -            
  31.155 -            return SDLActivity.createEGLSurface();
  31.156 -
  31.157 -        } catch(Exception e) {
  31.158 -            Log.v("SDL", e + "");
  31.159 -            for (StackTraceElement s : e.getStackTrace()) {
  31.160 -                Log.v("SDL", s.toString());
  31.161 -            }
  31.162 -            return false;
  31.163 -        }
  31.164 -    }
  31.165 -
  31.166 -    public static boolean createEGLContext() {
  31.167 -        EGL10 egl = (EGL10)EGLContext.getEGL();
  31.168 -        int EGL_CONTEXT_CLIENT_VERSION=0x3098;
  31.169 -        int contextAttrs[] = new int[] { EGL_CONTEXT_CLIENT_VERSION, SDLActivity.mGLMajor, EGL10.EGL_NONE };
  31.170 -        SDLActivity.mEGLContext = egl.eglCreateContext(SDLActivity.mEGLDisplay, SDLActivity.mEGLConfig, EGL10.EGL_NO_CONTEXT, contextAttrs);
  31.171 -        if (SDLActivity.mEGLContext == EGL10.EGL_NO_CONTEXT) {
  31.172 -            Log.e("SDL", "Couldn't create context");
  31.173 -            return false;
  31.174 -        }
  31.175 -        return true;
  31.176 -    }
  31.177 -
  31.178 -    public static boolean createEGLSurface() {
  31.179 -        if (SDLActivity.mEGLDisplay != null && SDLActivity.mEGLConfig != null) {
  31.180 -            EGL10 egl = (EGL10)EGLContext.getEGL();
  31.181 -            if (SDLActivity.mEGLContext == EGL10.EGL_NO_CONTEXT) createEGLContext();
  31.182 -
  31.183 -            if (SDLActivity.mEGLSurface == EGL10.EGL_NO_SURFACE) {
  31.184 -                Log.v("SDL", "Creating new EGL Surface");
  31.185 -                SDLActivity.mEGLSurface = egl.eglCreateWindowSurface(SDLActivity.mEGLDisplay, SDLActivity.mEGLConfig, SDLActivity.mSurface, null);
  31.186 -                if (SDLActivity.mEGLSurface == EGL10.EGL_NO_SURFACE) {
  31.187 -                    Log.e("SDL", "Couldn't create surface");
  31.188 -                    return false;
  31.189 -                }
  31.190 -            }
  31.191 -            else Log.v("SDL", "EGL Surface remains valid");
  31.192 -
  31.193 -            if (egl.eglGetCurrentContext() != SDLActivity.mEGLContext) {
  31.194 -                if (!egl.eglMakeCurrent(SDLActivity.mEGLDisplay, SDLActivity.mEGLSurface, SDLActivity.mEGLSurface, SDLActivity.mEGLContext)) {
  31.195 -                    Log.e("SDL", "Old EGL Context doesnt work, trying with a new one");
  31.196 -                    // TODO: Notify the user via a message that the old context could not be restored, and that textures need to be manually restored.
  31.197 -                    createEGLContext();
  31.198 -                    if (!egl.eglMakeCurrent(SDLActivity.mEGLDisplay, SDLActivity.mEGLSurface, SDLActivity.mEGLSurface, SDLActivity.mEGLContext)) {
  31.199 -                        Log.e("SDL", "Failed making EGL Context current");
  31.200 -                        return false;
  31.201 -                    }
  31.202 -                }
  31.203 -                else Log.v("SDL", "EGL Context made current");
  31.204 -            }
  31.205 -            else Log.v("SDL", "EGL Context remains current");
  31.206 -
  31.207 -            return true;
  31.208 -        } else {
  31.209 -            Log.e("SDL", "Surface creation failed, display = " + SDLActivity.mEGLDisplay + ", config = " + SDLActivity.mEGLConfig);
  31.210 -            return false;
  31.211 -        }
  31.212 -    }
  31.213 -
  31.214 -    // EGL buffer flip
  31.215 -    public static void flipEGL() {
  31.216 -        try {
  31.217 -            EGL10 egl = (EGL10)EGLContext.getEGL();
  31.218 -
  31.219 -            egl.eglWaitNative(EGL10.EGL_CORE_NATIVE_ENGINE, null);
  31.220 -
  31.221 -            // drawing here
  31.222 -
  31.223 -            egl.eglWaitGL();
  31.224 -
  31.225 -            egl.eglSwapBuffers(SDLActivity.mEGLDisplay, SDLActivity.mEGLSurface);
  31.226 -
  31.227 -
  31.228 -        } catch(Exception e) {
  31.229 -            Log.v("SDL", "flipEGL(): " + e);
  31.230 -            for (StackTraceElement s : e.getStackTrace()) {
  31.231 -                Log.v("SDL", s.toString());
  31.232 -            }
  31.233 -        }
  31.234 +    public static Surface getNativeSurface() {
  31.235 +        return SDLActivity.mSurface.getNativeSurface();
  31.236      }
  31.237  
  31.238      // Audio
  31.239 @@ -552,6 +388,24 @@
  31.240              mAudioTrack = null;
  31.241          }
  31.242      }
  31.243 +
  31.244 +    // Input
  31.245 +
  31.246 +    /**
  31.247 +     * @return an array which may be empty but is never null.
  31.248 +     */
  31.249 +    public static int[] inputGetInputDeviceIds(int sources) {
  31.250 +        int[] ids = InputDevice.getDeviceIds();
  31.251 +        int[] filtered = new int[ids.length];
  31.252 +        int used = 0;
  31.253 +        for (int i = 0; i < ids.length; ++i) {
  31.254 +            InputDevice device = InputDevice.getDevice(ids[i]);
  31.255 +            if ((device != null) && ((device.getSources() & sources) != 0)) {
  31.256 +                filtered[used++] = device.getId();
  31.257 +            }
  31.258 +        }
  31.259 +        return Arrays.copyOf(filtered, used);
  31.260 +    }
  31.261  }
  31.262  
  31.263  /**
  31.264 @@ -579,6 +433,7 @@
  31.265  
  31.266      // Sensors
  31.267      protected static SensorManager mSensorManager;
  31.268 +    protected static Display mDisplay;
  31.269  
  31.270      // Keep track of the surface size to normalize touch events
  31.271      protected static float mWidth, mHeight;
  31.272 @@ -594,20 +449,23 @@
  31.273          setOnKeyListener(this); 
  31.274          setOnTouchListener(this);   
  31.275  
  31.276 +        mDisplay = ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
  31.277          mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
  31.278  
  31.279          // Some arbitrary defaults to avoid a potential division by zero
  31.280          mWidth = 1.0f;
  31.281          mHeight = 1.0f;
  31.282      }
  31.283 +    
  31.284 +    public Surface getNativeSurface() {
  31.285 +        return getHolder().getSurface();
  31.286 +    }
  31.287  
  31.288      // Called when we have a valid drawing surface
  31.289      @Override
  31.290      public void surfaceCreated(SurfaceHolder holder) {
  31.291          Log.v("SDL", "surfaceCreated()");
  31.292          holder.setType(SurfaceHolder.SURFACE_TYPE_GPU);
  31.293 -        // Set mIsSurfaceReady to 'true' *before* any call to handleResume
  31.294 -        SDLActivity.mIsSurfaceReady = true;
  31.295      }
  31.296  
  31.297      // Called when we lose the surface
  31.298 @@ -617,16 +475,7 @@
  31.299          // Call this *before* setting mIsSurfaceReady to 'false'
  31.300          SDLActivity.handlePause();
  31.301          SDLActivity.mIsSurfaceReady = false;
  31.302 -
  31.303 -        /* We have to clear the current context and destroy the egl surface here
  31.304 -         * Otherwise there's BAD_NATIVE_WINDOW errors coming from eglCreateWindowSurface on resume
  31.305 -         * Ref: http://stackoverflow.com/questions/8762589/eglcreatewindowsurface-on-ics-and-switching-from-2d-to-3d
  31.306 -         */
  31.307 -        
  31.308 -        EGL10 egl = (EGL10)EGLContext.getEGL();
  31.309 -        egl.eglMakeCurrent(SDLActivity.mEGLDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT);
  31.310 -        egl.eglDestroySurface(SDLActivity.mEGLDisplay, SDLActivity.mEGLSurface);
  31.311 -        SDLActivity.mEGLSurface = EGL10.EGL_NO_SURFACE;
  31.312 +        SDLActivity.onNativeSurfaceDestroyed();
  31.313      }
  31.314  
  31.315      // Called when the surface is resized
  31.316 @@ -687,6 +536,8 @@
  31.317  
  31.318          // Set mIsSurfaceReady to 'true' *before* making a call to handleResume
  31.319          SDLActivity.mIsSurfaceReady = true;
  31.320 +        SDLActivity.onNativeSurfaceChanged();
  31.321 +
  31.322  
  31.323          if (SDLActivity.mSDLThread == null) {
  31.324              // This is the entry point to the C app.
  31.325 @@ -695,11 +546,6 @@
  31.326              SDLActivity.mSDLThread = new Thread(new SDLMain(), "SDLThread");
  31.327              enableSensor(Sensor.TYPE_ACCELEROMETER, true);
  31.328              SDLActivity.mSDLThread.start();
  31.329 -        } else {
  31.330 -            // The app already exists, we resume via handleResume
  31.331 -            // Multiple sequential calls to surfaceChanged are handled internally by handleResume
  31.332 -
  31.333 -            SDLActivity.handleResume();
  31.334          }
  31.335      }
  31.336  
  31.337 @@ -777,9 +623,28 @@
  31.338      @Override
  31.339      public void onSensorChanged(SensorEvent event) {
  31.340          if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
  31.341 -            SDLActivity.onNativeAccel(event.values[0] / SensorManager.GRAVITY_EARTH,
  31.342 -                                      event.values[1] / SensorManager.GRAVITY_EARTH,
  31.343 -                                      event.values[2] / SensorManager.GRAVITY_EARTH);
  31.344 +            float x, y;
  31.345 +            switch (mDisplay.getRotation()) {
  31.346 +                case Surface.ROTATION_90:
  31.347 +                    x = -event.values[1];
  31.348 +                    y = event.values[0];
  31.349 +                    break;
  31.350 +                case Surface.ROTATION_270:
  31.351 +                    x = event.values[1];
  31.352 +                    y = -event.values[0];
  31.353 +                    break;
  31.354 +                case Surface.ROTATION_180:
  31.355 +                    x = -event.values[1];
  31.356 +                    y = -event.values[0];
  31.357 +                    break;
  31.358 +                default:
  31.359 +                    x = event.values[0];
  31.360 +                    y = event.values[1];
  31.361 +                    break;
  31.362 +            }
  31.363 +            SDLActivity.onNativeAccel(-x / SensorManager.GRAVITY_EARTH,
  31.364 +                                      y / SensorManager.GRAVITY_EARTH,
  31.365 +                                      event.values[2] / SensorManager.GRAVITY_EARTH - 1);
  31.366          }
  31.367      }
  31.368      
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/build-scripts/androidbuild.sh	Sun Oct 27 21:26:46 2013 -0400
    32.3 @@ -0,0 +1,114 @@
    32.4 +#!/bin/bash
    32.5 +
    32.6 +SOURCES=()
    32.7 +MKSOURCES=""
    32.8 +CURDIR=`pwd -P`
    32.9 +
   32.10 +# Fetch sources
   32.11 +if [[ $# -ge 2 ]]; then
   32.12 +    for src in ${@:2}
   32.13 +    do
   32.14 +        SOURCES+=($src)
   32.15 +        MKSOURCES="$MKSOURCES $(basename $src)"
   32.16 +    done
   32.17 +else
   32.18 +    if [ -n "$1" ]; then
   32.19 +        while read src
   32.20 +        do
   32.21 +            SOURCES+=($src)
   32.22 +            MKSOURCES="$MKSOURCES $(basename $src)"
   32.23 +        done
   32.24 +    fi
   32.25 +fi
   32.26 +
   32.27 +if [ -z "$1" ] || [ -z "$SOURCES" ]; then
   32.28 +    echo "Usage: androidbuild.sh com.yourcompany.yourapp < sources.list"
   32.29 +    echo "Usage: androidbuild.sh com.yourcompany.yourapp source1.c source2.c ...sourceN.c"
   32.30 +    exit 1
   32.31 +fi
   32.32 +
   32.33 +
   32.34 +
   32.35 +SDLPATH="$( cd "$(dirname "$0")/.." ; pwd -P )"
   32.36 +
   32.37 +NDKBUILD=`which ndk-build`
   32.38 +if [ -z "$NDKBUILD" ];then
   32.39 +    echo "Could not find the ndk-build utility, install Android's NDK and add it to the path"
   32.40 +    exit 1
   32.41 +fi
   32.42 +
   32.43 +ANDROID=`which android`
   32.44 +if [ -z "$ANDROID" ];then
   32.45 +    echo "Could not find the android utility, install Android's SDK and add it to the path"
   32.46 +    exit 1
   32.47 +fi
   32.48 +
   32.49 +ANT=`which ant`
   32.50 +
   32.51 +if [ -z "$ANT" ];then
   32.52 +    echo "Could not find the ant utility, install Android's SDK and add it to the path"
   32.53 +    exit 1
   32.54 +fi
   32.55 +
   32.56 +APP="$1"
   32.57 +APPARR=(${APP//./ })
   32.58 +BUILDPATH="$SDLPATH/build/$APP"
   32.59 +
   32.60 +# Start Building
   32.61 +
   32.62 +rm -rf $BUILDPATH
   32.63 +mkdir -p $BUILDPATH
   32.64 +
   32.65 +cp -r $SDLPATH/android-project/* $BUILDPATH
   32.66 +
   32.67 +# Copy SDL sources
   32.68 +mkdir -p $BUILDPATH/jni/SDL
   32.69 +cp -r $SDLPATH/src $BUILDPATH/jni/SDL
   32.70 +cp -r $SDLPATH/include $BUILDPATH/jni/SDL
   32.71 +cp $SDLPATH/Android.mk $BUILDPATH/jni/SDL
   32.72 +sed -i "s|YourSourceHere.c|$MKSOURCES|g" $BUILDPATH/jni/src/Android.mk
   32.73 +sed -i "s|org\.libsdl\.app|$APP|g" $BUILDPATH/AndroidManifest.xml
   32.74 +
   32.75 +# Copy user sources
   32.76 +for src in "${SOURCES[@]}"
   32.77 +do
   32.78 +    cp $src $BUILDPATH/jni/src
   32.79 +done
   32.80 +
   32.81 +# Create an inherited Activity
   32.82 +cd $BUILDPATH/src
   32.83 +for folder in "${APPARR[@]}"
   32.84 +do
   32.85 +    mkdir -p $folder
   32.86 +    cd $folder
   32.87 +done
   32.88 +
   32.89 +ACTIVITY="${folder}Activity"
   32.90 +sed -i "s|SDLActivity|$ACTIVITY|g" $BUILDPATH/AndroidManifest.xml
   32.91 +sed -i "s|SDLActivity|$APP|g" $BUILDPATH/build.xml
   32.92 +
   32.93 +# Fill in a default Activity
   32.94 +echo "package $APP;" >  "$ACTIVITY.java"
   32.95 +echo "import org.libsdl.app.SDLActivity;" >> "$ACTIVITY.java"
   32.96 +echo "public class $ACTIVITY extends SDLActivity {}" >> "$ACTIVITY.java"
   32.97 +
   32.98 +# Update project and build
   32.99 +cd $BUILDPATH
  32.100 +android update project --path $BUILDPATH
  32.101 +$NDKBUILD
  32.102 +$ANT debug
  32.103 +
  32.104 +cd $CURDIR
  32.105 +
  32.106 +APK="$BUILDPATH/bin/$APP-debug.apk"
  32.107 +
  32.108 +if [ -f "$APK" ]; then
  32.109 +    echo "Your APK is ready at $APK"
  32.110 +    echo "To install to your device: "
  32.111 +    echo "cd  $BUILDPATH"
  32.112 +    echo "ant debug install"
  32.113 +    exit 0
  32.114 +fi
  32.115 +
  32.116 +echo "There was an error building the APK"
  32.117 +exit 1
  32.118 \ No newline at end of file
    33.1 --- a/build-scripts/config.guess	Sun Oct 27 14:31:57 2013 -0400
    33.2 +++ b/build-scripts/config.guess	Sun Oct 27 21:26:46 2013 -0400
    33.3 @@ -896,12 +896,16 @@
    33.4  	then
    33.5  	    echo ${UNAME_MACHINE}-unknown-linux-gnu
    33.6  	else
    33.7 +        case `sed -n '/^Hardware/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
    33.8 +        BCM2708) MANUFACTURER=raspberry;;
    33.9 +        *) MANUFACTURER=unknown;;
   33.10 +        esac
   33.11  	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
   33.12  		| grep -q __ARM_PCS_VFP
   33.13  	    then
   33.14 -		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
   33.15 +		echo ${UNAME_MACHINE}-${MANUFACTURER}-linux-gnueabi
   33.16  	    else
   33.17 -		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
   33.18 +		echo ${UNAME_MACHINE}-${MANUFACTURER}-linux-gnueabihf
   33.19  	    fi
   33.20  	fi
   33.21  	exit ;;
    34.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.2 +++ b/build-scripts/raspberrypi-buildbot.sh	Sun Oct 27 21:26:46 2013 -0400
    34.3 @@ -0,0 +1,60 @@
    34.4 +#!/bin/bash
    34.5 +
    34.6 +# This is the script buildbot.libsdl.org uses to cross-compile SDL2 from
    34.7 +#  x86 Linux to Raspberry Pi.
    34.8 +
    34.9 +# The final tarball can be unpacked in the root directory of a RPi,
   34.10 +#  so the SDL2 install lands in /usr/local. Run ldconfig, and then
   34.11 +#  you should be able to build and run SDL2-based software on your
   34.12 +#  Pi. Standard configure scripts should be able to find SDL and
   34.13 +#  build against it, and sdl2-config should work correctly on the
   34.14 +#  actual device.
   34.15 +
   34.16 +TARBALL="$1"
   34.17 +if [ -z $1 ]; then
   34.18 +    TARBALL=sdl-raspberrypi.tar.bz2
   34.19 +fi
   34.20 +
   34.21 +OSTYPE=`uname -s`
   34.22 +if [ "$OSTYPE" != "Linux" ]; then
   34.23 +    # !!! FIXME
   34.24 +    echo "This only works on x86 or x64-64 Linux at the moment." 1>&2
   34.25 +    exit 1
   34.26 +fi
   34.27 +
   34.28 +if [ "x$MAKE" == "x" ]; then
   34.29 +    NCPU=`cat /proc/cpuinfo |grep vendor_id |wc -l`
   34.30 +    let NCPU=$NCPU+1
   34.31 +    MAKE="make -j$NCPU"
   34.32 +fi
   34.33 +
   34.34 +BUILDBOTDIR="raspberrypi-buildbot"
   34.35 +PARENTDIR="$PWD"
   34.36 +
   34.37 +set -e
   34.38 +set -x
   34.39 +rm -f $TARBALL
   34.40 +rm -rf $BUILDBOTDIR
   34.41 +mkdir -p $BUILDBOTDIR
   34.42 +pushd $BUILDBOTDIR
   34.43 +
   34.44 +SYSROOT="/opt/rpi-sysroot"
   34.45 +export CC="/opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux"
   34.46 +# -L$SYSROOT/usr/lib/arm-linux-gnueabihf"
   34.47 +# !!! FIXME: shouldn't have to --disable-* things here.
   34.48 +../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd
   34.49 +$MAKE
   34.50 +$MAKE install
   34.51 +# Fix up a few things to a real install path on a real Raspberry Pi...
   34.52 +perl -w -pi -e "s#$PWD/rpi-sdl2-installed#/usr/local#g;" ./rpi-sdl2-installed/lib/libSDL2.la ./rpi-sdl2-installed/lib/pkgconfig/sdl2.pc ./rpi-sdl2-installed/bin/sdl2-config
   34.53 +mkdir -p ./usr
   34.54 +mv ./rpi-sdl2-installed ./usr/local
   34.55 +
   34.56 +popd
   34.57 +tar -cjvvf $TARBALL -C $BUILDBOTDIR usr
   34.58 +rm -rf $BUILDBOTDIR
   34.59 +
   34.60 +set +x
   34.61 +echo "All done. Final installable is in $TARBALL ...";
   34.62 +
   34.63 +
    35.1 --- a/cmake/sdlchecks.cmake	Sun Oct 27 14:31:57 2013 -0400
    35.2 +++ b/cmake/sdlchecks.cmake	Sun Oct 27 21:26:46 2013 -0400
    35.3 @@ -304,6 +304,11 @@
    35.4        endif()
    35.5      endforeach()
    35.6  
    35.7 +    find_path(X_INCLUDEDIR X11/Xlib.h)
    35.8 +    if(X_INCLUDEDIR)
    35.9 +      set(X_CFLAGS "-I${X_INCLUDEDIR}")
   35.10 +    endif()
   35.11 +
   35.12      check_include_file(X11/Xcursor/Xcursor.h HAVE_XCURSOR_H)
   35.13      check_include_file(X11/extensions/Xinerama.h HAVE_XINERAMA_H)
   35.14      check_include_file(X11/extensions/XInput2.h HAVE_XINPUT_H)
   35.15 @@ -345,6 +350,7 @@
   35.16          endif(HAVE_SHMAT)
   35.17          if(NOT HAVE_SHMAT)
   35.18            add_definitions(-DNO_SHARED_MEMORY)
   35.19 +          set(X_CFLAGS "${X_CFLAGS} -DNO_SHARED_MEMORY")
   35.20          endif(NOT HAVE_SHMAT)
   35.21        endif(NOT HAVE_SHMAT)
   35.22  
   35.23 @@ -367,6 +373,8 @@
   35.24          endif(HAVE_X11_SHARED)
   35.25        endif(X11_SHARED)
   35.26  
   35.27 +      set(SDL_CFLAGS "${SDL_CFLAGS} ${X_CFLAGS}")
   35.28 +
   35.29        set(CMAKE_REQUIRED_LIBRARIES ${X11_LIB} ${X11_LIB})
   35.30        check_c_source_compiles("
   35.31            #include <X11/Xlib.h>
   35.32 @@ -563,25 +571,29 @@
   35.33    if(VIDEO_OPENGLES)
   35.34      check_c_source_compiles("
   35.35          #include <EGL/egl.h>
   35.36 -        int main (int argc, char** argv) {}" HAVE_VIDEO_OPENGLES)
   35.37 -    if(HAVE_VIDEO_OPENGLES)
   35.38 -      check_c_source_compiles("
   35.39 -          #include <GLES/gl.h>
   35.40 -          #include <GLES/glext.h>
   35.41 -          int main (int argc, char** argv) {}" HAVE_VIDEO_OPENGLES_V1)
   35.42 -      if(HAVE_VIDEO_OPENGLES_V1)
   35.43 +        int main (int argc, char** argv) {}" HAVE_VIDEO_OPENGL_EGL)
   35.44 +    if(HAVE_VIDEO_OPENGL_EGL)
   35.45 +        set(SDL_VIDEO_OPENGL_EGL 1)
   35.46 +    endif(HAVE_VIDEO_OPENGL_EGL) 
   35.47 +    check_c_source_compiles("
   35.48 +      #include <GLES/gl.h>
   35.49 +      #include <GLES/glext.h>
   35.50 +      int main (int argc, char** argv) {}" HAVE_VIDEO_OPENGLES_V1)
   35.51 +    if(HAVE_VIDEO_OPENGLES_V1)
   35.52 +        set(HAVE_VIDEO_OPENGLES TRUE)
   35.53          set(SDL_VIDEO_OPENGL_ES 1)
   35.54          set(SDL_VIDEO_RENDER_OGL_ES 1)
   35.55 -      endif(HAVE_VIDEO_OPENGLES_V1)
   35.56 -      check_c_source_compiles("
   35.57 -          #include <GLES2/gl2.h>
   35.58 -          #include <GLES2/gl2ext.h>
   35.59 -          int main (int argc, char** argv) {}" HAVE_VIDEO_OPENGLES_V2)
   35.60 -      if(HAVE_VIDEO_OPENGLES_V2)
   35.61 +    endif(HAVE_VIDEO_OPENGLES_V1)
   35.62 +    check_c_source_compiles("
   35.63 +      #include <GLES2/gl2.h>
   35.64 +      #include <GLES2/gl2ext.h>
   35.65 +      int main (int argc, char** argv) {}" HAVE_VIDEO_OPENGLES_V2)
   35.66 +    if(HAVE_VIDEO_OPENGLES_V2)
   35.67 +        set(HAVE_VIDEO_OPENGLES TRUE)
   35.68          set(SDL_VIDEO_OPENGL_ES2 1)
   35.69          set(SDL_VIDEO_RENDER_OGL_ES2 1)
   35.70 -      endif(HAVE_VIDEO_OPENGLES_V2)
   35.71 -    endif(HAVE_VIDEO_OPENGLES)
   35.72 +    endif(HAVE_VIDEO_OPENGLES_V2)
   35.73 +
   35.74    endif(VIDEO_OPENGLES)
   35.75  endmacro(CheckOpenGLESX11)
   35.76  
    36.1 --- a/configure	Sun Oct 27 14:31:57 2013 -0400
    36.2 +++ b/configure	Sun Oct 27 21:26:46 2013 -0400
    36.3 @@ -783,6 +783,7 @@
    36.4  enable_joystick
    36.5  enable_haptic
    36.6  enable_power
    36.7 +enable_filesystem
    36.8  enable_threads
    36.9  enable_timers
   36.10  enable_file
   36.11 @@ -1496,6 +1497,7 @@
   36.12    --enable-haptic         Enable the haptic (force feedback) subsystem
   36.13                            [[default=yes]]
   36.14    --enable-power          Enable the power subsystem [[default=yes]]
   36.15 +  --enable-filesystem     Enable the filesystem subsystem [[default=yes]]
   36.16    --enable-threads        Enable the threading subsystem [[default=yes]]
   36.17    --enable-timers         Enable the timer subsystem [[default=yes]]
   36.18    --enable-file           Enable the file subsystem [[default=yes]]
   36.19 @@ -2658,9 +2660,9 @@
   36.20  #
   36.21  SDL_MAJOR_VERSION=2
   36.22  SDL_MINOR_VERSION=0
   36.23 -SDL_MICRO_VERSION=0
   36.24 +SDL_MICRO_VERSION=1
   36.25  SDL_INTERFACE_AGE=0
   36.26 -SDL_BINARY_AGE=0
   36.27 +SDL_BINARY_AGE=1
   36.28  SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
   36.29  
   36.30  
   36.31 @@ -16767,6 +16769,7 @@
   36.32  SOURCES="$SOURCES $srcdir/src/joystick/*.c"
   36.33  SOURCES="$SOURCES $srcdir/src/libm/*.c"
   36.34  SOURCES="$SOURCES $srcdir/src/power/*.c"
   36.35 +#SOURCES="$SOURCES $srcdir/src/filesystem/*.c"
   36.36  SOURCES="$SOURCES $srcdir/src/render/*.c"
   36.37  SOURCES="$SOURCES $srcdir/src/render/*/*.c"
   36.38  SOURCES="$SOURCES $srcdir/src/stdlib/*.c"
   36.39 @@ -16871,6 +16874,18 @@
   36.40  $as_echo "#define SDL_POWER_DISABLED 1" >>confdefs.h
   36.41  
   36.42  fi
   36.43 +# Check whether --enable-filesystem was given.
   36.44 +if test "${enable_filesystem+set}" = set; then :
   36.45 +  enableval=$enable_filesystem;
   36.46 +else
   36.47 +  enable_filesystem=yes
   36.48 +fi
   36.49 +
   36.50 +if test x$enable_filesystem != xyes; then
   36.51 +
   36.52 +$as_echo "#define SDL_FILESYSTEM_DISABLED 1" >>confdefs.h
   36.53 +
   36.54 +fi
   36.55  # Check whether --enable-threads was given.
   36.56  if test "${enable_threads+set}" = set; then :
   36.57    enableval=$enable_threads;
   36.58 @@ -20547,9 +20562,9 @@
   36.59  CheckOpenGLESX11()
   36.60  {
   36.61      if test x$enable_video = xyes -a x$enable_video_opengles = xyes; then
   36.62 -        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL ES (EGL) support" >&5
   36.63 -$as_echo_n "checking for OpenGL ES (EGL) support... " >&6; }
   36.64 -        video_opengles=no
   36.65 +        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGL support" >&5
   36.66 +$as_echo_n "checking for EGL support... " >&6; }
   36.67 +        video_opengl_egl=no
   36.68          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
   36.69  /* end confdefs.h.  */
   36.70  
   36.71 @@ -20566,81 +20581,86 @@
   36.72  _ACEOF
   36.73  if ac_fn_c_try_compile "$LINENO"; then :
   36.74  
   36.75 -        video_opengles=yes
   36.76 -
   36.77 -fi
   36.78 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   36.79 -        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengles" >&5
   36.80 -$as_echo "$video_opengles" >&6; }
   36.81 -        if test x$video_opengles = xyes; then
   36.82 -            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL ES v1 headers" >&5
   36.83 +        video_opengl_egl=yes
   36.84 +
   36.85 +fi
   36.86 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   36.87 +        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengl_egl" >&5
   36.88 +$as_echo "$video_opengl_egl" >&6; }
   36.89 +        if test x$video_opengl_egl = xyes; then
   36.90 +
   36.91 +$as_echo "#define SDL_VIDEO_OPENGL_EGL 1" >>confdefs.h
   36.92 +
   36.93 +        fi
   36.94 +
   36.95 +        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL ES v1 headers" >&5
   36.96  $as_echo_n "checking for OpenGL ES v1 headers... " >&6; }
   36.97 -            video_opengles_v1=no
   36.98 -            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
   36.99 -/* end confdefs.h.  */
  36.100 -
  36.101 -             #include <GLES/gl.h>
  36.102 -             #include <GLES/glext.h>
  36.103 -
  36.104 -int
  36.105 -main ()
  36.106 -{
  36.107 -
  36.108 -
  36.109 -  ;
  36.110 -  return 0;
  36.111 -}
  36.112 -_ACEOF
  36.113 -if ac_fn_c_try_compile "$LINENO"; then :
  36.114 -
  36.115 -            video_opengles_v1=yes
  36.116 -
  36.117 -fi
  36.118 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.119 -            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengles_v1" >&5
  36.120 +        video_opengles_v1=no
  36.121 +        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.122 +/* end confdefs.h.  */
  36.123 +
  36.124 +         #include <GLES/gl.h>
  36.125 +         #include <GLES/glext.h>
  36.126 +
  36.127 +int
  36.128 +main ()
  36.129 +{
  36.130 +
  36.131 +
  36.132 +  ;
  36.133 +  return 0;
  36.134 +}
  36.135 +_ACEOF
  36.136 +if ac_fn_c_try_compile "$LINENO"; then :
  36.137 +
  36.138 +        video_opengles_v1=yes
  36.139 +
  36.140 +fi
  36.141 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.142 +        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengles_v1" >&5
  36.143  $as_echo "$video_opengles_v1" >&6; }
  36.144 -            if test x$video_opengles_v1 = xyes; then
  36.145 +        if test x$video_opengles_v1 = xyes; then
  36.146  
  36.147  $as_echo "#define SDL_VIDEO_OPENGL_ES 1" >>confdefs.h
  36.148  
  36.149  
  36.150  $as_echo "#define SDL_VIDEO_RENDER_OGL_ES 1" >>confdefs.h
  36.151  
  36.152 -            fi
  36.153 -            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL ES v2 headers" >&5
  36.154 +        fi
  36.155 +
  36.156 +        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL ES v2 headers" >&5
  36.157  $as_echo_n "checking for OpenGL ES v2 headers... " >&6; }
  36.158 -            video_opengles_v2=no
  36.159 -            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.160 -/* end confdefs.h.  */
  36.161 -
  36.162 -             #include <GLES2/gl2.h>
  36.163 -             #include <GLES2/gl2ext.h>
  36.164 -
  36.165 -int
  36.166 -main ()
  36.167 -{
  36.168 -
  36.169 -
  36.170 -  ;
  36.171 -  return 0;
  36.172 -}
  36.173 -_ACEOF
  36.174 -if ac_fn_c_try_compile "$LINENO"; then :
  36.175 -
  36.176 -            video_opengles_v2=yes
  36.177 -
  36.178 -fi
  36.179 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.180 -            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengles_v2" >&5
  36.181 +        video_opengles_v2=no
  36.182 +        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.183 +/* end confdefs.h.  */
  36.184 +
  36.185 +         #include <GLES2/gl2.h>
  36.186 +         #include <GLES2/gl2ext.h>
  36.187 +
  36.188 +int
  36.189 +main ()
  36.190 +{
  36.191 +
  36.192 +
  36.193 +  ;
  36.194 +  return 0;
  36.195 +}
  36.196 +_ACEOF
  36.197 +if ac_fn_c_try_compile "$LINENO"; then :
  36.198 +
  36.199 +        video_opengles_v2=yes
  36.200 +
  36.201 +fi
  36.202 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.203 +        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengles_v2" >&5
  36.204  $as_echo "$video_opengles_v2" >&6; }
  36.205 -            if test x$video_opengles_v2 = xyes; then
  36.206 +        if test x$video_opengles_v2 = xyes; then
  36.207  
  36.208  $as_echo "#define SDL_VIDEO_OPENGL_ES2 1" >>confdefs.h
  36.209  
  36.210  
  36.211  $as_echo "#define SDL_VIDEO_RENDER_OGL_ES2 1" >>confdefs.h
  36.212  
  36.213 -            fi
  36.214          fi
  36.215      fi
  36.216  }
  36.217 @@ -20734,6 +20754,45 @@
  36.218          fi
  36.219  }
  36.220  
  36.221 +CheckInputKD()
  36.222 +{
  36.223 +
  36.224 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux kd.h" >&5
  36.225 +$as_echo_n "checking for Linux kd.h... " >&6; }
  36.226 +    use_input_kd=no
  36.227 +    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.228 +/* end confdefs.h.  */
  36.229 +
  36.230 +      #include <linux/kd.h>
  36.231 +      #include <linux/keyboard.h>
  36.232 +
  36.233 +int
  36.234 +main ()
  36.235 +{
  36.236 +
  36.237 +        struct kbentry kbe;
  36.238 +        kbe.kb_table = KG_CTRL;
  36.239 +        ioctl(0, KDGKBENT, &kbe);
  36.240 +
  36.241 +  ;
  36.242 +  return 0;
  36.243 +}
  36.244 +_ACEOF
  36.245 +if ac_fn_c_try_compile "$LINENO"; then :
  36.246 +
  36.247 +    use_input_kd=yes
  36.248 +
  36.249 +fi
  36.250 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.251 +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_input_kd" >&5
  36.252 +$as_echo "$use_input_kd" >&6; }
  36.253 +    if test x$use_input_kd = xyes; then
  36.254 +
  36.255 +$as_echo "#define SDL_INPUT_LINUXKD 1" >>confdefs.h
  36.256 +
  36.257 +    fi
  36.258 +}
  36.259 +
  36.260  CheckLibUDev()
  36.261  {
  36.262      # Check whether --enable-libudev was given.
  36.263 @@ -21575,8 +21634,10 @@
  36.264  
  36.265  CheckUSBHID()
  36.266  {
  36.267 -    if test x$enable_joystick = xyes; then
  36.268 -        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hid_init in -lusbhid" >&5
  36.269 +    case "$host" in
  36.270 +        *-*-*bsd*)
  36.271 +            if test x$enable_joystick = xyes; then
  36.272 +                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hid_init in -lusbhid" >&5
  36.273  $as_echo_n "checking for hid_init in -lusbhid... " >&6; }
  36.274  if ${ac_cv_lib_usbhid_hid_init+:} false; then :
  36.275    $as_echo_n "(cached) " >&6
  36.276 @@ -21616,34 +21677,34 @@
  36.277    have_libusbhid=yes
  36.278  fi
  36.279  
  36.280 -        if test x$have_libusbhid = xyes; then
  36.281 -            ac_fn_c_check_header_mongrel "$LINENO" "usbhid.h" "ac_cv_header_usbhid_h" "$ac_includes_default"
  36.282 +                if test x$have_libusbhid = xyes; then
  36.283 +                    ac_fn_c_check_header_mongrel "$LINENO" "usbhid.h" "ac_cv_header_usbhid_h" "$ac_includes_default"
  36.284  if test "x$ac_cv_header_usbhid_h" = xyes; then :
  36.285    USB_CFLAGS="-DHAVE_USBHID_H"
  36.286  fi
  36.287  
  36.288  
  36.289 -            ac_fn_c_check_header_mongrel "$LINENO" "libusbhid.h" "ac_cv_header_libusbhid_h" "$ac_includes_default"
  36.290 +                    ac_fn_c_check_header_mongrel "$LINENO" "libusbhid.h" "ac_cv_header_libusbhid_h" "$ac_includes_default"
  36.291  if test "x$ac_cv_header_libusbhid_h" = xyes; then :
  36.292    USB_CFLAGS="-DHAVE_LIBUSBHID_H"
  36.293  fi
  36.294  
  36.295  
  36.296 -            USB_LIBS="$USB_LIBS -lusbhid"
  36.297 -        else
  36.298 -            ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default"
  36.299 +                    USB_LIBS="$USB_LIBS -lusbhid"
  36.300 +                else
  36.301 +                    ac_fn_c_check_header_mongrel "$LINENO" "usb.h" "ac_cv_header_usb_h" "$ac_includes_default"
  36.302  if test "x$ac_cv_header_usb_h" = xyes; then :
  36.303    USB_CFLAGS="-DHAVE_USB_H"
  36.304  fi
  36.305  
  36.306  
  36.307 -            ac_fn_c_check_header_mongrel "$LINENO" "libusb.h" "ac_cv_header_libusb_h" "$ac_includes_default"
  36.308 +                    ac_fn_c_check_header_mongrel "$LINENO" "libusb.h" "ac_cv_header_libusb_h" "$ac_includes_default"
  36.309  if test "x$ac_cv_header_libusb_h" = xyes; then :
  36.310    USB_CFLAGS="-DHAVE_LIBUSB_H"
  36.311  fi
  36.312  
  36.313  
  36.314 -            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hid_init in -lusb" >&5
  36.315 +                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hid_init in -lusb" >&5
  36.316  $as_echo_n "checking for hid_init in -lusb... " >&6; }
  36.317  if ${ac_cv_lib_usb_hid_init+:} false; then :
  36.318    $as_echo_n "(cached) " >&6
  36.319 @@ -21683,196 +21744,198 @@
  36.320    USB_LIBS="$USB_LIBS -lusb"
  36.321  fi
  36.322  
  36.323 -        fi
  36.324 -
  36.325 -        save_CFLAGS="$CFLAGS"
  36.326 -        CFLAGS="$CFLAGS $USB_CFLAGS"
  36.327 -
  36.328 -        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usbhid" >&5
  36.329 +                fi
  36.330 +
  36.331 +                save_CFLAGS="$CFLAGS"
  36.332 +                CFLAGS="$CFLAGS $USB_CFLAGS"
  36.333 +
  36.334 +                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usbhid" >&5
  36.335  $as_echo_n "checking for usbhid... " >&6; }
  36.336 -        have_usbhid=no
  36.337 -        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.338 -/* end confdefs.h.  */
  36.339 -
  36.340 -          #include <sys/types.h>
  36.341 -          #if defined(HAVE_USB_H)
  36.342 -          #include <usb.h>
  36.343 -          #endif
  36.344 -          #ifdef __DragonFly__
  36.345 -          # include <bus/usb/usb.h>
  36.346 -          # include <bus/usb/usbhid.h>
  36.347 -          #else
  36.348 -          # include <dev/usb/usb.h>
  36.349 -          # include <dev/usb/usbhid.h>
  36.350 -          #endif
  36.351 -          #if defined(HAVE_USBHID_H)
  36.352 -          #include <usbhid.h>
  36.353 -          #elif defined(HAVE_LIBUSB_H)
  36.354 -          #include <libusb.h>
  36.355 -          #elif defined(HAVE_LIBUSBHID_H)
  36.356 -          #include <libusbhid.h>
  36.357 -          #endif
  36.358 -
  36.359 -int
  36.360 -main ()
  36.361 -{
  36.362 -
  36.363 -          struct report_desc *repdesc;
  36.364 -          struct usb_ctl_report *repbuf;
  36.365 -          hid_kind_t hidkind;
  36.366 -
  36.367 -  ;
  36.368 -  return 0;
  36.369 -}
  36.370 -_ACEOF
  36.371 -if ac_fn_c_try_compile "$LINENO"; then :
  36.372 -
  36.373 -        have_usbhid=yes
  36.374 -
  36.375 -fi
  36.376 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.377 -        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid" >&5
  36.378 +                have_usbhid=no
  36.379 +                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.380 +/* end confdefs.h.  */
  36.381 +
  36.382 +                  #include <sys/types.h>
  36.383 +                  #if defined(HAVE_USB_H)
  36.384 +                  #include <usb.h>
  36.385 +                  #endif
  36.386 +                  #ifdef __DragonFly__
  36.387 +                  # include <bus/usb/usb.h>
  36.388 +                  # include <bus/usb/usbhid.h>
  36.389 +                  #else
  36.390 +                  # include <dev/usb/usb.h>
  36.391 +                  # include <dev/usb/usbhid.h>
  36.392 +                  #endif
  36.393 +                  #if defined(HAVE_USBHID_H)
  36.394 +                  #include <usbhid.h>
  36.395 +                  #elif defined(HAVE_LIBUSB_H)
  36.396 +                  #include <libusb.h>
  36.397 +                  #elif defined(HAVE_LIBUSBHID_H)
  36.398 +                  #include <libusbhid.h>
  36.399 +                  #endif
  36.400 +
  36.401 +int
  36.402 +main ()
  36.403 +{
  36.404 +
  36.405 +                  struct report_desc *repdesc;
  36.406 +                  struct usb_ctl_report *repbuf;
  36.407 +                  hid_kind_t hidkind;
  36.408 +
  36.409 +  ;
  36.410 +  return 0;
  36.411 +}
  36.412 +_ACEOF
  36.413 +if ac_fn_c_try_compile "$LINENO"; then :
  36.414 +
  36.415 +                have_usbhid=yes
  36.416 +
  36.417 +fi
  36.418 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.419 +                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid" >&5
  36.420  $as_echo "$have_usbhid" >&6; }
  36.421  
  36.422 -        if test x$have_usbhid = xyes; then
  36.423 -            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ucr_data member of usb_ctl_report" >&5
  36.424 +                if test x$have_usbhid = xyes; then
  36.425 +                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ucr_data member of usb_ctl_report" >&5
  36.426  $as_echo_n "checking for ucr_data member of usb_ctl_report... " >&6; }
  36.427 -            have_usbhid_ucr_data=no
  36.428 -            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.429 -/* end confdefs.h.  */
  36.430 -
  36.431 -              #include <sys/types.h>
  36.432 -              #if defined(HAVE_USB_H)
  36.433 -              #include <usb.h>
  36.434 -              #endif
  36.435 -              #ifdef __DragonFly__
  36.436 -              # include <bus/usb/usb.h>
  36.437 -              # include <bus/usb/usbhid.h>
  36.438 -              #else
  36.439 -              # include <dev/usb/usb.h>
  36.440 -              # include <dev/usb/usbhid.h>
  36.441 -              #endif
  36.442 -              #if defined(HAVE_USBHID_H)
  36.443 -              #include <usbhid.h>
  36.444 -              #elif defined(HAVE_LIBUSB_H)
  36.445 -              #include <libusb.h>
  36.446 -              #elif defined(HAVE_LIBUSBHID_H)
  36.447 -              #include <libusbhid.h>
  36.448 -              #endif
  36.449 -
  36.450 -int
  36.451 -main ()
  36.452 -{
  36.453 -
  36.454 -              struct usb_ctl_report buf;
  36.455 -              if (buf.ucr_data) { }
  36.456 -
  36.457 -  ;
  36.458 -  return 0;
  36.459 -}
  36.460 -_ACEOF
  36.461 -if ac_fn_c_try_compile "$LINENO"; then :
  36.462 -
  36.463 -            have_usbhid_ucr_data=yes
  36.464 -
  36.465 -fi
  36.466 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.467 -            if test x$have_usbhid_ucr_data = xyes; then
  36.468 -                USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
  36.469 -            fi
  36.470 -            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid_ucr_data" >&5
  36.471 +                    have_usbhid_ucr_data=no
  36.472 +                    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.473 +/* end confdefs.h.  */
  36.474 +
  36.475 +                      #include <sys/types.h>
  36.476 +                      #if defined(HAVE_USB_H)
  36.477 +                      #include <usb.h>
  36.478 +                      #endif
  36.479 +                      #ifdef __DragonFly__
  36.480 +                      # include <bus/usb/usb.h>
  36.481 +                      # include <bus/usb/usbhid.h>
  36.482 +                      #else
  36.483 +                      # include <dev/usb/usb.h>
  36.484 +                      # include <dev/usb/usbhid.h>
  36.485 +                      #endif
  36.486 +                      #if defined(HAVE_USBHID_H)
  36.487 +                      #include <usbhid.h>
  36.488 +                      #elif defined(HAVE_LIBUSB_H)
  36.489 +                      #include <libusb.h>
  36.490 +                      #elif defined(HAVE_LIBUSBHID_H)
  36.491 +                      #include <libusbhid.h>
  36.492 +                      #endif
  36.493 +
  36.494 +int
  36.495 +main ()
  36.496 +{
  36.497 +
  36.498 +                      struct usb_ctl_report buf;
  36.499 +                      if (buf.ucr_data) { }
  36.500 +
  36.501 +  ;
  36.502 +  return 0;
  36.503 +}
  36.504 +_ACEOF
  36.505 +if ac_fn_c_try_compile "$LINENO"; then :
  36.506 +
  36.507 +                    have_usbhid_ucr_data=yes
  36.508 +
  36.509 +fi
  36.510 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.511 +                    if test x$have_usbhid_ucr_data = xyes; then
  36.512 +                        USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
  36.513 +                    fi
  36.514 +                    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid_ucr_data" >&5
  36.515  $as_echo "$have_usbhid_ucr_data" >&6; }
  36.516  
  36.517 -            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for new usbhid API" >&5
  36.518 +                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for new usbhid API" >&5
  36.519  $as_echo_n "checking for new usbhid API... " >&6; }
  36.520 -            have_usbhid_new=no
  36.521 -            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.522 -/* end confdefs.h.  */
  36.523 -
  36.524 -              #include <sys/types.h>
  36.525 -              #if defined(HAVE_USB_H)
  36.526 -              #include <usb.h>
  36.527 -              #endif
  36.528 -              #ifdef __DragonFly__
  36.529 -              #include <bus/usb/usb.h>
  36.530 -              #include <bus/usb/usbhid.h>
  36.531 -              #else
  36.532 -              #include <dev/usb/usb.h>
  36.533 -              #include <dev/usb/usbhid.h>
  36.534 -              #endif
  36.535 -              #if defined(HAVE_USBHID_H)
  36.536 -              #include <usbhid.h>
  36.537 -              #elif defined(HAVE_LIBUSB_H)
  36.538 -              #include <libusb.h>
  36.539 -              #elif defined(HAVE_LIBUSBHID_H)
  36.540 -              #include <libusbhid.h>
  36.541 -              #endif
  36.542 -
  36.543 -int
  36.544 -main ()
  36.545 -{
  36.546 -
  36.547 -              report_desc_t d;
  36.548 -              hid_start_parse(d, 1, 1);
  36.549 -
  36.550 -  ;
  36.551 -  return 0;
  36.552 -}
  36.553 -_ACEOF
  36.554 -if ac_fn_c_try_compile "$LINENO"; then :
  36.555 -
  36.556 -            have_usbhid_new=yes
  36.557 -
  36.558 -fi
  36.559 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.560 -            if test x$have_usbhid_new = xyes; then
  36.561 -                USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
  36.562 -            fi
  36.563 -            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid_new" >&5
  36.564 +                    have_usbhid_new=no
  36.565 +                    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.566 +/* end confdefs.h.  */
  36.567 +
  36.568 +                      #include <sys/types.h>
  36.569 +                      #if defined(HAVE_USB_H)
  36.570 +                      #include <usb.h>
  36.571 +                      #endif
  36.572 +                      #ifdef __DragonFly__
  36.573 +                      #include <bus/usb/usb.h>
  36.574 +                      #include <bus/usb/usbhid.h>
  36.575 +                      #else
  36.576 +                      #include <dev/usb/usb.h>
  36.577 +                      #include <dev/usb/usbhid.h>
  36.578 +                      #endif
  36.579 +                      #if defined(HAVE_USBHID_H)
  36.580 +                      #include <usbhid.h>
  36.581 +                      #elif defined(HAVE_LIBUSB_H)
  36.582 +                      #include <libusb.h>
  36.583 +                      #elif defined(HAVE_LIBUSBHID_H)
  36.584 +                      #include <libusbhid.h>
  36.585 +                      #endif
  36.586 +
  36.587 +int
  36.588 +main ()
  36.589 +{
  36.590 +
  36.591 +                      report_desc_t d;
  36.592 +                      hid_start_parse(d, 1, 1);
  36.593 +
  36.594 +  ;
  36.595 +  return 0;
  36.596 +}
  36.597 +_ACEOF
  36.598 +if ac_fn_c_try_compile "$LINENO"; then :
  36.599 +
  36.600 +                    have_usbhid_new=yes
  36.601 +
  36.602 +fi
  36.603 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.604 +                    if test x$have_usbhid_new = xyes; then
  36.605 +                        USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
  36.606 +                    fi
  36.607 +                    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_usbhid_new" >&5
  36.608  $as_echo "$have_usbhid_new" >&6; }
  36.609  
  36.610 -            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct joystick in machine/joystick.h" >&5
  36.611 +                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct joystick in machine/joystick.h" >&5
  36.612  $as_echo_n "checking for struct joystick in machine/joystick.h... " >&6; }
  36.613 -            have_machine_joystick=no
  36.614 -            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.615 -/* end confdefs.h.  */
  36.616 -
  36.617 -              #include <machine/joystick.h>
  36.618 -
  36.619 -int
  36.620 -main ()
  36.621 -{
  36.622 -
  36.623 -              struct joystick t;
  36.624 -
  36.625 -  ;
  36.626 -  return 0;
  36.627 -}
  36.628 -_ACEOF
  36.629 -if ac_fn_c_try_compile "$LINENO"; then :
  36.630 -
  36.631 -            have_machine_joystick=yes
  36.632 -
  36.633 -fi
  36.634 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.635 -            if test x$have_machine_joystick = xyes; then
  36.636 +                    have_machine_joystick=no
  36.637 +                    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36.638 +/* end confdefs.h.  */
  36.639 +
  36.640 +                      #include <machine/joystick.h>
  36.641 +
  36.642 +int
  36.643 +main ()
  36.644 +{
  36.645 +
  36.646 +                      struct joystick t;
  36.647 +
  36.648 +  ;
  36.649 +  return 0;
  36.650 +}
  36.651 +_ACEOF
  36.652 +if ac_fn_c_try_compile "$LINENO"; then :
  36.653 +
  36.654 +                    have_machine_joystick=yes
  36.655 +
  36.656 +fi
  36.657 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36.658 +                    if test x$have_machine_joystick = xyes; then
  36.659  
  36.660  $as_echo "#define SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H 1" >>confdefs.h
  36.661  
  36.662 -            fi
  36.663 -            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_machine_joystick" >&5
  36.664 +                    fi
  36.665 +                    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_machine_joystick" >&5
  36.666  $as_echo "$have_machine_joystick" >&6; }
  36.667  
  36.668  
  36.669  $as_echo "#define SDL_JOYSTICK_USBHID 1" >>confdefs.h
  36.670  
  36.671 -            SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
  36.672 -            EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
  36.673 -            EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
  36.674 -            have_joystick=yes
  36.675 -        fi
  36.676 -        CFLAGS="$save_CFLAGS"
  36.677 -    fi
  36.678 +                    SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
  36.679 +                    EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
  36.680 +                    EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
  36.681 +                    have_joystick=yes
  36.682 +                fi
  36.683 +                CFLAGS="$save_CFLAGS"
  36.684 +            fi
  36.685 +        ;;
  36.686 +    esac
  36.687  }
  36.688  
  36.689  CheckClockGettime()
  36.690 @@ -22008,6 +22071,21 @@
  36.691  case "$host" in
  36.692      *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*)
  36.693          case "$host" in
  36.694 +            *-raspberry-linux*)
  36.695 +                # Raspberry Pi
  36.696 +                ARCH=linux
  36.697 +                RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
  36.698 +                RPI_LDFLAGS="-L/opt/vc/lib -lbcm_host"
  36.699 +                CFLAGS="$CFLAGS $RPI_CFLAGS"
  36.700 +                SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS"
  36.701 +                EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS"
  36.702 +                SDL_LIBS="$SDL_LIBS $RPI_LDFLAGS"
  36.703 +
  36.704 +                if test x$enable_video = xyes; then
  36.705 +                    SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c"
  36.706 +                    $as_echo "#define SDL_VIDEO_DRIVER_RPI 1" >>confdefs.h
  36.707 +                fi
  36.708 +                ;;
  36.709              *-*-linux*)         ARCH=linux ;;
  36.710              *-*-uclinux*)       ARCH=linux ;;
  36.711              *-*-kfreebsd*-gnu)  ARCH=kfreebsd-gnu ;;
  36.712 @@ -22045,6 +22123,7 @@
  36.713          CheckLibUDev
  36.714          CheckDBus
  36.715          CheckInputEvents
  36.716 +        CheckInputKD
  36.717          CheckTslib
  36.718          CheckUSBHID
  36.719          CheckPTHREAD
  36.720 @@ -22115,6 +22194,14 @@
  36.721                 ;;
  36.722               esac
  36.723          fi
  36.724 +        # Set up files for the filesystem library
  36.725 +        if test x$enable_filesystem = xyes; then
  36.726 +
  36.727 +$as_echo "#define SDL_FILESYSTEM_UNIX 1" >>confdefs.h
  36.728 +
  36.729 +            SOURCES="$SOURCES $srcdir/src/filesystem/unix/*.c"
  36.730 +            have_filesystem=yes
  36.731 +        fi
  36.732          # Set up files for the timer library
  36.733          if test x$enable_timers = xyes; then
  36.734  
  36.735 @@ -22123,6 +22210,14 @@
  36.736              SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  36.737              have_timers=yes
  36.738          fi
  36.739 +        # Set up files for udev hotplugging support
  36.740 +        if test x$enable_libudev = xyes && test x$have_libudev_h_hdr = xyes; then
  36.741 +            SOURCES="$SOURCES $srcdir/src/core/linux/SDL_udev.c"
  36.742 +        fi
  36.743 +        # Set up files for evdev input
  36.744 +        if test x$use_input_events = xyes; then
  36.745 +            SOURCES="$SOURCES $srcdir/src/input/evdev/*.c"
  36.746 +        fi
  36.747          ;;
  36.748      *-*-cygwin* | *-*-mingw32*)
  36.749          ARCH=win32
  36.750 @@ -22217,6 +22312,13 @@
  36.751              SOURCES="$SOURCES $srcdir/src/power/windows/SDL_syspower.c"
  36.752              have_power=yes
  36.753          fi
  36.754 +        if test x$enable_filesystem = xyes; then
  36.755 +
  36.756 +$as_echo "#define SDL_FILESYSTEM_WINDOWS 1" >>confdefs.h
  36.757 +
  36.758 +            SOURCES="$SOURCES $srcdir/src/filesystem/windows/SDL_sysfilesystem.c"
  36.759 +            have_filesystem=yes
  36.760 +        fi
  36.761          # Set up files for the thread library
  36.762          if test x$enable_threads = xyes; then
  36.763  
  36.764 @@ -22350,6 +22452,14 @@
  36.765              SOURCES="$SOURCES $srcdir/src/power/beos/*.c"
  36.766              have_power=yes
  36.767          fi
  36.768 +        # Set up files for the system filesystem library
  36.769 +        if test x$enable_filesystem = xyes; then
  36.770 +
  36.771 +$as_echo "#define SDL_FILESYSTEM_BEOS 1" >>confdefs.h
  36.772 +
  36.773 +            SOURCES="$SOURCES $srcdir/src/filesystem/beos/*.cc"
  36.774 +            have_filesystem=yes
  36.775 +        fi
  36.776          # The BeOS platform requires special setup.
  36.777          SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
  36.778          EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  36.779 @@ -22389,6 +22499,11 @@
  36.780              SOURCES="$SOURCES $srcdir/src/power/uikit/*.m"
  36.781              have_power=yes
  36.782          fi
  36.783 +        # Set up files for the filesystem library
  36.784 +        if test x$enable_filesystem = xyes; then
  36.785 +            SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m"
  36.786 +            have_filesystem=yes
  36.787 +        fi
  36.788          # Set up files for the timer library
  36.789          if test x$enable_timers = xyes; then
  36.790              SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  36.791 @@ -22470,6 +22585,14 @@
  36.792              SOURCES="$SOURCES $srcdir/src/power/macosx/*.c"
  36.793              have_power=yes
  36.794          fi
  36.795 +        # Set up files for the filesystem library
  36.796 +        if test x$enable_filesystem = xyes; then
  36.797 +
  36.798 +$as_echo "#define SDL_FILESYSTEM_COCOA 1" >>confdefs.h
  36.799 +
  36.800 +            SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m"
  36.801 +            have_filesystem=yes
  36.802 +        fi
  36.803          # Set up files for the timer library
  36.804          if test x$enable_timers = xyes; then
  36.805  
  36.806 @@ -22536,6 +22659,14 @@
  36.807      fi
  36.808      SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
  36.809  fi
  36.810 +if test x$have_filesystem != xyes; then
  36.811 +    if test x$enable_filesystem = xyes; then
  36.812 +
  36.813 +$as_echo "#define SDL_FILESYSTEM_DISABLED 1" >>confdefs.h
  36.814 +
  36.815 +    fi
  36.816 +    SOURCES="$SOURCES $srcdir/src/filesystem/dummy/*.c"
  36.817 +fi
  36.818  if test x$have_loadso != xyes; then
  36.819      if test x$enable_loadso = xyes; then
  36.820  
    37.1 --- a/configure.in	Sun Oct 27 14:31:57 2013 -0400
    37.2 +++ b/configure.in	Sun Oct 27 21:26:46 2013 -0400
    37.3 @@ -20,9 +20,9 @@
    37.4  #
    37.5  SDL_MAJOR_VERSION=2
    37.6  SDL_MINOR_VERSION=0
    37.7 -SDL_MICRO_VERSION=0
    37.8 +SDL_MICRO_VERSION=1
    37.9  SDL_INTERFACE_AGE=0
   37.10 -SDL_BINARY_AGE=0
   37.11 +SDL_BINARY_AGE=1
   37.12  SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
   37.13  
   37.14  AC_SUBST(SDL_MAJOR_VERSION)
   37.15 @@ -325,6 +325,7 @@
   37.16  SOURCES="$SOURCES $srcdir/src/joystick/*.c"
   37.17  SOURCES="$SOURCES $srcdir/src/libm/*.c"
   37.18  SOURCES="$SOURCES $srcdir/src/power/*.c"
   37.19 +#SOURCES="$SOURCES $srcdir/src/filesystem/*.c"
   37.20  SOURCES="$SOURCES $srcdir/src/render/*.c"
   37.21  SOURCES="$SOURCES $srcdir/src/render/*/*.c"
   37.22  SOURCES="$SOURCES $srcdir/src/stdlib/*.c"
   37.23 @@ -382,6 +383,12 @@
   37.24  if test x$enable_power != xyes; then
   37.25      AC_DEFINE(SDL_POWER_DISABLED, 1, [ ])
   37.26  fi
   37.27 +AC_ARG_ENABLE(filesystem,
   37.28 +AC_HELP_STRING([--enable-filesystem], [Enable the filesystem subsystem [[default=yes]]]),
   37.29 +              , enable_filesystem=yes)
   37.30 +if test x$enable_filesystem != xyes; then
   37.31 +    AC_DEFINE(SDL_FILESYSTEM_DISABLED, 1, [ ])
   37.32 +fi
   37.33  AC_ARG_ENABLE(threads,
   37.34  AC_HELP_STRING([--enable-threads], [Enable the threading subsystem [[default=yes]]]),
   37.35                , enable_threads=yes)
   37.36 @@ -1681,44 +1688,47 @@
   37.37  CheckOpenGLESX11()
   37.38  {
   37.39      if test x$enable_video = xyes -a x$enable_video_opengles = xyes; then
   37.40 -        AC_MSG_CHECKING(for OpenGL ES (EGL) support)
   37.41 -        video_opengles=no
   37.42 +        AC_MSG_CHECKING(for EGL support)
   37.43 +        video_opengl_egl=no
   37.44          AC_TRY_COMPILE([
   37.45           #include <EGL/egl.h>
   37.46          ],[
   37.47          ],[
   37.48 -        video_opengles=yes
   37.49 +        video_opengl_egl=yes
   37.50          ])
   37.51 -        AC_MSG_RESULT($video_opengles)
   37.52 -        if test x$video_opengles = xyes; then
   37.53 -            AC_MSG_CHECKING(for OpenGL ES v1 headers)
   37.54 -            video_opengles_v1=no
   37.55 -            AC_TRY_COMPILE([
   37.56 -             #include <GLES/gl.h>
   37.57 -             #include <GLES/glext.h>
   37.58 -            ],[
   37.59 -            ],[
   37.60 -            video_opengles_v1=yes
   37.61 -            ])
   37.62 -            AC_MSG_RESULT($video_opengles_v1)
   37.63 -            if test x$video_opengles_v1 = xyes; then
   37.64 -                AC_DEFINE(SDL_VIDEO_OPENGL_ES, 1, [ ])
   37.65 -                AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES, 1, [ ])
   37.66 -            fi
   37.67 -            AC_MSG_CHECKING(for OpenGL ES v2 headers)
   37.68 -            video_opengles_v2=no
   37.69 -            AC_TRY_COMPILE([
   37.70 -             #include <GLES2/gl2.h>
   37.71 -             #include <GLES2/gl2ext.h>
   37.72 -            ],[
   37.73 -            ],[
   37.74 -            video_opengles_v2=yes
   37.75 -            ])
   37.76 -            AC_MSG_RESULT($video_opengles_v2)
   37.77 -            if test x$video_opengles_v2 = xyes; then
   37.78 -                AC_DEFINE(SDL_VIDEO_OPENGL_ES2, 1, [ ])
   37.79 -                AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES2, 1, [ ])
   37.80 -            fi
   37.81 +        AC_MSG_RESULT($video_opengl_egl)
   37.82 +        if test x$video_opengl_egl = xyes; then
   37.83 +            AC_DEFINE(SDL_VIDEO_OPENGL_EGL, 1, [ ])
   37.84 +        fi
   37.85 +            
   37.86 +        AC_MSG_CHECKING(for OpenGL ES v1 headers)
   37.87 +        video_opengles_v1=no
   37.88 +        AC_TRY_COMPILE([
   37.89 +         #include <GLES/gl.h>
   37.90 +         #include <GLES/glext.h>
   37.91 +        ],[
   37.92 +        ],[
   37.93 +        video_opengles_v1=yes
   37.94 +        ])
   37.95 +        AC_MSG_RESULT($video_opengles_v1)
   37.96 +        if test x$video_opengles_v1 = xyes; then
   37.97 +            AC_DEFINE(SDL_VIDEO_OPENGL_ES, 1, [ ])
   37.98 +            AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES, 1, [ ])
   37.99 +        fi
  37.100 +        
  37.101 +        AC_MSG_CHECKING(for OpenGL ES v2 headers)
  37.102 +        video_opengles_v2=no
  37.103 +        AC_TRY_COMPILE([
  37.104 +         #include <GLES2/gl2.h>
  37.105 +         #include <GLES2/gl2ext.h>
  37.106 +        ],[
  37.107 +        ],[
  37.108 +        video_opengles_v2=yes
  37.109 +        ])
  37.110 +        AC_MSG_RESULT($video_opengles_v2)
  37.111 +        if test x$video_opengles_v2 = xyes; then
  37.112 +            AC_DEFINE(SDL_VIDEO_OPENGL_ES2, 1, [ ])
  37.113 +            AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES2, 1, [ ])
  37.114          fi
  37.115      fi
  37.116  }
  37.117 @@ -1781,6 +1791,28 @@
  37.118          fi
  37.119  }
  37.120  
  37.121 +dnl See if we can use the kernel kd.h header
  37.122 +CheckInputKD()
  37.123 +{
  37.124 +
  37.125 +    AC_MSG_CHECKING(for Linux kd.h)
  37.126 +    use_input_kd=no
  37.127 +    AC_TRY_COMPILE([
  37.128 +      #include <linux/kd.h>
  37.129 +      #include <linux/keyboard.h>
  37.130 +    ],[
  37.131 +        struct kbentry kbe;
  37.132 +        kbe.kb_table = KG_CTRL;
  37.133 +        ioctl(0, KDGKBENT, &kbe);
  37.134 +    ],[
  37.135 +    use_input_kd=yes
  37.136 +    ])
  37.137 +    AC_MSG_RESULT($use_input_kd)
  37.138 +    if test x$use_input_kd = xyes; then
  37.139 +        AC_DEFINE(SDL_INPUT_LINUXKD, 1, [ ])
  37.140 +    fi
  37.141 +}
  37.142 +
  37.143  dnl See if the platform offers libudev for device enumeration and hotplugging.
  37.144  CheckLibUDev()
  37.145  {
  37.146 @@ -2157,138 +2189,142 @@
  37.147  dnl Check for the usbhid(3) library on *BSD
  37.148  CheckUSBHID()
  37.149  {
  37.150 -    if test x$enable_joystick = xyes; then
  37.151 -        AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
  37.152 -        if test x$have_libusbhid = xyes; then
  37.153 -            AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
  37.154 -            AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
  37.155 -            USB_LIBS="$USB_LIBS -lusbhid"
  37.156 -        else
  37.157 -            AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
  37.158 -            AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
  37.159 -            AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
  37.160 -        fi
  37.161 -            
  37.162 -        save_CFLAGS="$CFLAGS"
  37.163 -        CFLAGS="$CFLAGS $USB_CFLAGS"
  37.164 +    case "$host" in
  37.165 +        *-*-*bsd*)
  37.166 +            if test x$enable_joystick = xyes; then
  37.167 +                AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
  37.168 +                if test x$have_libusbhid = xyes; then
  37.169 +                    AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
  37.170 +                    AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
  37.171 +                    USB_LIBS="$USB_LIBS -lusbhid"
  37.172 +                else
  37.173 +                    AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
  37.174 +                    AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
  37.175 +                    AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
  37.176 +                fi
  37.177 +                    
  37.178 +                save_CFLAGS="$CFLAGS"
  37.179 +                CFLAGS="$CFLAGS $USB_CFLAGS"
  37.180  
  37.181 -        AC_MSG_CHECKING(for usbhid)
  37.182 -        have_usbhid=no
  37.183 -        AC_TRY_COMPILE([
  37.184 -          #include <sys/types.h>
  37.185 -          #if defined(HAVE_USB_H)
  37.186 -          #include <usb.h>
  37.187 -          #endif
  37.188 -          #ifdef __DragonFly__
  37.189 -          # include <bus/usb/usb.h>
  37.190 -          # include <bus/usb/usbhid.h>
  37.191 -          #else
  37.192 -          # include <dev/usb/usb.h>
  37.193 -          # include <dev/usb/usbhid.h>
  37.194 -          #endif
  37.195 -          #if defined(HAVE_USBHID_H)
  37.196 -          #include <usbhid.h>
  37.197 -          #elif defined(HAVE_LIBUSB_H)
  37.198 -          #include <libusb.h>
  37.199 -          #elif defined(HAVE_LIBUSBHID_H)
  37.200 -          #include <libusbhid.h>
  37.201 -          #endif
  37.202 -        ],[
  37.203 -          struct report_desc *repdesc;
  37.204 -          struct usb_ctl_report *repbuf;
  37.205 -          hid_kind_t hidkind;
  37.206 -        ],[
  37.207 -        have_usbhid=yes
  37.208 -        ])
  37.209 -        AC_MSG_RESULT($have_usbhid)
  37.210 +                AC_MSG_CHECKING(for usbhid)
  37.211 +                have_usbhid=no
  37.212 +                AC_TRY_COMPILE([
  37.213 +                  #include <sys/types.h>
  37.214 +                  #if defined(HAVE_USB_H)
  37.215 +                  #include <usb.h>
  37.216 +                  #endif
  37.217 +                  #ifdef __DragonFly__
  37.218 +                  # include <bus/usb/usb.h>
  37.219 +                  # include <bus/usb/usbhid.h>
  37.220 +                  #else
  37.221 +                  # include <dev/usb/usb.h>
  37.222 +                  # include <dev/usb/usbhid.h>
  37.223 +                  #endif
  37.224 +                  #if defined(HAVE_USBHID_H)
  37.225 +                  #include <usbhid.h>
  37.226 +                  #elif defined(HAVE_LIBUSB_H)
  37.227 +                  #include <libusb.h>
  37.228 +                  #elif defined(HAVE_LIBUSBHID_H)
  37.229 +                  #include <libusbhid.h>
  37.230 +                  #endif
  37.231 +                ],[
  37.232 +                  struct report_desc *repdesc;
  37.233 +                  struct usb_ctl_report *repbuf;
  37.234 +                  hid_kind_t hidkind;
  37.235 +                ],[
  37.236 +                have_usbhid=yes
  37.237 +                ])
  37.238 +                AC_MSG_RESULT($have_usbhid)
  37.239  
  37.240 -        if test x$have_usbhid = xyes; then
  37.241 -            AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
  37.242 -            have_usbhid_ucr_data=no
  37.243 -            AC_TRY_COMPILE([
  37.244 -              #include <sys/types.h>
  37.245 -              #if defined(HAVE_USB_H)
  37.246 -              #include <usb.h>
  37.247 -              #endif
  37.248 -              #ifdef __DragonFly__
  37.249 -              # include <bus/usb/usb.h>
  37.250 -              # include <bus/usb/usbhid.h>
  37.251 -              #else
  37.252 -              # include <dev/usb/usb.h>
  37.253 -              # include <dev/usb/usbhid.h>
  37.254 -              #endif
  37.255 -              #if defined(HAVE_USBHID_H)
  37.256 -              #include <usbhid.h>
  37.257 -              #elif defined(HAVE_LIBUSB_H)
  37.258 -              #include <libusb.h>
  37.259 -              #elif defined(HAVE_LIBUSBHID_H)
  37.260 -              #include <libusbhid.h>
  37.261 -              #endif
  37.262 -            ],[
  37.263 -              struct usb_ctl_report buf;
  37.264 -              if (buf.ucr_data) { }
  37.265 -            ],[
  37.266 -            have_usbhid_ucr_data=yes
  37.267 -            ])
  37.268 -            if test x$have_usbhid_ucr_data = xyes; then
  37.269 -                USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
  37.270 +                if test x$have_usbhid = xyes; then
  37.271 +                    AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
  37.272 +                    have_usbhid_ucr_data=no
  37.273 +                    AC_TRY_COMPILE([
  37.274 +                      #include <sys/types.h>
  37.275 +                      #if defined(HAVE_USB_H)
  37.276 +                      #include <usb.h>
  37.277 +                      #endif
  37.278 +                      #ifdef __DragonFly__
  37.279 +                      # include <bus/usb/usb.h>
  37.280 +                      # include <bus/usb/usbhid.h>
  37.281 +                      #else
  37.282 +                      # include <dev/usb/usb.h>
  37.283 +                      # include <dev/usb/usbhid.h>
  37.284 +                      #endif
  37.285 +                      #if defined(HAVE_USBHID_H)
  37.286 +                      #include <usbhid.h>
  37.287 +                      #elif defined(HAVE_LIBUSB_H)
  37.288 +                      #include <libusb.h>
  37.289 +                      #elif defined(HAVE_LIBUSBHID_H)
  37.290 +                      #include <libusbhid.h>
  37.291 +                      #endif
  37.292 +                    ],[
  37.293 +                      struct usb_ctl_report buf;
  37.294 +                      if (buf.ucr_data) { }
  37.295 +                    ],[
  37.296 +                    have_usbhid_ucr_data=yes
  37.297 +                    ])
  37.298 +                    if test x$have_usbhid_ucr_data = xyes; then
  37.299 +                        USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
  37.300 +                    fi
  37.301 +                    AC_MSG_RESULT($have_usbhid_ucr_data)
  37.302 +                    
  37.303 +                    AC_MSG_CHECKING(for new usbhid API)
  37.304 +                    have_usbhid_new=no
  37.305 +                    AC_TRY_COMPILE([
  37.306 +                      #include <sys/types.h>
  37.307 +                      #if defined(HAVE_USB_H)
  37.308 +                      #include <usb.h>
  37.309 +                      #endif
  37.310 +                      #ifdef __DragonFly__
  37.311 +                      #include <bus/usb/usb.h>
  37.312 +                      #include <bus/usb/usbhid.h>
  37.313 +                      #else
  37.314 +                      #include <dev/usb/usb.h>
  37.315 +                      #include <dev/usb/usbhid.h>
  37.316 +                      #endif
  37.317 +                      #if defined(HAVE_USBHID_H)
  37.318 +                      #include <usbhid.h>
  37.319 +                      #elif defined(HAVE_LIBUSB_H)
  37.320 +                      #include <libusb.h>
  37.321 +                      #elif defined(HAVE_LIBUSBHID_H)
  37.322 +                      #include <libusbhid.h>
  37.323 +                      #endif
  37.324 +                    ],[
  37.325 +                      report_desc_t d;
  37.326 +                      hid_start_parse(d, 1, 1);
  37.327 +                    ],[
  37.328 +                    have_usbhid_new=yes
  37.329 +                    ])
  37.330 +                    if test x$have_usbhid_new = xyes; then
  37.331 +                        USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
  37.332 +                    fi
  37.333 +                    AC_MSG_RESULT($have_usbhid_new)
  37.334 +
  37.335 +                    AC_MSG_CHECKING(for struct joystick in machine/joystick.h)
  37.336 +                    have_machine_joystick=no
  37.337 +                    AC_TRY_COMPILE([
  37.338 +                      #include <machine/joystick.h>
  37.339 +                    ],[
  37.340 +                      struct joystick t;
  37.341 +                    ],[
  37.342 +                    have_machine_joystick=yes
  37.343 +                    ])
  37.344 +                    if test x$have_machine_joystick = xyes; then
  37.345 +                        AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H, 1, [ ])
  37.346 +                    fi
  37.347 +                    AC_MSG_RESULT($have_machine_joystick)
  37.348 +
  37.349 +                    AC_DEFINE(SDL_JOYSTICK_USBHID, 1, [ ])
  37.350 +                    SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
  37.351 +                    EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
  37.352 +                    EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
  37.353 +                    have_joystick=yes
  37.354 +                fi
  37.355 +                CFLAGS="$save_CFLAGS"
  37.356              fi
  37.357 -            AC_MSG_RESULT($have_usbhid_ucr_data)
  37.358 -            
  37.359 -            AC_MSG_CHECKING(for new usbhid API)
  37.360 -            have_usbhid_new=no
  37.361 -            AC_TRY_COMPILE([
  37.362 -              #include <sys/types.h>
  37.363 -              #if defined(HAVE_USB_H)
  37.364 -              #include <usb.h>
  37.365 -              #endif
  37.366 -              #ifdef __DragonFly__
  37.367 -              #include <bus/usb/usb.h>
  37.368 -              #include <bus/usb/usbhid.h>
  37.369 -              #else
  37.370 -              #include <dev/usb/usb.h>
  37.371 -              #include <dev/usb/usbhid.h>
  37.372 -              #endif
  37.373 -              #if defined(HAVE_USBHID_H)
  37.374 -              #include <usbhid.h>
  37.375 -              #elif defined(HAVE_LIBUSB_H)
  37.376 -              #include <libusb.h>
  37.377 -              #elif defined(HAVE_LIBUSBHID_H)
  37.378 -              #include <libusbhid.h>
  37.379 -              #endif
  37.380 -            ],[
  37.381 -              report_desc_t d;
  37.382 -              hid_start_parse(d, 1, 1);
  37.383 -            ],[
  37.384 -            have_usbhid_new=yes
  37.385 -            ])
  37.386 -            if test x$have_usbhid_new = xyes; then
  37.387 -                USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
  37.388 -            fi
  37.389 -            AC_MSG_RESULT($have_usbhid_new)
  37.390 -
  37.391 -            AC_MSG_CHECKING(for struct joystick in machine/joystick.h)
  37.392 -            have_machine_joystick=no
  37.393 -            AC_TRY_COMPILE([
  37.394 -              #include <machine/joystick.h>
  37.395 -            ],[
  37.396 -              struct joystick t;
  37.397 -            ],[
  37.398 -            have_machine_joystick=yes
  37.399 -            ])
  37.400 -            if test x$have_machine_joystick = xyes; then
  37.401 -                AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H, 1, [ ])
  37.402 -            fi
  37.403 -            AC_MSG_RESULT($have_machine_joystick)
  37.404 -
  37.405 -            AC_DEFINE(SDL_JOYSTICK_USBHID, 1, [ ])
  37.406 -            SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
  37.407 -            EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
  37.408 -            EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
  37.409 -            have_joystick=yes
  37.410 -        fi
  37.411 -        CFLAGS="$save_CFLAGS"
  37.412 -    fi
  37.413 +        ;;
  37.414 +    esac
  37.415  }
  37.416  
  37.417  dnl Check for clock_gettime()
  37.418 @@ -2333,6 +2369,21 @@
  37.419  case "$host" in
  37.420      *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*)
  37.421          case "$host" in
  37.422 +            *-raspberry-linux*)
  37.423 +                # Raspberry Pi
  37.424 +                ARCH=linux
  37.425 +                RPI_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
  37.426 +                RPI_LDFLAGS="-L/opt/vc/lib -lbcm_host"
  37.427 +                CFLAGS="$CFLAGS $RPI_CFLAGS"
  37.428 +                SDL_CFLAGS="$SDL_CFLAGS $RPI_CFLAGS"
  37.429 +                EXTRA_CFLAGS="$EXTRA_CFLAGS $RPI_CFLAGS"
  37.430 +                SDL_LIBS="$SDL_LIBS $RPI_LDFLAGS"
  37.431 +
  37.432 +                if test x$enable_video = xyes; then
  37.433 +                    SOURCES="$SOURCES $srcdir/src/video/raspberry/*.c"
  37.434 +                    $as_echo "#define SDL_VIDEO_DRIVER_RPI 1" >>confdefs.h
  37.435 +                fi
  37.436 +                ;;
  37.437              *-*-linux*)         ARCH=linux ;;
  37.438              *-*-uclinux*)       ARCH=linux ;;
  37.439              *-*-kfreebsd*-gnu)  ARCH=kfreebsd-gnu ;;
  37.440 @@ -2370,6 +2421,7 @@
  37.441          CheckLibUDev
  37.442          CheckDBus
  37.443          CheckInputEvents
  37.444 +        CheckInputKD
  37.445          CheckTslib
  37.446          CheckUSBHID
  37.447          CheckPTHREAD
  37.448 @@ -2428,12 +2480,26 @@
  37.449                 ;;
  37.450               esac
  37.451          fi
  37.452 +        # Set up files for the filesystem library
  37.453 +        if test x$enable_filesystem = xyes; then
  37.454 +            AC_DEFINE(SDL_FILESYSTEM_UNIX, 1, [ ])
  37.455 +            SOURCES="$SOURCES $srcdir/src/filesystem/unix/*.c"
  37.456 +            have_filesystem=yes
  37.457 +        fi
  37.458          # Set up files for the timer library
  37.459          if test x$enable_timers = xyes; then
  37.460              AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
  37.461              SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  37.462              have_timers=yes
  37.463          fi
  37.464 +        # Set up files for udev hotplugging support
  37.465 +        if test x$enable_libudev = xyes && test x$have_libudev_h_hdr = xyes; then
  37.466 +            SOURCES="$SOURCES $srcdir/src/core/linux/SDL_udev.c"               
  37.467 +        fi
  37.468 +        # Set up files for evdev input
  37.469 +        if test x$use_input_events = xyes; then
  37.470 +            SOURCES="$SOURCES $srcdir/src/input/evdev/*.c"               
  37.471 +        fi
  37.472          ;;
  37.473      *-*-cygwin* | *-*-mingw32*)
  37.474          ARCH=win32
  37.475 @@ -2506,6 +2572,11 @@
  37.476              SOURCES="$SOURCES $srcdir/src/power/windows/SDL_syspower.c"
  37.477              have_power=yes
  37.478          fi
  37.479 +        if test x$enable_filesystem = xyes; then
  37.480 +            AC_DEFINE(SDL_FILESYSTEM_WINDOWS, 1, [ ])
  37.481 +            SOURCES="$SOURCES $srcdir/src/filesystem/windows/SDL_sysfilesystem.c"
  37.482 +            have_filesystem=yes
  37.483 +        fi
  37.484          # Set up files for the thread library
  37.485          if test x$enable_threads = xyes; then
  37.486              AC_DEFINE(SDL_THREAD_WINDOWS, 1, [ ])
  37.487 @@ -2588,6 +2659,12 @@
  37.488              SOURCES="$SOURCES $srcdir/src/power/beos/*.c"
  37.489              have_power=yes
  37.490          fi
  37.491 +        # Set up files for the system filesystem library
  37.492 +        if test x$enable_filesystem = xyes; then
  37.493 +            AC_DEFINE(SDL_FILESYSTEM_BEOS, 1, [ ])
  37.494 +            SOURCES="$SOURCES $srcdir/src/filesystem/beos/*.cc"
  37.495 +            have_filesystem=yes
  37.496 +        fi
  37.497          # The BeOS platform requires special setup.
  37.498          SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
  37.499          EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  37.500 @@ -2627,6 +2704,11 @@
  37.501              SOURCES="$SOURCES $srcdir/src/power/uikit/*.m"
  37.502              have_power=yes
  37.503          fi
  37.504 +        # Set up files for the filesystem library
  37.505 +        if test x$enable_filesystem = xyes; then
  37.506 +            SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m"
  37.507 +            have_filesystem=yes
  37.508 +        fi
  37.509          # Set up files for the timer library
  37.510          if test x$enable_timers = xyes; then
  37.511              SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  37.512 @@ -2700,6 +2782,12 @@
  37.513              SOURCES="$SOURCES $srcdir/src/power/macosx/*.c"
  37.514              have_power=yes
  37.515          fi
  37.516 +        # Set up files for the filesystem library
  37.517 +        if test x$enable_filesystem = xyes; then
  37.518 +            AC_DEFINE(SDL_FILESYSTEM_COCOA, 1, [ ])
  37.519 +            SOURCES="$SOURCES $srcdir/src/filesystem/cocoa/*.m"
  37.520 +            have_filesystem=yes
  37.521 +        fi
  37.522          # Set up files for the timer library
  37.523          if test x$enable_timers = xyes; then
  37.524              AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
  37.525 @@ -2757,6 +2845,12 @@
  37.526      fi
  37.527      SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
  37.528  fi
  37.529 +if test x$have_filesystem != xyes; then
  37.530 +    if test x$enable_filesystem = xyes; then
  37.531 +        AC_DEFINE(SDL_FILESYSTEM_DISABLED, 1, [ ])
  37.532 +    fi
  37.533 +    SOURCES="$SOURCES $srcdir/src/filesystem/dummy/*.c"
  37.534 +fi
  37.535  if test x$have_loadso != xyes; then
  37.536      if test x$enable_loadso = xyes; then
  37.537          AC_DEFINE(SDL_LOADSO_DISABLED, 1, [ ])
    38.1 --- a/debian/changelog	Sun Oct 27 14:31:57 2013 -0400
    38.2 +++ b/debian/changelog	Sun Oct 27 21:26:46 2013 -0400
    38.3 @@ -1,3 +1,9 @@
    38.4 +libsdl2 (2.0.1) UNRELEASED; urgency=low
    38.5 +
    38.6 +  * Updated SDL to version 2.0.1
    38.7 +
    38.8 + -- Sam Lantinga <slouken@libsdl.org>  Wed, 23 Oct 2013 16:31:38 -0800
    38.9 +
   38.10  libsdl2 (2.0.0) UNRELEASED; urgency=low
   38.11  
   38.12    * SDL is now a native debian package.
    39.1 --- a/include/SDL.h	Sun Oct 27 14:31:57 2013 -0400
    39.2 +++ b/include/SDL.h	Sun Oct 27 21:26:46 2013 -0400
    39.3 @@ -32,18 +32,20 @@
    39.4   *
    39.5   *  \section intro_sec Introduction
    39.6   *
    39.7 - *  This is the Simple DirectMedia Layer, a general API that provides low
    39.8 - *  level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
    39.9 - *  and 2D framebuffer across multiple platforms.
   39.10 + *  Simple DirectMedia Layer is a cross-platform development library designed
   39.11 + *  to provide low level access to audio, keyboard, mouse, joystick, and
   39.12 + *  graphics hardware via OpenGL and Direct3D. It is used by video playback
   39.13 + *  software, emulators, and popular games including Valve's award winning
   39.14 + *  catalog and many Humble Bundle games.
   39.15   *
   39.16 - *  SDL is written in C, but works with C++ natively, and has bindings to
   39.17 - *  several other languages, including Ada, C#, Eiffel, Erlang, Euphoria,
   39.18 - *  Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP,
   39.19 - *  Pike, Pliant, Python, Ruby, and Smalltalk.
   39.20 + *  SDL officially supports Windows, Mac OS X, Linux, iOS, and Android.
   39.21 + *  Support for other platforms may be found in the source code.
   39.22   *
   39.23 - *  This library is distributed under the zlib license, which can be
   39.24 - *  found in the file  "COPYING".  This license allows you to use SDL
   39.25 - *  freely for any purpose as long as you retain the copyright notice.
   39.26 + *  SDL is written in C, works natively with C++, and there are bindings 
   39.27 + *  available for several other languages, including C# and Python.
   39.28 + *
   39.29 + *  This library is distributed under the zlib license, which can be found
   39.30 + *  in the file "COPYING.txt".
   39.31   *
   39.32   *  The best way to learn how to use SDL is to check out the header files in
   39.33   *  the "include" subdirectory and the programs in the "test" subdirectory.
   39.34 @@ -72,6 +74,7 @@
   39.35  #include "SDL_endian.h"
   39.36  #include "SDL_error.h"
   39.37  #include "SDL_events.h"
   39.38 +#include "SDL_filesystem.h"
   39.39  #include "SDL_joystick.h"
   39.40  #include "SDL_gamecontroller.h"
   39.41  #include "SDL_haptic.h"
   39.42 @@ -103,7 +106,7 @@
   39.43   *  These are the flags which may be passed to SDL_Init().  You should
   39.44   *  specify the subsystems which you will be using in your application.
   39.45   */
   39.46 -/*@{*/
   39.47 +/* @{ */
   39.48  #define SDL_INIT_TIMER          0x00000001
   39.49  #define SDL_INIT_AUDIO          0x00000010
   39.50  #define SDL_INIT_VIDEO          0x00000020  /**< SDL_INIT_VIDEO implies SDL_INIT_EVENTS */
   39.51 @@ -116,7 +119,7 @@
   39.52                  SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \
   39.53                  SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER \
   39.54              )
   39.55 -/*@}*/
   39.56 +/* @} */
   39.57  
   39.58  /**
   39.59   *  This function initializes  the subsystems specified by \c flags
    40.1 --- a/include/SDL_assert.h	Sun Oct 27 14:31:57 2013 -0400
    40.2 +++ b/include/SDL_assert.h	Sun Oct 27 21:26:46 2013 -0400
    40.3 @@ -86,8 +86,14 @@
    40.4  disable assertions.
    40.5  */
    40.6  
    40.7 +#ifdef _MSC_VER  /* stupid /W4 warnings. */
    40.8 +#define SDL_NULL_WHILE_LOOP_CONDITION (-1 == __LINE__)
    40.9 +#else
   40.10 +#define SDL_NULL_WHILE_LOOP_CONDITION (0)
   40.11 +#endif
   40.12 +
   40.13  #define SDL_disabled_assert(condition) \
   40.14 -    do { (void) sizeof ((condition)); } while (0)
   40.15 +    do { (void) sizeof ((condition)); } while (SDL_NULL_WHILE_LOOP_CONDITION)
   40.16  
   40.17  typedef enum
   40.18  {
   40.19 @@ -140,7 +146,7 @@
   40.20              } \
   40.21              break; /* not retrying. */ \
   40.22          } \
   40.23 -    } while (0)
   40.24 +    } while (SDL_NULL_WHILE_LOOP_CONDITION)
   40.25  
   40.26  #endif  /* enabled assertions support code */
   40.27  
   40.28 @@ -165,6 +171,9 @@
   40.29  #   error Unknown assertion level.
   40.30  #endif
   40.31  
   40.32 +/* this assertion is never disabled at any level. */
   40.33 +#define SDL_assert_always(condition) SDL_enabled_assert(condition)
   40.34 +
   40.35  
   40.36  typedef SDL_assert_state (SDLCALL *SDL_AssertionHandler)(
   40.37                                   const SDL_assert_data* data, void* userdata);
    41.1 --- a/include/SDL_atomic.h	Sun Oct 27 14:31:57 2013 -0400
    41.2 +++ b/include/SDL_atomic.h	Sun Oct 27 21:26:46 2013 -0400
    41.3 @@ -91,7 +91,7 @@
    41.4   * The spin lock functions and type are required and can not be
    41.5   * emulated because they are used in the atomic emulation code.
    41.6   */
    41.7 -/*@{*/
    41.8 +/* @{ */
    41.9  
   41.10  typedef int SDL_SpinLock;
   41.11  
   41.12 @@ -118,7 +118,7 @@
   41.13   */
   41.14  extern DECLSPEC void SDLCALL SDL_AtomicUnlock(SDL_SpinLock *lock);
   41.15  
   41.16 -/*@}*//*SDL AtomicLock*/
   41.17 +/* @} *//* SDL AtomicLock */
   41.18  
   41.19  
   41.20  /**
    42.1 --- a/include/SDL_audio.h	Sun Oct 27 14:31:57 2013 -0400
    42.2 +++ b/include/SDL_audio.h	Sun Oct 27 21:26:46 2013 -0400
    42.3 @@ -66,7 +66,7 @@
    42.4  /**
    42.5   *  \name Audio flags
    42.6   */
    42.7 -/*@{*/
    42.8 +/* @{ */
    42.9  
   42.10  #define SDL_AUDIO_MASK_BITSIZE       (0xFF)
   42.11  #define SDL_AUDIO_MASK_DATATYPE      (1<<8)
   42.12 @@ -85,7 +85,7 @@
   42.13   *
   42.14   *  Defaults to LSB byte order.
   42.15   */
   42.16 -/*@{*/
   42.17 +/* @{ */
   42.18  #define AUDIO_U8        0x0008  /**< Unsigned 8-bit samples */
   42.19  #define AUDIO_S8        0x8008  /**< Signed 8-bit samples */
   42.20  #define AUDIO_U16LSB    0x0010  /**< Unsigned 16-bit samples */
   42.21 @@ -94,30 +94,30 @@
   42.22  #define AUDIO_S16MSB    0x9010  /**< As above, but big-endian byte order */
   42.23  #define AUDIO_U16       AUDIO_U16LSB
   42.24  #define AUDIO_S16       AUDIO_S16LSB
   42.25 -/*@}*/
   42.26 +/* @} */
   42.27  
   42.28  /**
   42.29   *  \name int32 support
   42.30   */
   42.31 -/*@{*/
   42.32 +/* @{ */
   42.33  #define AUDIO_S32LSB    0x8020  /**< 32-bit integer samples */
   42.34  #define AUDIO_S32MSB    0x9020  /**< As above, but big-endian byte order */
   42.35  #define AUDIO_S32       AUDIO_S32LSB
   42.36 -/*@}*/
   42.37 +/* @} */
   42.38  
   42.39  /**
   42.40   *  \name float32 support
   42.41   */
   42.42 -/*@{*/
   42.43 +/* @{ */
   42.44  #define AUDIO_F32LSB    0x8120  /**< 32-bit floating point samples */
   42.45  #define AUDIO_F32MSB    0x9120  /**< As above, but big-endian byte order */
   42.46  #define AUDIO_F32       AUDIO_F32LSB
   42.47 -/*@}*/
   42.48 +/* @} */
   42.49  
   42.50  /**
   42.51   *  \name Native audio byte ordering
   42.52   */
   42.53 -/*@{*/
   42.54 +/* @{ */
   42.55  #if SDL_BYTEORDER == SDL_LIL_ENDIAN
   42.56  #define AUDIO_U16SYS    AUDIO_U16LSB
   42.57  #define AUDIO_S16SYS    AUDIO_S16LSB
   42.58 @@ -129,21 +129,21 @@
   42.59  #define AUDIO_S32SYS    AUDIO_S32MSB
   42.60  #define AUDIO_F32SYS    AUDIO_F32MSB
   42.61  #endif
   42.62 -/*@}*/
   42.63 +/* @} */
   42.64  
   42.65  /**
   42.66   *  \name Allow change flags
   42.67   *
   42.68   *  Which audio format changes are allowed when opening a device.
   42.69   */
   42.70 -/*@{*/
   42.71 +/* @{ */
   42.72  #define SDL_AUDIO_ALLOW_FREQUENCY_CHANGE    0x00000001
   42.73  #define SDL_AUDIO_ALLOW_FORMAT_CHANGE       0x00000002
   42.74  #define SDL_AUDIO_ALLOW_CHANNELS_CHANGE     0x00000004
   42.75  #define SDL_AUDIO_ALLOW_ANY_CHANGE          (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE|SDL_AUDIO_ALLOW_FORMAT_CHANGE|SDL_AUDIO_ALLOW_CHANNELS_CHANGE)
   42.76 -/*@}*/
   42.77 +/* @} */
   42.78  
   42.79 -/*@}*//*Audio flags*/
   42.80 +/* @} *//* Audio flags */
   42.81  
   42.82  /**
   42.83   *  This function is called when the audio device needs more data.
   42.84 @@ -218,10 +218,10 @@
   42.85   *  These functions return the list of built in audio drivers, in the
   42.86   *  order that they are normally initialized by default.
   42.87   */
   42.88 -/*@{*/
   42.89 +/* @{ */
   42.90  extern DECLSPEC int SDLCALL SDL_GetNumAudioDrivers(void);
   42.91  extern DECLSPEC const char *SDLCALL SDL_GetAudioDriver(int index);
   42.92 -/*@}*/
   42.93 +/* @} */
   42.94  
   42.95  /**
   42.96   *  \name Initialization and cleanup
   42.97 @@ -230,10 +230,10 @@
   42.98   *            you have a specific need to specify the audio driver you want to
   42.99   *            use.  You should normally use SDL_Init() or SDL_InitSubSystem().
  42.100   */
  42.101 -/*@{*/
  42.102 +/* @{ */
  42.103  extern DECLSPEC int SDLCALL SDL_AudioInit(const char *driver_name);
  42.104  extern DECLSPEC void SDLCALL SDL_AudioQuit(void);
  42.105 -/*@}*/
  42.106 +/* @} */
  42.107  
  42.108  /**
  42.109   *  This function returns the name of the current audio driver, or NULL
  42.110 @@ -359,7 +359,7 @@
  42.111   *
  42.112   *  Get the current audio state.
  42.113   */
  42.114 -/*@{*/
  42.115 +/* @{ */
  42.116  typedef enum
  42.117  {
  42.118      SDL_AUDIO_STOPPED = 0,
  42.119 @@ -370,7 +370,7 @@
  42.120  
  42.121  extern DECLSPEC SDL_AudioStatus SDLCALL
  42.122  SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev);
  42.123 -/*@}*//*Audio State*/
  42.124 +/* @} *//* Audio State */
  42.125  
  42.126  /**
  42.127   *  \name Pause audio functions
  42.128 @@ -381,11 +381,11 @@
  42.129   *  data for your callback function after opening the audio device.
  42.130   *  Silence will be written to the audio device during the pause.
  42.131   */
  42.132 -/*@{*/
  42.133 +/* @{ */
  42.134  extern DECLSPEC void SDLCALL SDL_PauseAudio(int pause_on);
  42.135  extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
  42.136                                                    int pause_on);
  42.137 -/*@}*//*Pause audio functions*/
  42.138 +/* @} *//* Pause audio functions */
  42.139  
  42.140  /**
  42.141   *  This function loads a WAVE from the data source, automatically freeing
  42.142 @@ -482,12 +482,12 @@
  42.143   *  the callback function is not running.  Do not call these from the callback
  42.144   *  function or you will cause deadlock.
  42.145   */
  42.146 -/*@{*/
  42.147 +/* @{ */
  42.148  extern DECLSPEC void SDLCALL SDL_LockAudio(void);
  42.149  extern DECLSPEC void SDLCALL SDL_LockAudioDevice(SDL_AudioDeviceID dev);
  42.150  extern DECLSPEC void SDLCALL SDL_UnlockAudio(void);
  42.151  extern DECLSPEC void SDLCALL SDL_UnlockAudioDevice(SDL_AudioDeviceID dev);
  42.152 -/*@}*//*Audio lock functions*/
  42.153 +/* @} *//* Audio lock functions */
  42.154  
  42.155  /**
  42.156   *  This function shuts down audio processing and closes the audio device.
    43.1 --- a/include/SDL_config.h.cmake	Sun Oct 27 14:31:57 2013 -0400
    43.2 +++ b/include/SDL_config.h.cmake	Sun Oct 27 21:26:46 2013 -0400
    43.3 @@ -182,6 +182,7 @@
    43.4  #cmakedefine SDL_TIMERS_DISABLED @SDL_TIMERS_DISABLED@
    43.5  #cmakedefine SDL_VIDEO_DISABLED @SDL_VIDEO_DISABLED@
    43.6  #cmakedefine SDL_POWER_DISABLED @SDL_POWER_DISABLED@
    43.7 +#cmakedefine SDL_FILESYSTEM_DISABLED @SDL_FILESYSTEM_DISABLED@
    43.8  
    43.9  /* Enable various audio drivers */
   43.10  #cmakedefine SDL_AUDIO_DRIVER_ALSA @SDL_AUDIO_DRIVER_ALSA@
   43.11 @@ -287,10 +288,12 @@
   43.12  /* Enable OpenGL support */
   43.13  #cmakedefine SDL_VIDEO_OPENGL @SDL_VIDEO_OPENGL@
   43.14  #cmakedefine SDL_VIDEO_OPENGL_ES @SDL_VIDEO_OPENGL_ES@
   43.15 +#cmakedefine SDL_VIDEO_OPENGL_ES2 @SDL_VIDEO_OPENGL_ES2@
   43.16  #cmakedefine SDL_VIDEO_OPENGL_BGL @SDL_VIDEO_OPENGL_BGL@
   43.17  #cmakedefine SDL_VIDEO_OPENGL_CGL @SDL_VIDEO_OPENGL_CGL@
   43.18  #cmakedefine SDL_VIDEO_OPENGL_GLX @SDL_VIDEO_OPENGL_GLX@
   43.19  #cmakedefine SDL_VIDEO_OPENGL_WGL @SDL_VIDEO_OPENGL_WGL@
   43.20 +#cmakedefine SDL_VIDEO_OPENGL_EGL @SDL_VIDEO_OPENGL_EGL@
   43.21  #cmakedefine SDL_VIDEO_OPENGL_OSMESA @SDL_VIDEO_OPENGL_OSMESA@
   43.22  #cmakedefine SDL_VIDEO_OPENGL_OSMESA_DYNAMIC @SDL_VIDEO_OPENGL_OSMESA_DYNAMIC@
   43.23  
   43.24 @@ -301,6 +304,13 @@
   43.25  #cmakedefine SDL_POWER_BEOS @SDL_POWER_BEOS@
   43.26  #cmakedefine SDL_POWER_HARDWIRED @SDL_POWER_HARDWIRED@
   43.27  
   43.28 +/* Enable system filesystem support */
   43.29 +#cmakedefine SDL_FILESYSTEM_BEOS @SDL_FILESYSTEM_BEOS@
   43.30 +#cmakedefine SDL_FILESYSTEM_COCOA @SDL_FILESYSTEM_COCOA@
   43.31 +#cmakedefine SDL_FILESYSTEM_DUMMY @SDL_FILESYSTEM_DUMMY@
   43.32 +#cmakedefine SDL_FILESYSTEM_UNIX @SDL_FILESYSTEM_UNIX@
   43.33 +#cmakedefine SDL_FILESYSTEM_WINDOWS @SDL_FILESYSTEM_WINDOWS@
   43.34 +
   43.35  /* Enable assembly routines */
   43.36  #cmakedefine SDL_ASSEMBLY_ROUTINES @SDL_ASSEMBLY_ROUTINES@
   43.37  #cmakedefine SDL_ALTIVEC_BLITTERS @SDL_ALTIVEC_BLITTERS@
    44.1 --- a/include/SDL_config.h.in	Sun Oct 27 14:31:57 2013 -0400
    44.2 +++ b/include/SDL_config.h.in	Sun Oct 27 21:26:46 2013 -0400
    44.3 @@ -184,6 +184,7 @@
    44.4  #undef SDL_TIMERS_DISABLED
    44.5  #undef SDL_VIDEO_DISABLED
    44.6  #undef SDL_POWER_DISABLED
    44.7 +#undef SDL_FILESYSTEM_DISABLED
    44.8  
    44.9  /* Enable various audio drivers */
   44.10  #undef SDL_AUDIO_DRIVER_ALSA
   44.11 @@ -216,6 +217,7 @@
   44.12  
   44.13  /* Enable various input drivers */
   44.14  #undef SDL_INPUT_LINUXEV
   44.15 +#undef SDL_INPUT_LINUXKD
   44.16  #undef SDL_INPUT_TSLIB
   44.17  #undef SDL_JOYSTICK_BEOS
   44.18  #undef SDL_JOYSTICK_DINPUT
   44.19 @@ -258,6 +260,7 @@
   44.20  #undef SDL_VIDEO_DRIVER_DUMMY
   44.21  #undef SDL_VIDEO_DRIVER_WINDOWS
   44.22  #undef SDL_VIDEO_DRIVER_X11
   44.23 +#undef SDL_VIDEO_DRIVER_RPI
   44.24  #undef SDL_VIDEO_DRIVER_X11_DYNAMIC
   44.25  #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT
   44.26  #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR
   44.27 @@ -288,8 +291,10 @@
   44.28  /* Enable OpenGL support */
   44.29  #undef SDL_VIDEO_OPENGL
   44.30  #undef SDL_VIDEO_OPENGL_ES
   44.31 +#undef SDL_VIDEO_OPENGL_ES2
   44.32  #undef SDL_VIDEO_OPENGL_BGL
   44.33  #undef SDL_VIDEO_OPENGL_CGL
   44.34 +#undef SDL_VIDEO_OPENGL_EGL
   44.35  #undef SDL_VIDEO_OPENGL_GLX
   44.36  #undef SDL_VIDEO_OPENGL_WGL
   44.37  #undef SDL_VIDEO_OPENGL_OSMESA
   44.38 @@ -302,6 +307,13 @@
   44.39  #undef SDL_POWER_BEOS
   44.40  #undef SDL_POWER_HARDWIRED
   44.41  
   44.42 +/* Enable system filesystem support */
   44.43 +#undef SDL_FILESYSTEM_BEOS
   44.44 +#undef SDL_FILESYSTEM_COCOA
   44.45 +#undef SDL_FILESYSTEM_DUMMY
   44.46 +#undef SDL_FILESYSTEM_UNIX
   44.47 +#undef SDL_FILESYSTEM_WINDOWS
   44.48 +
   44.49  /* Enable assembly routines */
   44.50  #undef SDL_ASSEMBLY_ROUTINES
   44.51  #undef SDL_ALTIVEC_BLITTERS
    45.1 --- a/include/SDL_config_android.h	Sun Oct 27 14:31:57 2013 -0400
    45.2 +++ b/include/SDL_config_android.h	Sun Oct 27 21:26:46 2013 -0400
    45.3 @@ -129,10 +129,14 @@
    45.4  
    45.5  /* Enable OpenGL ES */
    45.6  #define SDL_VIDEO_OPENGL_ES 1
    45.7 +#define SDL_VIDEO_OPENGL_EGL 1
    45.8  #define SDL_VIDEO_RENDER_OGL_ES 1
    45.9  #define SDL_VIDEO_RENDER_OGL_ES2    1
   45.10  
   45.11  /* Enable system power support */
   45.12  #define SDL_POWER_ANDROID 1
   45.13  
   45.14 +/* !!! FIXME: what does Android do for filesystem stuff? */
   45.15 +#define SDL_FILESYSTEM_DUMMY   1
   45.16 +
   45.17  #endif /* _SDL_config_android_h */
    46.1 --- a/include/SDL_config_iphoneos.h	Sun Oct 27 14:31:57 2013 -0400
    46.2 +++ b/include/SDL_config_iphoneos.h	Sun Oct 27 21:26:46 2013 -0400
    46.3 @@ -148,4 +148,7 @@
    46.4   */
    46.5  #define SDL_IPHONE_MAX_GFORCE 5.0
    46.6  
    46.7 +/* enable filesystem support */
    46.8 +#define SDL_FILESYSTEM_COCOA   1
    46.9 +
   46.10  #endif /* _SDL_config_iphoneos_h */
    47.1 --- a/include/SDL_config_macosx.h	Sun Oct 27 14:31:57 2013 -0400
    47.2 +++ b/include/SDL_config_macosx.h	Sun Oct 27 21:26:46 2013 -0400
    47.3 @@ -171,6 +171,9 @@
    47.4  /* Enable system power support */
    47.5  #define SDL_POWER_MACOSX 1
    47.6  
    47.7 +/* enable filesystem support */
    47.8 +#define SDL_FILESYSTEM_COCOA   1
    47.9 +
   47.10  /* Enable assembly routines */
   47.11  #define SDL_ASSEMBLY_ROUTINES   1
   47.12  #ifdef __ppc__
    48.1 --- a/include/SDL_config_minimal.h	Sun Oct 27 14:31:57 2013 -0400
    48.2 +++ b/include/SDL_config_minimal.h	Sun Oct 27 21:26:46 2013 -0400
    48.3 @@ -75,4 +75,7 @@
    48.4  /* Enable the dummy video driver (src/video/dummy/\*.c) */
    48.5  #define SDL_VIDEO_DRIVER_DUMMY  1
    48.6  
    48.7 +/* Enable the dummy filesystem driver (src/filesystem/dummy/\*.c) */
    48.8 +#define SDL_FILESYSTEM_DUMMY  1
    48.9 +
   48.10  #endif /* _SDL_config_minimal_h */
    49.1 --- a/include/SDL_config_pandora.h	Sun Oct 27 14:31:57 2013 -0400
    49.2 +++ b/include/SDL_config_pandora.h	Sun Oct 27 21:26:46 2013 -0400
    49.3 @@ -114,6 +114,7 @@
    49.4  #define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 1
    49.5  
    49.6  #define SDL_TIMER_UNIX 1
    49.7 +#define SDL_FILESYSTEM_UNIX 1
    49.8  
    49.9  #define SDL_VIDEO_DRIVER_DUMMY 1
   49.10  #define SDL_VIDEO_DRIVER_X11 1
    50.1 --- a/include/SDL_config_psp.h	Sun Oct 27 14:31:57 2013 -0400
    50.2 +++ b/include/SDL_config_psp.h	Sun Oct 27 21:26:46 2013 -0400
    50.3 @@ -99,8 +99,8 @@
    50.4  #define HAVE_SQRT   1
    50.5  #define HAVE_SETJMP 1
    50.6  #define HAVE_NANOSLEEP  1
    50.7 -//#define HAVE_SYSCONF  1
    50.8 -//#define HAVE_SIGACTION    1
    50.9 +/* #define HAVE_SYSCONF  1 */
   50.10 +/* #define HAVE_SIGACTION    1 */
   50.11  
   50.12  
   50.13  /* PSP isn't that sophisticated */
   50.14 @@ -126,6 +126,9 @@
   50.15  
   50.16  #define SDL_POWER_PSP          1
   50.17  
   50.18 +/* !!! FIXME: what does PSP do for filesystem stuff? */
   50.19 +#define SDL_FILESYSTEM_DUMMY   1
   50.20 +
   50.21  /* PSP doesn't have haptic device (src/haptic/dummy/\*.c) */
   50.22  #define SDL_HAPTIC_DISABLED    1
   50.23  
    51.1 --- a/include/SDL_config_windows.h	Sun Oct 27 14:31:57 2013 -0400
    51.2 +++ b/include/SDL_config_windows.h	Sun Oct 27 21:26:46 2013 -0400
    51.3 @@ -105,12 +105,10 @@
    51.4  #define HAVE_STRCHR 1
    51.5  #define HAVE_STRRCHR 1
    51.6  #define HAVE_STRSTR 1
    51.7 -#define HAVE_ITOA 1
    51.8  #define HAVE__LTOA 1
    51.9  #define HAVE__ULTOA 1
   51.10  #define HAVE_STRTOL 1
   51.11  #define HAVE_STRTOUL 1
   51.12 -#define HAVE_STRTOLL 1
   51.13  #define HAVE_STRTOD 1
   51.14  #define HAVE_ATOI 1
   51.15  #define HAVE_ATOF 1
   51.16 @@ -118,22 +116,27 @@
   51.17  #define HAVE_STRNCMP 1
   51.18  #define HAVE__STRICMP 1
   51.19  #define HAVE__STRNICMP 1
   51.20 -#define HAVE_SSCANF 1
   51.21 -#define HAVE_M_PI 1
   51.22  #define HAVE_ATAN 1
   51.23  #define HAVE_ATAN2 1
   51.24  #define HAVE_CEIL 1
   51.25 -#define HAVE_COPYSIGN 1
   51.26  #define HAVE_COS 1
   51.27  #define HAVE_COSF 1
   51.28  #define HAVE_FABS 1
   51.29  #define HAVE_FLOOR 1
   51.30  #define HAVE_LOG 1
   51.31  #define HAVE_POW 1
   51.32 -#define HAVE_SCALBN 1
   51.33  #define HAVE_SIN 1
   51.34  #define HAVE_SINF 1
   51.35  #define HAVE_SQRT 1
   51.36 +#if _MSC_VER >= 1800
   51.37 +#define HAVE_STRTOLL 1
   51.38 +#define HAVE_SSCANF 1
   51.39 +#define HAVE_COPYSIGN 1
   51.40 +#define HAVE_SCALBN 1
   51.41 +#endif
   51.42 +#if !defined(_MSC_VER) || defined(_USE_MATH_DEFINES)
   51.43 +#define HAVE_M_PI 1
   51.44 +#endif
   51.45  #else
   51.46  #define HAVE_STDARG_H   1
   51.47  #define HAVE_STDDEF_H   1
   51.48 @@ -181,6 +184,9 @@
   51.49  /* Enable system power support */
   51.50  #define SDL_POWER_WINDOWS 1
   51.51  
   51.52 +/* Enable filesystem support */
   51.53 +#define SDL_FILESYSTEM_WINDOWS  1
   51.54 +
   51.55  /* Enable assembly routines (Win64 doesn't have inline asm) */
   51.56  #ifndef _WIN64
   51.57  #define SDL_ASSEMBLY_ROUTINES   1
    52.1 --- a/include/SDL_cpuinfo.h	Sun Oct 27 14:31:57 2013 -0400
    52.2 +++ b/include/SDL_cpuinfo.h	Sun Oct 27 21:26:46 2013 -0400
    52.3 @@ -134,6 +134,11 @@
    52.4   */
    52.5  extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE42(void);
    52.6  
    52.7 +/**
    52.8 + *  This function returns the amount of RAM configured in the system, in MB.
    52.9 + */
   52.10 +extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void);
   52.11 +
   52.12  
   52.13  /* Ends C function definitions when using C++ */
   52.14  #ifdef __cplusplus
    53.1 --- a/include/SDL_endian.h	Sun Oct 27 14:31:57 2013 -0400
    53.2 +++ b/include/SDL_endian.h	Sun Oct 27 21:26:46 2013 -0400
    53.3 @@ -33,10 +33,10 @@
    53.4  /**
    53.5   *  \name The two types of endianness
    53.6   */
    53.7 -/*@{*/
    53.8 +/* @{ */
    53.9  #define SDL_LIL_ENDIAN  1234
   53.10  #define SDL_BIG_ENDIAN  4321
   53.11 -/*@}*/
   53.12 +/* @} */
   53.13  
   53.14  #ifndef SDL_BYTEORDER           /* Not defined in SDL_config.h? */
   53.15  #ifdef __linux__
   53.16 @@ -206,7 +206,7 @@
   53.17   *  \name Swap to native
   53.18   *  Byteswap item from the specified endianness to the native endianness.
   53.19   */
   53.20 -/*@{*/
   53.21 +/* @{ */
   53.22  #if SDL_BYTEORDER == SDL_LIL_ENDIAN
   53.23  #define SDL_SwapLE16(X) (X)
   53.24  #define SDL_SwapLE32(X) (X)
   53.25 @@ -226,7 +226,7 @@
   53.26  #define SDL_SwapBE64(X) (X)
   53.27  #define SDL_SwapFloatBE(X)  (X)
   53.28  #endif
   53.29 -/*@}*//*Swap to native*/
   53.30 +/* @} *//* Swap to native */
   53.31  
   53.32  /* Ends C function definitions when using C++ */
   53.33  #ifdef __cplusplus
    54.1 --- a/include/SDL_error.h	Sun Oct 27 14:31:57 2013 -0400
    54.2 +++ b/include/SDL_error.h	Sun Oct 27 21:26:46 2013 -0400
    54.3 @@ -48,7 +48,7 @@
    54.4   *  \internal
    54.5   *  Private error reporting function - used internally.
    54.6   */
    54.7 -/*@{*/
    54.8 +/* @{ */
    54.9  #define SDL_OutOfMemory()   SDL_Error(SDL_ENOMEM)
   54.10  #define SDL_Unsupported()   SDL_Error(SDL_UNSUPPORTED)
   54.11  #define SDL_InvalidParamError(param)    SDL_SetError("Parameter '%s' is invalid", (param))
   54.12 @@ -63,7 +63,7 @@
   54.13  } SDL_errorcode;
   54.14  /* SDL_Error() unconditionally returns -1. */
   54.15  extern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code);
   54.16 -/*@}*//*Internal error functions*/
   54.17 +/* @} *//* Internal error functions */
   54.18  
   54.19  /* Ends C function definitions when using C++ */
   54.20  #ifdef __cplusplus
    55.1 --- a/include/SDL_events.h	Sun Oct 27 14:31:57 2013 -0400
    55.2 +++ b/include/SDL_events.h	Sun Oct 27 21:26:46 2013 -0400
    55.3 @@ -541,7 +541,7 @@
    55.4   */
    55.5  extern DECLSPEC void SDLCALL SDL_PumpEvents(void);
    55.6  
    55.7 -/*@{*/
    55.8 +/* @{ */
    55.9  typedef enum
   55.10  {
   55.11      SDL_ADDEVENT,
   55.12 @@ -570,7 +570,7 @@
   55.13  extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event * events, int numevents,
   55.14                                             SDL_eventaction action,
   55.15                                             Uint32 minType, Uint32 maxType);
   55.16 -/*@}*/
   55.17 +/* @} */
   55.18  
   55.19  /**
   55.20   *  Checks to see if certain event types are in the event queue.
   55.21 @@ -681,7 +681,7 @@
   55.22  extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter,
   55.23                                                void *userdata);
   55.24  
   55.25 -/*@{*/
   55.26 +/* @{ */
   55.27  #define SDL_QUERY   -1
   55.28  #define SDL_IGNORE   0
   55.29  #define SDL_DISABLE  0
   55.30 @@ -697,7 +697,7 @@
   55.31   *     current processing state of the specified event.
   55.32   */
   55.33  extern DECLSPEC Uint8 SDLCALL SDL_EventState(Uint32 type, int state);
   55.34 -/*@}*/
   55.35 +/* @} */
   55.36  #define SDL_GetEventState(type) SDL_EventState(type, SDL_QUERY)
   55.37  
   55.38  /**
    56.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    56.2 +++ b/include/SDL_filesystem.h	Sun Oct 27 21:26:46 2013 -0400
    56.3 @@ -0,0 +1,136 @@
    56.4 +/*
    56.5 +  Simple DirectMedia Layer
    56.6 +  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
    56.7 +
    56.8 +  This software is provided 'as-is', without any express or implied
    56.9 +  warranty.  In no event will the authors be held liable for any damages
   56.10 +  arising from the use of this software.
   56.11 +
   56.12 +  Permission is granted to anyone to use this software for any purpose,
   56.13 +  including commercial applications, and to alter it and redistribute it
   56.14 +  freely, subject to the following restrictions:
   56.15 +
   56.16 +  1. The origin of this software must not be misrepresented; you must not
   56.17 +     claim that you wrote the original software. If you use this software
   56.18 +     in a product, an acknowledgment in the product documentation would be
   56.19 +     appreciated but is not required.
   56.20 +  2. Altered source versions must be plainly marked as such, and must not be
   56.21 +     misrepresented as being the original software.
   56.22 +  3. This notice may not be removed or altered from any source distribution.
   56.23 +*/
   56.24 +
   56.25 +/**
   56.26 + *  \file SDL_filesystem.h
   56.27 + *
   56.28 + *  \brief Include file for filesystem SDL API functions
   56.29 + */
   56.30 +
   56.31 +#ifndef _SDL_filesystem_h
   56.32 +#define _SDL_filesystem_h
   56.33 +
   56.34 +#include "SDL_stdinc.h"
   56.35 +
   56.36 +#include "begin_code.h"
   56.37 +
   56.38 +/* Set up for C function definitions, even when using C++ */
   56.39 +#ifdef __cplusplus
   56.40 +extern "C" {
   56.41 +#endif
   56.42 +
   56.43 +/**
   56.44 + * \brief Get the path where the application resides.
   56.45 + *
   56.46 + * Get the "base path". This is the directory where the application was run
   56.47 + *  from, which is probably the installation directory, and may or may not
   56.48 + *  be the process's current working directory.
   56.49 + *
   56.50 + * This returns an absolute path in UTF-8 encoding, and is guaranteed to
   56.51 + *  end with a path separator ('\\' on Windows, '/' most other places).
   56.52 + *
   56.53 + * The pointer returned by this function is owned by you. Please call
   56.54 + *  SDL_free() on the pointer when you are done with it, or it will be a
   56.55 + *  memory leak. This is not necessarily a fast call, though, so you should
   56.56 + *  call this once near startup and save the string if you need it.
   56.57 + *
   56.58 + * Some platforms can't determine the application's path, and on other
   56.59 + *  platforms, this might be meaningless. In such cases, this function will
   56.60 + *  return NULL.
   56.61 + *
   56.62 + *  \return String of base dir in UTF-8 encoding, or NULL on error.
   56.63 + *
   56.64 + * \sa SDL_GetPrefPath
   56.65 + */
   56.66 +extern DECLSPEC char *SDLCALL SDL_GetBasePath(void);
   56.67 +
   56.68 +/**
   56.69 + * \brief Get the user-and-app-specific path where files can be written.
   56.70 + *
   56.71 + * Get the "pref dir". This is meant to be where users can write personal
   56.72 + *  files (preferences and save games, etc) that are specific to your
   56.73 + *  application. This directory is unique per user, per application.
   56.74 + *
   56.75 + * This function will decide the appropriate location in the native filesystem,
   56.76 + *  create the directory if necessary, and return a string of the absolute
   56.77 + *  path to the directory in UTF-8 encoding.
   56.78 + *
   56.79 + * On Windows, the string might look like:
   56.80 + *  "C:\\Users\\bob\\AppData\\Roaming\\My Company\\My Program Name\\"
   56.81 + *
   56.82 + * On Linux, the string might look like:
   56.83 + *  "/home/bob/.local/share/My Program Name/"
   56.84 + *
   56.85 + * On Mac OS X, the string might look like:
   56.86 + *  "/Users/bob/Library/Application Support/My Program Name/"
   56.87 + *
   56.88 + * (etc.)
   56.89 + *
   56.90 + * You specify the name of your organization (if it's not a real organization,
   56.91 + *  your name or an Internet domain you own might do) and the name of your
   56.92 + *  application. These should be untranslated proper names.
   56.93 + *
   56.94 + * Both the org and app strings may become part of a directory name, so
   56.95 + *  please follow these rules:
   56.96 + *
   56.97 + *    - Try to use the same org string (including case-sensitivity) for
   56.98 + *      all your applications that use this function.
   56.99 + *    - Always use a unique app string for each one, and make sure it never
  56.100 + *      changes for an app once you've decided on it.
  56.101 + *    - Unicode characters are legal, as long as it's UTF-8 encoded, but...
  56.102 + *    - ...only use letters, numbers, and spaces. Avoid punctuation like
  56.103 + *      "Game Name 2: Bad Guy's Revenge!" ... "Game Name 2" is sufficient.
  56.104 + *
  56.105 + * This returns an absolute path in UTF-8 encoding, and is guaranteed to
  56.106 + *  end with a path separator ('\\' on Windows, '/' most other places).
  56.107 + *
  56.108 + * The pointer returned by this function is owned by you. Please call
  56.109 + *  SDL_free() on the pointer when you are done with it, or it will be a
  56.110 + *  memory leak. This is not necessarily a fast call, though, so you should
  56.111 + *  call this once near startup and save the string if you need it.
  56.112 + *
  56.113 + * You should assume the path returned by this function is the only safe
  56.114 + *  place to write files (and that SDL_GetBasePath(), while it might be
  56.115 + *  writable, or even the parent of the returned path, aren't where you
  56.116 + *  should be writing things).
  56.117 + *
  56.118 + * Some platforms can't determine the pref path, and on other
  56.119 + *  platforms, this might be meaningless. In such cases, this function will
  56.120 + *  return NULL.
  56.121 + *
  56.122 + *   \param org The name of your organization.
  56.123 + *   \param app The name of your application.
  56.124 + *  \return UTF-8 string of user dir in platform-dependent notation. NULL
  56.125 + *          if there's a problem (creating directory failed, etc).
  56.126 + *
  56.127 + * \sa SDL_GetBasePath
  56.128 + */
  56.129 +extern DECLSPEC char *SDLCALL SDL_GetPrefPath(const char *org, const char *app);
  56.130 +
  56.131 +/* Ends C function definitions when using C++ */
  56.132 +#ifdef __cplusplus
  56.133 +}
  56.134 +#endif
  56.135 +#include "close_code.h"
  56.136 +
  56.137 +#endif /* _SDL_system_h */
  56.138 +
  56.139 +/* vi: set ts=4 sw=4 expandtab: */
    57.1 --- a/include/SDL_haptic.h	Sun Oct 27 14:31:57 2013 -0400
    57.2 +++ b/include/SDL_haptic.h	Sun Oct 27 21:26:46 2013 -0400
    57.3 @@ -140,12 +140,12 @@
    57.4   *
    57.5   *  Different haptic features a device can have.
    57.6   */
    57.7 -/*@{*/
    57.8 +/* @{ */
    57.9  
   57.10  /**
   57.11   *  \name Haptic effects
   57.12   */
   57.13 -/*@{*/
   57.14 +/* @{ */
   57.15  
   57.16  /**
   57.17   *  \brief Constant effect supported.
   57.18 @@ -177,7 +177,7 @@
   57.19  #define SDL_HAPTIC_LEFTRIGHT     (1<<2)
   57.20  
   57.21  /* !!! FIXME: put this back when we have more bits in 2.1 */
   57.22 -/*#define SDL_HAPTIC_SQUARE     (1<<2)*/
   57.23 +/* #define SDL_HAPTIC_SQUARE     (1<<2) */
   57.24  
   57.25  /**
   57.26   *  \brief Triangle wave effect supported.
   57.27 @@ -262,7 +262,7 @@
   57.28   */
   57.29  #define SDL_HAPTIC_CUSTOM     (1<<11)
   57.30  
   57.31 -/*@}*//*Haptic effects*/
   57.32 +/* @} *//* Haptic effects */
   57.33  
   57.34  /* These last few are features the device has, not effects */
   57.35  
   57.36 @@ -305,7 +305,7 @@
   57.37  /**
   57.38   * \name Direction encodings
   57.39   */
   57.40 -/*@{*/
   57.41 +/* @{ */
   57.42  
   57.43  /**
   57.44   *  \brief Uses polar coordinates for the direction.
   57.45 @@ -328,9 +328,9 @@
   57.46   */
   57.47  #define SDL_HAPTIC_SPHERICAL  2
   57.48  
   57.49 -/*@}*//*Direction encodings*/
   57.50 +/* @} *//* Direction encodings */
   57.51  
   57.52 -/*@}*//*Haptic features*/
   57.53 +/* @} *//* Haptic features */
   57.54  
   57.55  /*
   57.56   * Misc defines.
    58.1 --- a/include/SDL_hints.h	Sun Oct 27 14:31:57 2013 -0400
    58.2 +++ b/include/SDL_hints.h	Sun Oct 27 21:26:46 2013 -0400
    58.3 @@ -95,6 +95,17 @@
    58.4  #define SDL_HINT_RENDER_OPENGL_SHADERS      "SDL_RENDER_OPENGL_SHADERS"
    58.5  
    58.6  /**
    58.7 + *  \brief  A variable controlling whether the Direct3D device is initialized for thread-safe operations.
    58.8 + *
    58.9 + *  This variable can be set to the following values:
   58.10 + *    "0"       - Thread-safety is not enabled (faster)
   58.11 + *    "1"       - Thread-safety is enabled
   58.12 + *
   58.13 + *  By default the Direct3D device is created with thread-safety disabled.
   58.14 + */
   58.15 +#define SDL_HINT_RENDER_DIRECT3D_THREADSAFE "SDL_RENDER_DIRECT3D_THREADSAFE"
   58.16 +
   58.17 +/**
   58.18   *  \brief  A variable controlling the scaling quality
   58.19   *
   58.20   *  This variable can be set to the following values:
   58.21 @@ -271,6 +282,11 @@
   58.22  #define SDL_HINT_TIMER_RESOLUTION "SDL_TIMER_RESOLUTION"
   58.23  
   58.24  
   58.25 +/**
   58.26 + *  \brief If set to 1, then do not allow high-DPI windows. ("Retina" on Mac)
   58.27 + */
   58.28 +#define SDL_HINT_VIDEO_HIGHDPI_DISABLED "SDL_VIDEO_HIGHDPI_DISABLED"
   58.29 +
   58.30  
   58.31  /**
   58.32   *  \brief  An enumeration of hint priorities
    59.1 --- a/include/SDL_joystick.h	Sun Oct 27 14:31:57 2013 -0400
    59.2 +++ b/include/SDL_joystick.h	Sun Oct 27 21:26:46 2013 -0400
    59.3 @@ -187,7 +187,7 @@
    59.4  /**
    59.5   *  \name Hat positions
    59.6   */
    59.7 -/*@{*/
    59.8 +/* @{ */
    59.9  #define SDL_HAT_CENTERED    0x00
   59.10  #define SDL_HAT_UP      0x01
   59.11  #define SDL_HAT_RIGHT       0x02
   59.12 @@ -197,7 +197,7 @@
   59.13  #define SDL_HAT_RIGHTDOWN   (SDL_HAT_RIGHT|SDL_HAT_DOWN)
   59.14  #define SDL_HAT_LEFTUP      (SDL_HAT_LEFT|SDL_HAT_UP)
   59.15  #define SDL_HAT_LEFTDOWN    (SDL_HAT_LEFT|SDL_HAT_DOWN)
   59.16 -/*@}*/
   59.17 +/* @} */
   59.18  
   59.19  /**
   59.20   *  Get the current state of a POV hat on a joystick.
    60.1 --- a/include/SDL_main.h	Sun Oct 27 14:31:57 2013 -0400
    60.2 +++ b/include/SDL_main.h	Sun Oct 27 21:26:46 2013 -0400
    60.3 @@ -106,7 +106,7 @@
    60.4  extern "C" {
    60.5  #endif
    60.6  
    60.7 -/*
    60.8 +/**
    60.9   *  This is called by the real SDL main function to let the rest of the
   60.10   *  library know that initialization was done properly.
   60.11   *
    61.1 --- a/include/SDL_mutex.h	Sun Oct 27 14:31:57 2013 -0400
    61.2 +++ b/include/SDL_mutex.h	Sun Oct 27 21:26:46 2013 -0400
    61.3 @@ -52,9 +52,9 @@
    61.4  /**
    61.5   *  \name Mutex functions
    61.6   */
    61.7 -/*@{*/
    61.8 +/* @{ */
    61.9  
   61.10 -/* The SDL mutex structure, defined in SDL_mutex.c */
   61.11 +/* The SDL mutex structure, defined in SDL_sysmutex.c */
   61.12  struct SDL_mutex;
   61.13  typedef struct SDL_mutex SDL_mutex;
   61.14  
   61.15 @@ -94,15 +94,15 @@
   61.16   */
   61.17  extern DECLSPEC void SDLCALL SDL_DestroyMutex(SDL_mutex * mutex);
   61.18  
   61.19 -/*@}*//*Mutex functions*/
   61.20 +/* @} *//* Mutex functions */
   61.21  
   61.22  
   61.23  /**
   61.24   *  \name Semaphore functions
   61.25   */
   61.26 -/*@{*/
   61.27 +/* @{ */
   61.28  
   61.29 -/* The SDL semaphore structure, defined in SDL_sem.c */
   61.30 +/* The SDL semaphore structure, defined in SDL_syssem.c */
   61.31  struct SDL_semaphore;
   61.32  typedef struct SDL_semaphore SDL_sem;
   61.33  
   61.34 @@ -154,15 +154,15 @@
   61.35   */
   61.36  extern DECLSPEC Uint32 SDLCALL SDL_SemValue(SDL_sem * sem);
   61.37  
   61.38 -/*@}*//*Semaphore functions*/
   61.39 +/* @} *//* Semaphore functions */
   61.40  
   61.41  
   61.42  /**
   61.43   *  \name Condition variable functions
   61.44   */
   61.45 -/*@{*/
   61.46 +/* @{ */
   61.47  
   61.48 -/* The SDL condition variable structure, defined in SDL_cond.c */
   61.49 +/* The SDL condition variable structure, defined in SDL_syscond.c */
   61.50  struct SDL_cond;
   61.51  typedef struct SDL_cond SDL_cond;
   61.52  
   61.53 @@ -237,7 +237,7 @@
   61.54  extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond * cond,
   61.55                                                  SDL_mutex * mutex, Uint32 ms);
   61.56  
   61.57 -/*@}*//*Condition variable functions*/
   61.58 +/* @} *//* Condition variable functions */
   61.59  
   61.60  
   61.61  /* Ends C function definitions when using C++ */
    62.1 --- a/include/SDL_pixels.h	Sun Oct 27 14:31:57 2013 -0400
    62.2 +++ b/include/SDL_pixels.h	Sun Oct 27 21:26:46 2013 -0400
    62.3 @@ -39,10 +39,10 @@
    62.4   *
    62.5   *  These define alpha as the opacity of a surface.
    62.6   */
    62.7 -/*@{*/
    62.8 +/* @{ */
    62.9  #define SDL_ALPHA_OPAQUE 255
   62.10  #define SDL_ALPHA_TRANSPARENT 0
   62.11 -/*@}*/
   62.12 +/* @} */
   62.13  
   62.14  /** Pixel type. */
   62.15  enum
    63.1 --- a/include/SDL_platform.h	Sun Oct 27 14:31:57 2013 -0400
    63.2 +++ b/include/SDL_platform.h	Sun Oct 27 21:26:46 2013 -0400
    63.3 @@ -1,168 +1,172 @@
    63.4 -/*
    63.5 -  Simple DirectMedia Layer
    63.6 -  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
    63.7 -
    63.8 -  This software is provided 'as-is', without any express or implied
    63.9 -  warranty.  In no event will the authors be held liable for any damages
   63.10 -  arising from the use of this software.
   63.11 -
   63.12 -  Permission is granted to anyone to use this software for any purpose,
   63.13 -  including commercial applications, and to alter it and redistribute it
   63.14 -  freely, subject to the following restrictions:
   63.15 -
   63.16 -  1. The origin of this software must not be misrepresented; you must not
   63.17 -     claim that you wrote the original software. If you use this software
   63.18 -     in a product, an acknowledgment in the product documentation would be
   63.19 -     appreciated but is not required.
   63.20 -  2. Altered source versions must be plainly marked as such, and must not be
   63.21 -     misrepresented as being the original software.
   63.22 -  3. This notice may not be removed or altered from any source distribution.
   63.23 -*/
   63.24 -
   63.25 -/**
   63.26 - *  \file SDL_platform.h
   63.27 - *
   63.28 - *  Try to get a standard set of platform defines.
   63.29 - */
   63.30 -
   63.31 -#ifndef _SDL_platform_h
   63.32 -#define _SDL_platform_h
   63.33 -
   63.34 -#if defined(_AIX)
   63.35 -#undef __AIX__
   63.36 -#define __AIX__     1
   63.37 -#endif
   63.38 -#if defined(__BEOS__)
   63.39 -#undef __BEOS__
   63.40 -#define __BEOS__    1
   63.41 -#endif
   63.42 -#if defined(__HAIKU__)
   63.43 -#undef __HAIKU__
   63.44 -#define __HAIKU__   1
   63.45 -#endif
   63.46 -#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
   63.47 -#undef __BSDI__
   63.48 -#define __BSDI__    1
   63.49 -#endif
   63.50 -#if defined(_arch_dreamcast)
   63.51 -#undef __DREAMCAST__
   63.52 -#define __DREAMCAST__   1
   63.53 -#endif
   63.54 -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
   63.55 -#undef __FREEBSD__
   63.56 -#define __FREEBSD__ 1
   63.57 -#endif
   63.58 -#if defined(hpux) || defined(__hpux) || defined(__hpux__)
   63.59 -#undef __HPUX__
   63.60 -#define __HPUX__    1
   63.61 -#endif
   63.62 -#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
   63.63 -#undef __IRIX__
   63.64 -#define __IRIX__    1
   63.65 -#endif
   63.66 -#if defined(linux) || defined(__linux) || defined(__linux__)
   63.67 -#undef __LINUX__
   63.68 -#define __LINUX__   1
   63.69 -#endif
   63.70 -#if defined(ANDROID)
   63.71 -#undef __ANDROID__
   63.72 -#undef __LINUX__ /*do we need to do this?*/
   63.73 -#define __ANDROID__ 1
   63.74 -#endif
   63.75 -
   63.76 -#if defined(__APPLE__)
   63.77 -/* lets us know what version of Mac OS X we're compiling on */
   63.78 -#include "AvailabilityMacros.h"
   63.79 -#include "TargetConditionals.h"
   63.80 -#if TARGET_OS_IPHONE
   63.81 -/* if compiling for iPhone */
   63.82 -#undef __IPHONEOS__
   63.83 -#define __IPHONEOS__ 1
   63.84 -#undef __MACOSX__
   63.85 -#else
   63.86 -/* if not compiling for iPhone */
   63.87 -#undef __MACOSX__
   63.88 -#define __MACOSX__  1
   63.89 -#if MAC_OS_X_VERSION_MIN_REQUIRED < 1050
   63.90 -# error SDL for Mac OS X only supports deploying on 10.5 and above.
   63.91 -#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1050 */
   63.92 -#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
   63.93 -# error SDL for Mac OS X must be built with a 10.6 SDK or above.
   63.94 -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
   63.95 -#endif /* TARGET_OS_IPHONE */
   63.96 -#endif /* defined(__APPLE__) */
   63.97 -
   63.98 -#if defined(__NetBSD__)
   63.99 -#undef __NETBSD__
  63.100 -#define __NETBSD__  1
  63.101 -#endif
  63.102 -#if defined(__OpenBSD__)
  63.103 -#undef __OPENBSD__
  63.104 -#define __OPENBSD__ 1
  63.105 -#endif
  63.106 -#if defined(__OS2__)
  63.107 -#undef __OS2__
  63.108 -#define __OS2__     1
  63.109 -#endif
  63.110 -#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
  63.111 -#undef __OSF__
  63.112 -#define __OSF__     1
  63.113 -#endif
  63.114 -#if defined(__QNXNTO__)
  63.115 -#undef __QNXNTO__
  63.116 -#define __QNXNTO__  1
  63.117 -#endif
  63.118 -#if defined(riscos) || defined(__riscos) || defined(__riscos__)
  63.119 -#undef __RISCOS__
  63.120 -#define __RISCOS__  1
  63.121 -#endif
  63.122 -#if defined(__SVR4)
  63.123 -#undef __SOLARIS__
  63.124 -#define __SOLARIS__ 1
  63.125 -#endif
  63.126 -
  63.127 +/*
  63.128 +  Simple DirectMedia Layer
  63.129 +  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
  63.130 +
  63.131 +  This software is provided 'as-is', without any express or implied
  63.132 +  warranty.  In no event will the authors be held liable for any damages
  63.133 +  arising from the use of this software.
  63.134 +
  63.135 +  Permission is granted to anyone to use this software for any purpose,
  63.136 +  including commercial applications, and to alter it and redistribute it
  63.137 +  freely, subject to the following restrictions:
  63.138 +
  63.139 +  1. The origin of this software must not be misrepresented; you must not
  63.140 +     claim that you wrote the original software. If you use this software
  63.141 +     in a product, an acknowledgment in the product documentation would be
  63.142 +     appreciated but is not required.
  63.143 +  2. Altered source versions must be plainly marked as such, and must not be
  63.144 +     misrepresented as being the original software.
  63.145 +  3. This notice may not be removed or altered from any source distribution.
  63.146 +*/
  63.147 +
  63.148 +/**
  63.149 + *  \file SDL_platform.h
  63.150 + *
  63.151 + *  Try to get a standard set of platform defines.
  63.152 + */
  63.153 +
  63.154 +#ifndef _SDL_platform_h
  63.155 +#define _SDL_platform_h
  63.156 +
  63.157 +#if defined(_AIX)
  63.158 +#undef __AIX__
  63.159 +#define __AIX__     1
  63.160 +#endif
  63.161 +#if defined(__BEOS__)
  63.162 +#undef __BEOS__
  63.163 +#define __BEOS__    1
  63.164 +#endif
  63.165 +#if defined(__HAIKU__)
  63.166 +#undef __HAIKU__
  63.167 +#define __HAIKU__   1
  63.168 +#endif
  63.169 +#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
  63.170 +#undef __BSDI__
  63.171 +#define __BSDI__    1
  63.172 +#endif
  63.173 +#if defined(_arch_dreamcast)
  63.174 +#undef __DREAMCAST__
  63.175 +#define __DREAMCAST__   1
  63.176 +#endif
  63.177 +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
  63.178 +#undef __FREEBSD__
  63.179 +#define __FREEBSD__ 1
  63.180 +#endif
  63.181 +#if defined(hpux) || defined(__hpux) || defined(__hpux__)
  63.182 +#undef __HPUX__
  63.183 +#define __HPUX__    1
  63.184 +#endif
  63.185 +#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
  63.186 +#undef __IRIX__
  63.187 +#define __IRIX__    1
  63.188 +#endif
  63.189 +#if defined(linux) || defined(__linux) || defined(__linux__)
  63.190 +#undef __LINUX__
  63.191 +#define __LINUX__   1
  63.192 +#endif
  63.193 +#if defined(ANDROID)
  63.194 +#undef __ANDROID__
  63.195 +#undef __LINUX__ /* do we need to do this? */
  63.196 +#define __ANDROID__ 1
  63.197 +#endif
  63.198 +
  63.199 +#if defined(__APPLE__)
  63.200 +/* lets us know what version of Mac OS X we're compiling on */
  63.201 +#include "AvailabilityMacros.h"
  63.202 +#include "TargetConditionals.h"
  63.203 +#if TARGET_OS_IPHONE
  63.204 +/* if compiling for iPhone */
  63.205 +#undef __IPHONEOS__
  63.206 +#define __IPHONEOS__ 1
  63.207 +#undef __MACOSX__
  63.208 +#else
  63.209 +/* if not compiling for iPhone */
  63.210 +#undef __MACOSX__
  63.211 +#define __MACOSX__  1
  63.212 +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1050
  63.213 +# error SDL for Mac OS X only supports deploying on 10.5 and above.
  63.214 +#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1050 */
  63.215 +#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
  63.216 +# error SDL for Mac OS X must be built with a 10.6 SDK or above.
  63.217 +#endif /* MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
  63.218 +#endif /* TARGET_OS_IPHONE */
  63.219 +#endif /* defined(__APPLE__) */
  63.220 +
  63.221 +#if defined(__NetBSD__)
  63.222 +#undef __NETBSD__
  63.223 +#define __NETBSD__  1
  63.224 +#endif
  63.225 +#if defined(__OpenBSD__)
  63.226 +#undef __OPENBSD__
  63.227 +#define __OPENBSD__ 1
  63.228 +#endif
  63.229 +#if defined(__OS2__)
  63.230 +#undef __OS2__
  63.231 +#define __OS2__     1
  63.232 +#endif
  63.233 +#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
  63.234 +#undef __OSF__
  63.235 +#define __OSF__     1
  63.236 +#endif
  63.237 +#if defined(__QNXNTO__)
  63.238 +#undef __QNXNTO__
  63.239 +#define __QNXNTO__  1
  63.240 +#endif
  63.241 +#if defined(riscos) || defined(__riscos) || defined(__riscos__)
  63.242 +#undef __RISCOS__
  63.243 +#define __RISCOS__  1
  63.244 +#endif
  63.245 +#if defined(__SVR4)
  63.246 +#undef __SOLARIS__
  63.247 +#define __SOLARIS__ 1
  63.248 +#endif
  63.249 +
  63.250  #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__)
  63.251 -/* Try to find out what version of Windows we are compiling for */
  63.252 +/* Try to find out if we're compiling for WinRT or non-WinRT */
  63.253  #if defined(_MSC_VER) && (_MSC_VER >= 1700)	/* _MSC_VER==1700 for MSVC 2012 */
  63.254  #include <winapifamily.h>
  63.255 -#endif
  63.256 -/* Default to classic, Win32 / Desktop compilation either if:
  63.257 +#endif /* _MSC_VER >= 1700 */
  63.258 +/* Default to classic, Win32/Win64/Desktop compilation either if:
  63.259       1. the version of Windows is explicity set to a 'Desktop' (non-Metro) app
  63.260       2. the version of Windows cannot be determined via winapifamily.h
  63.261 -   If neither is true, see if we're compiling for WinRT.
  63.262 +   If neither is true, then see if we're compiling for WinRT.
  63.263   */
  63.264  #if ! defined(WINAPI_FAMILY_PARTITION) || WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  63.265 -#undef __WIN32__
  63.266 -#define __WIN32__   1
  63.267 +#undef __WINDOWS__
  63.268 +#define __WINDOWS__   1
  63.269  /* See if we're compiling for WinRT: */
  63.270  #elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  63.271  #undef __WINRT__
  63.272  #define __WINRT__ 1
  63.273  #endif /* ! defined(WINAPI_FAMILY_PARTITION) */
  63.274 -#endif /* defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) */
  63.275 -
  63.276 -#if defined(__PSP__)
  63.277 -#undef __PSP__
  63.278 -#define __PSP__ 1
  63.279 -#endif
  63.280 -
  63.281 -#include "begin_code.h"
  63.282 -/* Set up for C function definitions, even when using C++ */
  63.283 -#ifdef __cplusplus
  63.284 -extern "C" {
  63.285 -#endif
  63.286 -
  63.287 -/**
  63.288 - *  \brief Gets the name of the platform.
  63.289 - */
  63.290 -extern DECLSPEC const char * SDLCALL SDL_GetPlatform (void);
  63.291 -
  63.292 -/* Ends C function definitions when using C++ */
  63.293 -#ifdef __cplusplus
  63.294 -}
  63.295 -#endif
  63.296 -#include "close_code.h"
  63.297 -
  63.298 -#endif /* _SDL_platform_h */
  63.299 -
  63.300 -/* vi: set ts=4 sw=4 expandtab: */
  63.301 +#endif /* defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) */
  63.302 +
  63.303 +#if defined(__WINDOWS__)
  63.304 +#undef __WIN32__
  63.305 +#define __WIN32__ 1
  63.306 +#endif
  63.307 +#if defined(__PSP__)
  63.308 +#undef __PSP__
  63.309 +#define __PSP__ 1
  63.310 +#endif
  63.311 +
  63.312 +#include "begin_code.h"
  63.313 +/* Set up for C function definitions, even when using C++ */
  63.314 +#ifdef __cplusplus
  63.315 +extern "C" {
  63.316 +#endif
  63.317 +
  63.318 +/**
  63.319 + *  \brief Gets the name of the platform.
  63.320 + */
  63.321 +extern DECLSPEC const char * SDLCALL SDL_GetPlatform (void);
  63.322 +
  63.323 +/* Ends C function definitions when using C++ */
  63.324 +#ifdef __cplusplus
  63.325 +}
  63.326 +#endif
  63.327 +#include "close_code.h"
  63.328 +
  63.329 +#endif /* _SDL_platform_h */
  63.330 +
  63.331 +/* vi: set ts=4 sw=4 expandtab: */
    64.1 --- a/include/SDL_rect.h	Sun Oct 27 14:31:57 2013 -0400
    64.2 +++ b/include/SDL_rect.h	Sun Oct 27 21:26:46 2013 -0400
    64.3 @@ -44,7 +44,7 @@
    64.4   *
    64.5   *  \sa SDL_EnclosePoints
    64.6   */
    64.7 -typedef struct
    64.8 +typedef struct SDL_Point
    64.9  {
   64.10      int x;
   64.11      int y;
    65.1 --- a/include/SDL_render.h	Sun Oct 27 14:31:57 2013 -0400
    65.2 +++ b/include/SDL_render.h	Sun Oct 27 21:26:46 2013 -0400
    65.3 @@ -382,6 +382,31 @@
    65.4                                                const void *pixels, int pitch);
    65.5  
    65.6  /**
    65.7 + *  \brief Update a rectangle within a planar YV12 or IYUV texture with new pixel data.
    65.8 + *
    65.9 + *  \param texture   The texture to update
   65.10 + *  \param rect      A pointer to the rectangle of pixels to update, or NULL to
   65.11 + *                   update the entire texture.
   65.12 + *  \param Yplane    The raw pixel data for the Y plane.
   65.13 + *  \param Ypitch    The number of bytes between rows of pixel data for the Y plane.
   65.14 + *  \param Uplane    The raw pixel data for the U plane.
   65.15 + *  \param Upitch    The number of bytes between rows of pixel data for the U plane.
   65.16 + *  \param Vplane    The raw pixel data for the V plane.
   65.17 + *  \param Vpitch    The number of bytes between rows of pixel data for the V plane.
   65.18 + *
   65.19 + *  \return 0 on success, or -1 if the texture is not valid.
   65.20 + *
   65.21 + *  \note You can use SDL_UpdateTexture() as long as your pixel data is
   65.22 + *        a contiguous block of Y and U/V planes in the proper order, but
   65.23 + *        this function is available if your pixel data is not contiguous.
   65.24 + */
   65.25 +extern DECLSPEC int SDLCALL SDL_UpdateYUVTexture(SDL_Texture * texture,
   65.26 +                                                 const SDL_Rect * rect,
   65.27 +                                                 const Uint8 *Yplane, int Ypitch,
   65.28 +                                                 const Uint8 *Uplane, int Upitch,
   65.29 +                                                 const Uint8 *Vplane, int Vpitch);
   65.30 +
   65.31 +/**
   65.32   *  \brief Lock a portion of the texture for write-only pixel access.
   65.33   *
   65.34   *  \param texture   The texture to lock for access, which was created with
    66.1 --- a/include/SDL_rwops.h	Sun Oct 27 14:31:57 2013 -0400
    66.2 +++ b/include/SDL_rwops.h	Sun Oct 27 21:26:46 2013 -0400
    66.3 @@ -148,7 +148,7 @@
    66.4   *
    66.5   *  Functions to create SDL_RWops structures from various data streams.
    66.6   */
    66.7 -/*@{*/
    66.8 +/* @{ */
    66.9  
   66.10  extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFile(const char *file,
   66.11                                                    const char *mode);
   66.12 @@ -165,7 +165,7 @@
   66.13  extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromConstMem(const void *mem,
   66.14                                                        int size);
   66.15  
   66.16 -/*@}*//*RWFrom functions*/
   66.17 +/* @} *//* RWFrom functions */
   66.18  
   66.19  
   66.20  extern DECLSPEC SDL_RWops *SDLCALL SDL_AllocRW(void);
   66.21 @@ -180,14 +180,14 @@
   66.22   *
   66.23   *  Macros to easily read and write from an SDL_RWops structure.
   66.24   */
   66.25 -/*@{*/
   66.26 +/* @{ */
   66.27  #define SDL_RWsize(ctx)         (ctx)->size(ctx)
   66.28  #define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence)
   66.29  #define SDL_RWtell(ctx)         (ctx)->seek(ctx, 0, RW_SEEK_CUR)
   66.30  #define SDL_RWread(ctx, ptr, size, n)   (ctx)->read(ctx, ptr, size, n)
   66.31  #define SDL_RWwrite(ctx, ptr, size, n)  (ctx)->write(ctx, ptr, size, n)
   66.32  #define SDL_RWclose(ctx)        (ctx)->close(ctx)
   66.33 -/*@}*//*Read/write macros*/
   66.34 +/* @} *//* Read/write macros */
   66.35  
   66.36  
   66.37  /**
   66.38 @@ -195,7 +195,7 @@
   66.39   *
   66.40   *  Read an item of the specified endianness and return in native format.
   66.41   */
   66.42 -/*@{*/
   66.43 +/* @{ */
   66.44  extern DECLSPEC Uint8 SDLCALL SDL_ReadU8(SDL_RWops * src);
   66.45  extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops * src);
   66.46  extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops * src);
   66.47 @@ -203,14 +203,14 @@
   66.48  extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops * src);
   66.49  extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops * src);
   66.50  extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops * src);
   66.51 -/*@}*//*Read endian functions*/
   66.52 +/* @} *//* Read endian functions */
   66.53  
   66.54  /**
   66.55   *  \name Write endian functions
   66.56   *
   66.57   *  Write an item of native format to the specified endianness.
   66.58   */
   66.59 -/*@{*/
   66.60 +/* @{ */
   66.61  extern DECLSPEC size_t SDLCALL SDL_WriteU8(SDL_RWops * dst, Uint8 value);
   66.62  extern DECLSPEC size_t SDLCALL SDL_WriteLE16(SDL_RWops * dst, Uint16 value);
   66.63  extern DECLSPEC size_t SDLCALL SDL_WriteBE16(SDL_RWops * dst, Uint16 value);
   66.64 @@ -218,7 +218,7 @@
   66.65  extern DECLSPEC size_t SDLCALL SDL_WriteBE32(SDL_RWops * dst, Uint32 value);
   66.66  extern DECLSPEC size_t SDLCALL SDL_WriteLE64(SDL_RWops * dst, Uint64 value);
   66.67  extern DECLSPEC size_t SDLCALL SDL_WriteBE64(SDL_RWops * dst, Uint64 value);
   66.68 -/*@}*//*Write endian functions*/
   66.69 +/* @} *//* Write endian functions */
   66.70  
   66.71  
   66.72  /* Ends C function definitions when using C++ */
    67.1 --- a/include/SDL_scancode.h	Sun Oct 27 14:31:57 2013 -0400
    67.2 +++ b/include/SDL_scancode.h	Sun Oct 27 21:26:46 2013 -0400
    67.3 @@ -49,7 +49,7 @@
    67.4       *
    67.5       *  These values are from usage page 0x07 (USB keyboard page).
    67.6       */
    67.7 -    /*@{*/
    67.8 +    /* @{ */
    67.9  
   67.10      SDL_SCANCODE_A = 4,
   67.11      SDL_SCANCODE_B = 5,
   67.12 @@ -339,14 +339,14 @@
   67.13                                   *   special KMOD_MODE for it I'm adding it here
   67.14                                   */
   67.15  
   67.16 -    /*@}*//*Usage page 0x07*/
   67.17 +    /* @} *//* Usage page 0x07 */
   67.18  
   67.19      /**
   67.20       *  \name Usage page 0x0C
   67.21       *
   67.22       *  These values are mapped from usage page 0x0C (USB consumer page).
   67.23       */
   67.24 -    /*@{*/
   67.25 +    /* @{ */
   67.26  
   67.27      SDL_SCANCODE_AUDIONEXT = 258,
   67.28      SDL_SCANCODE_AUDIOPREV = 259,
   67.29 @@ -366,14 +366,14 @@
   67.30      SDL_SCANCODE_AC_REFRESH = 273,
   67.31      SDL_SCANCODE_AC_BOOKMARKS = 274,
   67.32  
   67.33 -    /*@}*//*Usage page 0x0C*/
   67.34 +    /* @} *//* Usage page 0x0C */
   67.35  
   67.36      /**
   67.37       *  \name Walther keys
   67.38       *
   67.39       *  These are values that Christian Walther added (for mac keyboard?).
   67.40       */
   67.41 -    /*@{*/
   67.42 +    /* @{ */
   67.43  
   67.44      SDL_SCANCODE_BRIGHTNESSDOWN = 275,
   67.45      SDL_SCANCODE_BRIGHTNESSUP = 276,
   67.46 @@ -388,7 +388,7 @@
   67.47      SDL_SCANCODE_APP1 = 283,
   67.48      SDL_SCANCODE_APP2 = 284,
   67.49  
   67.50 -    /*@}*//*Walther keys*/
   67.51 +    /* @} *//* Walther keys */
   67.52  
   67.53      /* Add any other keys here. */
   67.54  
    68.1 --- a/include/SDL_stdinc.h	Sun Oct 27 14:31:57 2013 -0400
    68.2 +++ b/include/SDL_stdinc.h	Sun Oct 27 21:26:46 2013 -0400
    68.3 @@ -99,7 +99,7 @@
    68.4   *  Use proper C++ casts when compiled as C++ to be compatible with the option
    68.5   *  -Wold-style-cast of GCC (and -Werror=old-style-cast in GCC 4.2 and above).
    68.6   */
    68.7 -/*@{*/
    68.8 +/* @{ */
    68.9  #ifdef __cplusplus
   68.10  #define SDL_reinterpret_cast(type, expression) reinterpret_cast<type>(expression)
   68.11  #define SDL_static_cast(type, expression) static_cast<type>(expression)
   68.12 @@ -109,7 +109,7 @@
   68.13  #define SDL_static_cast(type, expression) ((type)(expression))
   68.14  #define SDL_const_cast(type, expression) ((type)(expression))
   68.15  #endif
   68.16 -/*@}*//*Cast operators*/
   68.17 +/* @} *//* Cast operators */
   68.18  
   68.19  /* Define a four character code as a Uint32 */
   68.20  #define SDL_FOURCC(A, B, C, D) \
   68.21 @@ -121,7 +121,7 @@
   68.22  /**
   68.23   *  \name Basic data types
   68.24   */
   68.25 -/*@{*/
   68.26 +/* @{ */
   68.27  
   68.28  typedef enum
   68.29  {
   68.30 @@ -163,7 +163,7 @@
   68.31   */
   68.32  typedef uint64_t Uint64;
   68.33  
   68.34 -/*@}*//*Basic data types*/
   68.35 +/* @} *//* Basic data types */
   68.36  
   68.37  
   68.38  #define SDL_COMPILE_TIME_ASSERT(name, x)               \
    69.1 --- a/include/SDL_surface.h	Sun Oct 27 14:31:57 2013 -0400