WinRT: merged with latest, official, SDL 2.x sources (at rev. bea100d73d13)
authorDavid Ludwig <dludwig@pobox.com>
Sun, 14 Apr 2013 11:42:55 -0400
changeset 8460f483e8bdae3c
parent 8459 1178e27580c7
parent 7063 bea100d73d13
child 8461 ca8dad9be3d4
WinRT: merged with latest, official, SDL 2.x sources (at rev. bea100d73d13)
Makefile.ds
README.ds
VisualC/SDL/SDL_VS2012.vcxproj
android-project/res/drawable-hdpi/icon.png
android-project/res/drawable-ldpi/icon.png
android-project/res/drawable-mdpi/icon.png
include/SDL_config.h
include/SDL_config_nintendods.h
include/SDL_config_windowsrt.h
include/SDL_platform.h
include/SDL_stdinc.h
include/begin_code.h
src/SDL_log.c
src/atomic/SDL_spinlock.c
src/audio/nds/SDL_ndsaudio.c
src/audio/nds/SDL_ndsaudio.h
src/audio/xaudio2/SDL_xaudio2.c
src/core/windows/SDL_windows.c
src/core/windows/SDL_windows.h
src/events/nds/SDL_ndsgesture.c
src/file/SDL_rwops.c
src/haptic/nds/SDL_syshaptic.c
src/joystick/android/SDL_sysjoystick.c
src/joystick/nds/SDL_sysjoystick.c
src/power/nds/SDL_syspower.c
src/render/SDL_render.c
src/render/SDL_sysrender.h
src/render/nds/SDL_libgl2D.c
src/render/nds/SDL_libgl2D.h
src/render/nds/SDL_ndsrender.c
src/thread/SDL_thread_c.h
src/thread/nds/SDL_syscond.c
src/thread/nds/SDL_syscond_c.h
src/thread/nds/SDL_sysmutex.c
src/thread/nds/SDL_sysmutex_c.h
src/thread/nds/SDL_syssem.c
src/thread/nds/SDL_syssem_c.h
src/thread/nds/SDL_systhread.c
src/thread/nds/SDL_systhread_c.h
src/timer/nds/SDL_systimer.c
src/video/SDL_sysvideo.h
src/video/SDL_video.c
src/video/nds/SDL_ndsevents.c
src/video/nds/SDL_ndsevents_c.h
src/video/nds/SDL_ndsvideo.c
src/video/nds/SDL_ndsvideo.h
src/video/nds/SDL_ndswindow.c
src/video/nds/SDL_ndswindow.h
src/video/uikit/SDL_uikitopengles.m
src/video/uikit/SDL_uikitview.m
src/video/uikit/SDL_uikitwindow.m
src/video/windowsrt/SDL_WinRTApp.cpp
test/nds-test-progs/Makefile
test/nds-test-progs/general/Makefile
test/nds-test-progs/general/source/main.c
test/nds-test-progs/testscale/Makefile
test/nds-test-progs/testsprite2/Makefile
test/nds-test-progs/testspriteminimal/Makefile
     1.1 --- a/.hgignore	Sat Apr 13 23:03:46 2013 -0400
     1.2 +++ b/.hgignore	Sun Apr 14 11:42:55 2013 -0400
     1.3 @@ -53,9 +53,11 @@
     1.4  test/loopwave
     1.5  test/testatomic
     1.6  test/testaudioinfo
     1.7 +test/testautomation
     1.8  test/testdraw2
     1.9  test/testerror
    1.10  test/testfile
    1.11 +test/testgamecontroller
    1.12  test/testgesture
    1.13  test/testgl2
    1.14  test/testgles
     2.1 --- a/CREDITS	Sat Apr 13 23:03:46 2013 -0400
     2.2 +++ b/CREDITS	Sun Apr 14 11:42:55 2013 -0400
     2.3 @@ -19,9 +19,6 @@
     2.4  * Holmes Futrell for port of SDL to the iPhone and iPod Touch during the
     2.5    Google Summer of Code 2008
     2.6  
     2.7 -* Darren Alton for port of SDL to the Nintendo DS during the Google Summer
     2.8 -  of Code 2008
     2.9 -
    2.10  * Szymon "Wilku" Wilczek for adding support for multiple mice and tablets
    2.11    during the Google Summer of Code 2008
    2.12  
     3.1 --- a/Makefile.ds	Sat Apr 13 23:03:46 2013 -0400
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,231 +0,0 @@
     3.4 -#---------------------------------------------------------------------------------
     3.5 -.SUFFIXES:
     3.6 -#---------------------------------------------------------------------------------
     3.7 -
     3.8 -ifeq ($(strip $(DEVKITARM)),)
     3.9 -$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
    3.10 -endif
    3.11 -
    3.12 -include $(DEVKITARM)/ds_rules
    3.13 -
    3.14 -#---------------------------------------------------------------------------------
    3.15 -# TARGET is the name of the output
    3.16 -# BUILD is the directory where object files & intermediate files will be placed
    3.17 -# SOURCES is a list of directories containing source code
    3.18 -# DATA is a list of directories containing data files
    3.19 -# INCLUDES is a list of directories containing header files
    3.20 -#---------------------------------------------------------------------------------
    3.21 -TARGET		:=	$(shell basename $(CURDIR))
    3.22 -BUILD		:=	src
    3.23 -SOURCES		:=	src
    3.24 -DATA		:=	data
    3.25 -INCLUDES	:=	include
    3.26 -
    3.27 -#---------------------------------------------------------------------------------
    3.28 -# options for code generation
    3.29 -#---------------------------------------------------------------------------------
    3.30 -ARCH	:=	-mthumb -mthumb-interwork \
    3.31 -		-D__NDS__ -DENABLE_NDS -DNO_SIGNAL_H -DDISABLE_THREADS -DPACKAGE=\"SDL\" \
    3.32 -		 -DVERSION=\"2.0\" -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1  
    3.33 -
    3.34 -CFLAGS	:=	-g -Wall -Os\
    3.35 -		-march=armv5te -mtune=arm946e-s \
    3.36 -		-fomit-frame-pointer -ffast-math \
    3.37 -		$(ARCH)
    3.38 -
    3.39 -CFLAGS	+=	$(INCLUDE) -DARM9
    3.40 -CXXFLAGS	:= $(CFLAGS) -fno-rtti -fno-exceptions
    3.41 -
    3.42 -ASFLAGS	:=	-g $(ARCH) -march=armv5te -mtune=arm946e-s
    3.43 -LDFLAGS	=	-specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
    3.44 -
    3.45 -# Set to 0 to use a framer buffer, or 1 to use the GL like hardware
    3.46 -# renderer. Alas, both cannot be used at the same time for lack of
    3.47 -# display/texture memory.
    3.48 -USE_HW_RENDERER := 1
    3.49 -
    3.50 -ifeq ($(USE_HW_RENDERER),1)
    3.51 -CFLAGS += -DUSE_HW_RENDERER
    3.52 -else
    3.53 -endif
    3.54 -
    3.55 -#---------------------------------------------------------------------------------
    3.56 -# list of directories containing libraries, this must be the top level containing
    3.57 -# include and lib
    3.58 -#---------------------------------------------------------------------------------
    3.59 -LIBDIRS	:=	$(LIBNDS) $(PORTLIBS)
    3.60 -
    3.61 -#---------------------------------------------------------------------------------
    3.62 -# no real need to edit anything past this point unless you need to add additional
    3.63 -# rules for different file extensions
    3.64 -#---------------------------------------------------------------------------------
    3.65 -ifneq ($(BUILD),$(notdir $(CURDIR)))
    3.66 -#---------------------------------------------------------------------------------
    3.67 -
    3.68 -export OUTPUT	:=	$(CURDIR)/lib/lib$(TARGET).a
    3.69 -
    3.70 -export VPATH	:=	$(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
    3.71 -			$(foreach dir,$(DATA),$(CURDIR)/$(dir))
    3.72 -
    3.73 -export DEPSDIR	:=	$(CURDIR)/$(BUILD)
    3.74 -
    3.75 -CFILES		:=	\
    3.76 -			SDL.c \
    3.77 -			SDL_assert.c \
    3.78 -			SDL_error.c \
    3.79 -			SDL_fatal.c \
    3.80 -			SDL_hints.c \
    3.81 -			SDL_log.c \
    3.82 -			atomic/SDL_atomic.c \
    3.83 -			atomic/SDL_spinlock.arm.c \
    3.84 -			audio/SDL_audio.c \
    3.85 -			audio/SDL_audiocvt.c \
    3.86 -			audio/SDL_audiodev.c \
    3.87 -			audio/SDL_audiotypecvt.c \
    3.88 -			audio/SDL_mixer.c \
    3.89 -			audio/SDL_wave.c \
    3.90 -			audio/nds/SDL_ndsaudio.c \
    3.91 -			cpuinfo/SDL_cpuinfo.c \
    3.92 -			events/SDL_events.c \
    3.93 -			events/SDL_keyboard.c \
    3.94 -			events/SDL_mouse.c \
    3.95 -			events/SDL_quit.c \
    3.96 -			events/SDL_touch.c \
    3.97 -			events/SDL_windowevents.c \
    3.98 -			events/nds/SDL_ndsgesture.c \
    3.99 -			file/SDL_rwops.c \
   3.100 -			haptic/SDL_haptic.c \
   3.101 -			haptic/nds/SDL_syshaptic.c \
   3.102 -			joystick/SDL_joystick.c \
   3.103 -			joystick/nds/SDL_sysjoystick.c \
   3.104 -			power/SDL_power.c \
   3.105 -			power/nds/SDL_syspower.c \
   3.106 -			render/SDL_render.c \
   3.107 -			render/SDL_yuv_sw.c \
   3.108 -			render/nds/SDL_ndsrender.c \
   3.109 -			render/nds/SDL_libgl2D.c \
   3.110 -			render/software/SDL_blendfillrect.c \
   3.111 -			render/software/SDL_blendline.c \
   3.112 -			render/software/SDL_blendpoint.c \
   3.113 -			render/software/SDL_drawline.c \
   3.114 -			render/software/SDL_drawpoint.c \
   3.115 -			render/software/SDL_render_sw.c \
   3.116 -			stdlib/SDL_getenv.c \
   3.117 -			stdlib/SDL_iconv.c \
   3.118 -			stdlib/SDL_malloc.c \
   3.119 -			stdlib/SDL_qsort.c \
   3.120 -			stdlib/SDL_stdlib.c \
   3.121 -			stdlib/SDL_string.c \
   3.122 -			thread/SDL_thread.c \
   3.123 -			thread/nds/SDL_syscond.c \
   3.124 -			thread/nds/SDL_sysmutex.c \
   3.125 -			thread/nds/SDL_syssem.c \
   3.126 -			thread/nds/SDL_systhread.c \
   3.127 -			timer/SDL_timer.c \
   3.128 -			timer/nds/SDL_systimer.c \
   3.129 -			video/SDL_RLEaccel.c \
   3.130 -			video/SDL_blit.c \
   3.131 -			video/SDL_blit_0.c \
   3.132 -			video/SDL_blit_1.c \
   3.133 -			video/SDL_blit_A.c \
   3.134 -			video/SDL_blit_N.c \
   3.135 -			video/SDL_blit_auto.c \
   3.136 -			video/SDL_blit_copy.c \
   3.137 -			video/SDL_blit_slow.c \
   3.138 -			video/SDL_bmp.c \
   3.139 -			video/SDL_clipboard.c \
   3.140 -			video/SDL_fillrect.c \
   3.141 -			video/SDL_pixels.c \
   3.142 -			video/SDL_rect.c \
   3.143 -			video/SDL_stretch.c \
   3.144 -			video/SDL_surface.c \
   3.145 -			video/SDL_video.c \
   3.146 -			video/nds/SDL_ndsevents.c \
   3.147 -			video/nds/SDL_ndsvideo.c \
   3.148 -			video/nds/SDL_ndswindow.c
   3.149 -
   3.150 -
   3.151 -#CPPFILES	:=	$(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
   3.152 -#SFILES		:=	$(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
   3.153 -#BINFILES	:=	$(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
   3.154 -
   3.155 -#---------------------------------------------------------------------------------
   3.156 -# use CXX for linking C++ projects, CC for standard C
   3.157 -#---------------------------------------------------------------------------------
   3.158 -ifeq ($(strip $(CPPFILES)),)
   3.159 -#---------------------------------------------------------------------------------
   3.160 -	export LD	:=	$(CC)
   3.161 -#---------------------------------------------------------------------------------
   3.162 -else
   3.163 -#---------------------------------------------------------------------------------
   3.164 -	export LD	:=	$(CXX)
   3.165 -#---------------------------------------------------------------------------------
   3.166 -endif
   3.167 -#---------------------------------------------------------------------------------
   3.168 -
   3.169 -export OFILES	:=	$(addsuffix .o,$(BINFILES)) \
   3.170 -			$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
   3.171 -
   3.172 -export INCLUDE	:=	$(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
   3.173 -			$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
   3.174 -			-I$(CURDIR)/$(BUILD) \
   3.175 -			-I$(PORTLIBS)/include/SDL
   3.176 -
   3.177 -.PHONY: $(BUILD) clean all
   3.178 -
   3.179 -#---------------------------------------------------------------------------------
   3.180 -all: arm_only $(BUILD) install nds_test
   3.181 -
   3.182 -lib:
   3.183 -	@[ -d $@ ] || mkdir -p $@
   3.184 -
   3.185 -$(BUILD): lib
   3.186 -	@[ -d $@ ] || mkdir -p $@
   3.187 -	@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile.ds -s
   3.188 -
   3.189 -install: $(BUILD)
   3.190 -	@mkdir -p $(PORTLIBS)/include/SDL/
   3.191 -	@rsync -a $(OUTPUT) $(PORTLIBS)/lib/
   3.192 -	@rsync -a include/*.h $(PORTLIBS)/include/SDL/
   3.193 -
   3.194 -nds_test:
   3.195 -	$(MAKE) -C test/nds-test-progs -s
   3.196 -
   3.197 -tags:
   3.198 -	cd $(SOURCES); etags $(CFILES)
   3.199 -
   3.200 -# This file must be compiled with the ARM instruction set, not
   3.201 -# thumb. Use devkitpro way of doing things.
   3.202 -arm_only: src/atomic/SDL_spinlock.arm.c
   3.203 -src/atomic/SDL_spinlock.arm.c: src/atomic/SDL_spinlock.c
   3.204 -	@cp $< $@
   3.205 -
   3.206 -#---------------------------------------------------------------------------------
   3.207 -clean:
   3.208 -	@echo clean ...
   3.209 -	@cd src; rm -fr $(OFILES) $(OFILES:.o=.d) lib
   3.210 -	@rm -f $(OUTPUT)
   3.211 -	@make -C test/nds-test-progs -s clean
   3.212 -
   3.213 -#---------------------------------------------------------------------------------
   3.214 -else
   3.215 -
   3.216 -DEPENDS	:=	$(OFILES:.o=.d)
   3.217 -
   3.218 -#---------------------------------------------------------------------------------
   3.219 -# main targets
   3.220 -#---------------------------------------------------------------------------------
   3.221 -$(OUTPUT)	:	$(OFILES)
   3.222 -
   3.223 -#---------------------------------------------------------------------------------
   3.224 -%.bin.o	:	%.bin
   3.225 -#---------------------------------------------------------------------------------
   3.226 -	@echo $(notdir $<)
   3.227 -	@$(bin2o)
   3.228 -
   3.229 -
   3.230 --include $(DEPENDS)
   3.231 -
   3.232 -#---------------------------------------------------------------------------------------
   3.233 -endif
   3.234 -#---------------------------------------------------------------------------------------
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/Makefile.psp	Sun Apr 14 11:42:55 2013 -0400
     4.3 @@ -0,0 +1,92 @@
     4.4 +TARGET_LIB = libSDL2.a
     4.5 +OBJS= src/SDL.o \
     4.6 +      src/SDL_assert.o \
     4.7 +      src/SDL_error.o \
     4.8 +      src/SDL_fatal.o \
     4.9 +      src/SDL_hints.o \
    4.10 +      src/SDL_log.o \
    4.11 +      src/atomic/SDL_atomic.o \
    4.12 +      src/atomic/SDL_spinlock.o \
    4.13 +      src/audio/SDL_audio.o \
    4.14 +      src/audio/SDL_audiocvt.o \
    4.15 +      src/audio/SDL_audiodev.o \
    4.16 +      src/audio/SDL_audiotypecvt.o \
    4.17 +      src/audio/SDL_mixer.o \
    4.18 +      src/audio/SDL_wave.o \
    4.19 +      src/audio/psp/SDL_pspaudio.o \
    4.20 +      src/cpuinfo/SDL_cpuinfo.o \
    4.21 +      src/events/SDL_clipboardevents.o \
    4.22 +      src/events/SDL_dropevents.o \
    4.23 +      src/events/SDL_events.o \
    4.24 +      src/events/SDL_gesture.o \
    4.25 +      src/events/SDL_keyboard.o \
    4.26 +      src/events/SDL_mouse.o \
    4.27 +      src/events/SDL_quit.o \
    4.28 +      src/events/SDL_touch.o \
    4.29 +      src/events/SDL_windowevents.o \
    4.30 +      src/file/SDL_rwops.o \
    4.31 +      src/haptic/SDL_haptic.o \
    4.32 +      src/haptic/dummy/SDL_syshaptic.o \
    4.33 +      src/joystick/SDL_joystick.o \
    4.34 +      src/joystick/SDL_gamecontroller.o \
    4.35 +      src/joystick/psp/SDL_sysjoystick.o \
    4.36 +      src/power/SDL_power.o \
    4.37 +      src/power/psp/SDL_syspower.o \
    4.38 +      src/render/SDL_render.o \
    4.39 +      src/render/SDL_yuv_sw.o \
    4.40 +      src/render/psp/SDL_render_psp.o \
    4.41 +      src/render/software/SDL_blendfillrect.o \
    4.42 +      src/render/software/SDL_blendline.o \
    4.43 +      src/render/software/SDL_blendpoint.o \
    4.44 +      src/render/software/SDL_drawline.o \
    4.45 +      src/render/software/SDL_drawpoint.o \
    4.46 +      src/render/software/SDL_render_sw.o \
    4.47 +      src/render/software/SDL_rotate.o \
    4.48 +      src/stdlib/SDL_getenv.o \
    4.49 +      src/stdlib/SDL_iconv.o \
    4.50 +      src/stdlib/SDL_malloc.o \
    4.51 +      src/stdlib/SDL_qsort.o \
    4.52 +      src/stdlib/SDL_stdlib.o \
    4.53 +      src/stdlib/SDL_string.o \
    4.54 +      src/thread/SDL_thread.o \
    4.55 +      src/thread/psp/SDL_syssem.o \
    4.56 +      src/thread/psp/SDL_systhread.o \
    4.57 +      src/thread/psp/SDL_sysmutex.o \
    4.58 +      src/thread/psp/SDL_syscond.o \
    4.59 +      src/timer/SDL_timer.o \
    4.60 +      src/timer/psp/SDL_systimer.o \
    4.61 +      src/video/SDL_RLEaccel.o \
    4.62 +      src/video/SDL_blit.o \
    4.63 +      src/video/SDL_blit_0.o \
    4.64 +      src/video/SDL_blit_1.o \
    4.65 +      src/video/SDL_blit_A.o \
    4.66 +      src/video/SDL_blit_N.o \
    4.67 +      src/video/SDL_blit_auto.o \
    4.68 +      src/video/SDL_blit_copy.o \
    4.69 +      src/video/SDL_blit_slow.o \
    4.70 +      src/video/SDL_bmp.o \
    4.71 +      src/video/SDL_clipboard.o \
    4.72 +      src/video/SDL_fillrect.o \
    4.73 +      src/video/SDL_pixels.o \
    4.74 +      src/video/SDL_rect.o \
    4.75 +      src/video/SDL_stretch.o \
    4.76 +      src/video/SDL_surface.o \
    4.77 +      src/video/SDL_video.o \
    4.78 +      src/video/psp/SDL_pspevents.o \
    4.79 +      src/video/psp/SDL_pspvideo.o \
    4.80 +      src/video/psp/SDL_pspgl.o \
    4.81 +      src/video/psp/SDL_pspmouse.o \
    4.82 +
    4.83 +INCDIR = ./include
    4.84 +CFLAGS = -g -O2 -G0 -Wall -D__PSP__ -DHAVE_OPENGL
    4.85 +CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
    4.86 +ASFLAGS = $(CFLAGS)
    4.87 +
    4.88 +LIBDIR  =
    4.89 +LIBS = -lGL -lGLU -lglut -lz \
    4.90 +         -lpspvfpu -lpsphprm -lpspsdk -lpspctrl -lpspumd -lpsprtc -lpsppower -lpspgum -lpspgu -lpspaudiolib -lpspaudio -lpsphttp -lpspssl -lpspwlan \
    4.91 +         -lpspnet_adhocmatching -lpspnet_adhoc -lpspnet_adhocctl -lm -lpspvram
    4.92 +
    4.93 +PSPSDK=$(shell psp-config --pspsdk-path)
    4.94 +include $(PSPSDK)/lib/build.mak
    4.95 +
     5.1 --- a/README	Sat Apr 13 23:03:46 2013 -0400
     5.2 +++ b/README	Sun Apr 14 11:42:55 2013 -0400
     5.3 @@ -12,7 +12,7 @@
     5.4  level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
     5.5  and 2D framebuffer across multiple platforms.
     5.6  
     5.7 -The current version supports Windows, Windows CE, Mac OS X, Linux, FreeBSD,
     5.8 +The current version supports Windows, Mac OS X, Linux, FreeBSD,
     5.9  NetBSD, OpenBSD, BSD/OS, Solaris, iOS, and Android. The code contains
    5.10  support for other operating systems but those are not officially supported.
    5.11  
     6.1 --- a/README-SDL.txt	Sat Apr 13 23:03:46 2013 -0400
     6.2 +++ b/README-SDL.txt	Sun Apr 14 11:42:55 2013 -0400
     6.3 @@ -1,7 +1,7 @@
     6.4  
     6.5  Please distribute this file with the SDL runtime environment:
     6.6  
     6.7 -The Simple DirectMedia Layer (SDL for short) is a cross-platfrom library
     6.8 +The Simple DirectMedia Layer (SDL for short) is a cross-platform library
     6.9  designed to make it easy to write multi-media software, such as games and
    6.10  emulators.
    6.11  
     7.1 --- a/README.DirectFB	Sat Apr 13 23:03:46 2013 -0400
     7.2 +++ b/README.DirectFB	Sun Apr 14 11:42:55 2013 -0400
     7.3 @@ -53,7 +53,7 @@
     7.4  =====================
     7.5  
     7.6  The driver has support for a very, very basic window manager you may
     7.7 -want to use when runnning with "wm=default". Use
     7.8 +want to use when running with "wm=default". Use
     7.9  
    7.10  export SDL_DIRECTFB_WM=1
    7.11  
    7.12 @@ -62,10 +62,10 @@
    7.13  
    7.14  /usr/share/fonts/truetype/freefont/FreeSans.ttf
    7.15  
    7.16 -OPENGL Support
    7.17 +OpenGL Support
    7.18  ==============
    7.19  
    7.20 -The following instructions will give you *software* opengl. However this
    7.21 +The following instructions will give you *software* OpenGL. However this
    7.22  works at least on all directfb supported platforms.
    7.23  
    7.24  As of this writing 20100802 you need to pull Mesa from git and do the following:
     8.1 --- a/README.MacOSX	Sat Apr 13 23:03:46 2013 -0400
     8.2 +++ b/README.MacOSX	Sun Apr 14 11:42:55 2013 -0400
     8.3 @@ -56,7 +56,7 @@
     8.4  name as specified in your configure.in file.
     8.5  
     8.6  If your project builds more than one application, you will have to do a bit
     8.7 -more.  For each of your target applications, you need a seperate rule.
     8.8 +more. For each of your target applications, you need a separate rule.
     8.9  
    8.10  If you want the created bundles to be installed, you may want to add this
    8.11  rule to your Makefile.am:
    8.12 @@ -75,13 +75,13 @@
    8.13  
    8.14  But beware! That is only part of the story! With the above, you end up with
    8.15  a bare bone .app bundle, which is double clickable from the Finder. But
    8.16 -there are some  more things you should do before shipping yor product...
    8.17 +there are some more things you should do before shipping your product...
    8.18  
    8.19  1) The bundle right now probably is dynamically linked against SDL. That 
    8.20     means that when you copy it to another computer, *it will not run*,
    8.21     unless you also install SDL on that other computer. A good solution
    8.22     for this dilemma is to static link against SDL. On OS X, you can
    8.23 -   achieve that by linkinag against the libraries listed by
    8.24 +   achieve that by linking against the libraries listed by
    8.25       sdl-config --static-libs
    8.26     instead of those listed by
    8.27       sdl-config --libs
    8.28 @@ -120,7 +120,7 @@
    8.29  - Building the Framework
    8.30  
    8.31  The SDL Library is packaged as a framework bundle, an organized
    8.32 -relocatable folder heirarchy of executible code, interface headers, 
    8.33 +relocatable folder hierarchy of executable code, interface headers,
    8.34  and additional resources. For practical purposes, you can think of a 
    8.35  framework as a more user and system-friendly shared library, whose library
    8.36  file behaves more or less like a standard UNIX shared library.
    8.37 @@ -162,11 +162,11 @@
    8.38  
    8.39  - Building from command line
    8.40      Use pbxbuild in the same directory as your .pbproj file
    8.41 -         
    8.42 +
    8.43  - Running your app
    8.44      You can send command line args to your app by either invoking it from
    8.45      the command line (in *.app/Contents/MacOS) or by entering them in the
    8.46 -    "Executibles" panel of the target settings.
    8.47 +    "Executables" panel of the target settings.
    8.48      
    8.49  - Implementation Notes
    8.50      Some things that may be of interest about how it all works...
    8.51 @@ -181,6 +181,6 @@
    8.52          You are free to modify your Cocoa app with generally no consequence 
    8.53          to SDL. You cannot, however, easily change the SDL window itself.
    8.54          Functionality may be added in the future to help this.
    8.55 -	
    8.56 +
    8.57  
    8.58  Known bugs are listed in the file "BUGS"
     9.1 --- a/README.Platforms	Sat Apr 13 23:03:46 2013 -0400
     9.2 +++ b/README.Platforms	Sun Apr 14 11:42:55 2013 -0400
     9.3 @@ -11,7 +11,7 @@
     9.4  Mac OS X 10.4+
     9.5  Linux 2.6+
     9.6  iOS 3.1.3+
     9.7 -Android 2.1+
     9.8 +Android 2.3.3+
     9.9  
    9.10  Unofficially supported platforms
    9.11  ================================
    9.12 @@ -24,9 +24,9 @@
    9.13  
    9.14  Platforms supported by volunteers
    9.15  =================================
    9.16 +Haiku - maintained by Axel Dörfler <axeld@pinc-software.de>
    9.17 +PSP - maintained by 527721088@qq.com
    9.18  Pandora - maintained by Scott Smith <pickle136@sbcglobal.net>
    9.19  
    9.20  Platforms that need maintainers
    9.21  ===============================
    9.22 -Nintendo DS
    9.23 -Haiku
    10.1 --- a/README.Porting	Sat Apr 13 23:03:46 2013 -0400
    10.2 +++ b/README.Porting	Sun Apr 14 11:42:55 2013 -0400
    10.3 @@ -26,12 +26,15 @@
    10.4     Add the top level include directory to the header search path, and then add
    10.5     the following sources to the project:
    10.6  	src/*.c
    10.7 +	src/atomic/*.c
    10.8  	src/audio/*.c
    10.9 -	src/cdrom/*.c
   10.10  	src/cpuinfo/*.c
   10.11  	src/events/*.c
   10.12  	src/file/*.c
   10.13 +	src/haptic/*.c
   10.14  	src/joystick/*.c
   10.15 +	src/power/*.c
   10.16 +	src/render/*.c
   10.17  	src/stdlib/*.c
   10.18  	src/thread/*.c
   10.19  	src/timer/*.c
   10.20 @@ -39,8 +42,9 @@
   10.21  	src/audio/disk/*.c
   10.22  	src/audio/dummy/*.c
   10.23  	src/video/dummy/*.c
   10.24 +	src/haptic/dummy/*.c
   10.25  	src/joystick/dummy/*.c
   10.26 -	src/cdrom/dummy/*.c
   10.27 +	src/main/dummy/*.c
   10.28  	src/thread/generic/*.c
   10.29  	src/timer/dummy/*.c
   10.30  	src/loadso/dummy/*.c
    11.1 --- a/README.android	Sat Apr 13 23:03:46 2013 -0400
    11.2 +++ b/README.android	Sun Apr 14 11:42:55 2013 -0400
    11.3 @@ -4,12 +4,13 @@
    11.4  
    11.5  Requirements:
    11.6  
    11.7 -Android SDK
    11.8 +Android SDK (version 10 or later)
    11.9  http://developer.android.com/sdk/index.html
   11.10  
   11.11 -Android NDK r4 or later
   11.12 +Android NDK r7 or later
   11.13  http://developer.android.com/sdk/ndk/index.html
   11.14  
   11.15 +Minimum API level supported by SDL: 10 (Android 2.3.3)
   11.16  
   11.17  ================================================================================
   11.18   How the port works
   11.19 @@ -18,7 +19,7 @@
   11.20  - Android applications are Java-based, optionally with parts written in C
   11.21  - As SDL apps are C-based, we use a small Java shim that uses JNI to talk to 
   11.22  the SDL library
   11.23 -- This means that your application C code must be placed inside an android 
   11.24 +- This means that your application C code must be placed inside an Android 
   11.25  Java project, along with some C support code that communicates with Java
   11.26  - This eventually produces a standard Android .apk package
   11.27  
   11.28 @@ -46,7 +47,8 @@
   11.29  
   11.30  If you want to use the Eclipse IDE, skip to the Eclipse section below.
   11.31  
   11.32 -5. Edit <project>/local.properties to point to the Android SDK directory
   11.33 +5. Create <project>/local.properties and use that to point to the Android SDK directory, by writing a line with the following form:
   11.34 +sdk.dir=PATH_TO_ANDROID_SDK
   11.35  6. Run 'ant debug' in android/project. This compiles the .java and eventually 
   11.36     creates a .apk with the native code embedded
   11.37  7. 'ant debug install' will push the apk to the device or emulator (if connected)
   11.38 @@ -59,8 +61,8 @@
   11.39  	build.properties	- empty
   11.40  	build.xml		- build description file, used by ant. The actual application name
   11.41  				  is specified here.
   11.42 -	default.properties	- holds the target ABI for the application, can range between
   11.43 -				  android-5 and android-16
   11.44 +	default.properties	- holds the target ABI for the application, android-10 and up
   11.45 +	project.properties	- holds the target ABI for the application, android-10 and up
   11.46  	local.properties	- holds the SDK path, you should change this to the path to your SDK
   11.47  	jni/			- directory holding native code
   11.48  	jni/Android.mk		- Android makefile that can call recursively the Android.mk files
   11.49 @@ -171,10 +173,10 @@
   11.50  under iOS, if the OS can not restore your GL context it will just kill your app)
   11.51  
   11.52  ================================================================================
   11.53 - Threads and the JAVA VM
   11.54 + Threads and the Java VM
   11.55  ================================================================================
   11.56  
   11.57 -For a quick tour on how Linux native threads interoperate with the JAVA VM, take
   11.58 +For a quick tour on how Linux native threads interoperate with the Java VM, take
   11.59  a look here: http://developer.android.com/guide/practices/jni.html
   11.60  If you want to use threads in your SDL app, it's strongly recommended that you
   11.61  do so by creating them using SDL functions. This way, the required attach/detach
   11.62 @@ -342,6 +344,38 @@
   11.63  When you're done instrumenting with valgrind, you can disable the wrapper:
   11.64  	adb shell setprop wrap.org.libsdl.app ""
   11.65  
   11.66 +================================================================================
   11.67 + Why is API level 10 the minimum required?
   11.68 +================================================================================
   11.69 +
   11.70 +API level 10 is required because SDL requires some functionality for running not
   11.71 +available on older devices and some for building which is not in older NDK/SDKs.
   11.72 +
   11.73 +Support for native OpenGL ES and ES2 applications was introduced in the NDK for
   11.74 +API level 4 and 8. EGL was made a stable API in the NDK for API level 9, which
   11.75 +has since then been obsoleted, with the recommendation to developers to bump the
   11.76 +required API level to 10.
   11.77 +As of this writing, according to http://developer.android.com/about/dashboards/index.html
   11.78 +about 90% of the Android devices accessing Google Play support API level 10 or
   11.79 +higher (March 2013).
   11.80 +
   11.81 +================================================================================
   11.82 + A note regarding the use of the "dirty rectangles" rendering technique
   11.83 +================================================================================
   11.84 +
   11.85 +If your app uses a variation of the "dirty rectangles" rendering technique,
   11.86 +where you only update a portion of the screen on each frame, you may notice a
   11.87 +variety of visual glitches on Android, that are not present on other platforms.
   11.88 +This is caused by SDL's use of EGL as the support system to handle OpenGL ES/ES2
   11.89 +contexts, in particular the use of the eglSwapBuffers function. As stated in the
   11.90 +documentation for the function "The contents of ancillary buffers are always 
   11.91 +undefined after calling eglSwapBuffers".
   11.92 +Setting the EGL_SWAP_BEHAVIOR attribute of the surface to EGL_BUFFER_PRESERVED
   11.93 +is not possible for SDL as it requires EGL 1.4, available only on the API level
   11.94 +17+, so the only workaround available on this platform is to redraw the entire
   11.95 +screen each frame.
   11.96 +
   11.97 +Reference: http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html
   11.98  
   11.99  ================================================================================
  11.100   Known issues
    12.1 --- a/README.ds	Sat Apr 13 23:03:46 2013 -0400
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,64 +0,0 @@
    12.4 -================================================================================
    12.5 -Simple DirectMedia Layer for Nintendo DS
    12.6 -================================================================================
    12.7 -
    12.8 --Requirements-
    12.9 -* The devkitpro SDK available at http://devkitpro.org.
   12.10 -  Read the information at http://devkitpro.org/wiki/Getting_Started/devkitARM
   12.11 -  The necessary packages are devkitARM, libnds, libfat and default arm7.
   12.12 -* Optionally, use a DS emulator, such as desmume (http://desmume.org/)
   12.13 -  to program and debug.
   12.14 -
   12.15 --Building SDL-
   12.16 -
   12.17 -After setting the devkitpro environment, cd into your SDL directory and type:
   12.18 -  make -f Makefile.ds
   12.19 -
   12.20 -This will compile and install the library and headers into the
   12.21 -devkitpro's portlibs directory (../portlibs/arm/lib/ and
   12.22 -../portlibs/arm/include/). Additionally it will compile several tests
   12.23 -that you can run either on the DS or with desmume. For instance:
   12.24 -  desmume --cflash-path=test/ test/nds-test-progs/testsprite2/testsprite2.nds
   12.25 -  desmume --cflash-path=test/ test/nds-test-progs/testspriteminimal/testspriteminimal.nds
   12.26 -  desmume --cflash-path=test/ test/nds-test-progs/testscale/testscale.nds 
   12.27 -  desmume test/nds-test-progs/general/general.nds
   12.28 -
   12.29 --Notes-
   12.30 -* The renderer code is based on the gl like engine. It's not using the sprite engine.
   12.31 -* The hardware renderer is using the parts of the libgl2d abstraction library that can be found at:
   12.32 -    http://rel.phatcode.net/junk.php?id=117
   12.33 -  Used with the author's permission.
   12.34 -* The port is very basic and incomplete:
   12.35 -  - SDL currently has to be compiled for either framebuffer mode or renderer mode.
   12.36 -     See USE_HW_RENDERER in Makefile.ds.
   12.37 -  - some optional renderer functions are not implemented.
   12.38 -  - no sound
   12.39 -
   12.40 --Limitations-
   12.41 -* in hardware renderer mode, don't load too many textures. The internal format is
   12.42 -  2 bytes per pixel. And there is only 256KB reserved for the textures. For instance,
   12.43 -  testscale won't display sample.bmp, unless it's resized to a smaller picture.
   12.44 -* the screen size is 256 x 384. Anything else won't work.
   12.45 -* there is no 8 bits/pixel mode because SDL 2.0 doesn't support palettes.
   12.46 -
   12.47 --Joystick mapping-
   12.48 -The Joystick presented to SDL has 2 axes and 8 buttons
   12.49 -
   12.50 - KEY      | Code
   12.51 -  A       |   0
   12.52 -  B       |   1
   12.53 -  X       |   2
   12.54 -  Y       |   3
   12.55 -  L       |   4
   12.56 -  R       |   5
   12.57 -  select  |   6
   12.58 -  start   |   7
   12.59 -
   12.60 - Left-right is axe 0.
   12.61 - Up-down is axe 1.
   12.62 -
   12.63 --Mouse mapping-
   12.64 -todo
   12.65 -
   12.66 --Examples-
   12.67 -Due to memory limitations, to be able to successfully run the testscale example, sample.bmp must be resized to 256x105.
    13.1 --- a/README.gesture	Sat Apr 13 23:03:46 2013 -0400
    13.2 +++ b/README.gesture	Sun Apr 14 11:42:55 2013 -0400
    13.3 @@ -16,7 +16,7 @@
    13.4  A SDL_DOLLARRECORD event is a dgesture with the following fields:
    13.5  
    13.6  event.dgesture.touchId   - the Id of the touch used to record the gesture.
    13.7 -event.dgesture.gestureId - the unique id of the recoreded gesture.
    13.8 +event.dgesture.gestureId - the unique id of the recorded gesture.
    13.9  
   13.10  
   13.11  Performing:
   13.12 @@ -28,7 +28,7 @@
   13.13  event.dgesture.error      - the difference between the gesture template and the actual performed gesture. Lower error is a better match.
   13.14  event.dgesture.numFingers - the number of fingers used to draw the stroke.
   13.15  
   13.16 -Most programs will want to define an appropriate error threshold and check to be sure taht the error of a gesture is not abnormally high (an indicator that no gesture was performed). 
   13.17 +Most programs will want to define an appropriate error threshold and check to be sure that the error of a gesture is not abnormally high (an indicator that no gesture was performed).
   13.18  
   13.19  
   13.20  
   13.21 @@ -38,14 +38,14 @@
   13.22  
   13.23  To save all currently loaded templates, call SDL_SaveAllDollarTemplates(src) where source is an SDL_RWops pointer to the file where the gesture will be stored.
   13.24  
   13.25 -Both functions return the number of gestures sucessfully saved.
   13.26 +Both functions return the number of gestures successfully saved.
   13.27  
   13.28  
   13.29  Loading:
   13.30  --------
   13.31  To load templates from a file, call SDL_LoadDollarTemplates(touchId,src) where touchId is the id of the touch to load to (or -1 to load to all touch devices), and src is an SDL_RWops pointer to a gesture save file. 
   13.32  
   13.33 -SDL_LoadDollarTemplates returns the number of templates sucessfully loaded. 
   13.34 +SDL_LoadDollarTemplates returns the number of templates successfully loaded.
   13.35  
   13.36  
   13.37  
   13.38 @@ -56,8 +56,8 @@
   13.39  Every time a finger is moved an SDL_MULTIGESTURE event is sent with the following fields:
   13.40  
   13.41  event.mgesture.touchId - the Id of the touch on which the gesture was performed.
   13.42 -event.mgesture.x       - the normalized x cooridinate of the gesture. (0..1)
   13.43 -event.mgesture.y       - the normalized y cooridinate of the gesture. (0..1)
   13.44 +event.mgesture.x       - the normalized x coordinate of the gesture. (0..1)
   13.45 +event.mgesture.y       - the normalized y coordinate of the gesture. (0..1)
   13.46  event.mgesture.dTheta  - the amount that the fingers rotated during this motion.
   13.47  event.mgesture.dDist   - the amount that the fingers pinched during this motion.
   13.48  event.mgesture.numFingers - the number of fingers used in the gesture.
    14.1 --- a/README.pandora	Sat Apr 13 23:03:46 2013 -0400
    14.2 +++ b/README.pandora	Sun Apr 14 11:42:55 2013 -0400
    14.3 @@ -1,7 +1,7 @@
    14.4  SDL 2.0 with open pandora console support ( http://openpandora.org/ )
    14.5  =====================================================================
    14.6  
    14.7 -- A pandora specific video driver was writed to allow SDL 2.0 with OpenGL ES
    14.8 +- A pandora specific video driver was written to allow SDL 2.0 with OpenGL ES
    14.9  support to work on the pandora under the framebuffer. This driver do not have
   14.10  input support for now, so if you use it you will have to add your own control code.
   14.11  The video driver name is "pandora" so if you have problem running it from
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/README.psp	Sun Apr 14 11:42:55 2013 -0400
    15.3 @@ -0,0 +1,17 @@
    15.4 +SDL port for the Sony PSP contributed by 
    15.5 +   Captian Lex 
    15.6 +
    15.7 +Credit to
    15.8 +   Marcus R.Brown,Jim Paris,Matthew H for the original SDL 1.2 for PSP
    15.9 +   Geecko for his PSP GU lib "Glib2d"
   15.10 +
   15.11 +Building
   15.12 +--------
   15.13 +To build for the PSP, make sure psp-config is in the path and run:
   15.14 +   make -f Makefile.psp
   15.15 +
   15.16 +
   15.17 +
   15.18 +To Do
   15.19 +------
   15.20 +PSP Screen Keyboard
   15.21 \ No newline at end of file
    16.1 --- a/README.touch	Sat Apr 13 23:03:46 2013 -0400
    16.2 +++ b/README.touch	Sun Apr 14 11:42:55 2013 -0400
    16.3 @@ -5,7 +5,7 @@
    16.4  The linux touch system is currently based off event streams, and proc/bus/devices. The active user must be given permissions to read /dev/input/TOUCHDEVICE, where TOUCHDEVICE is the event stream for your device. Currently only Wacom tablets are supported. If you have an unsupported tablet contact me at jim.tla+sdl_touch@gmail.com and I will help you get support for it.
    16.5  
    16.6  Mac: 
    16.7 -The Mac and Iphone API's are pretty. If your touch device supports them then you'll be fine. If it doesn't, then there isn't much we can do.
    16.8 +The Mac and iPhone APIs are pretty. If your touch device supports them then you'll be fine. If it doesn't, then there isn't much we can do.
    16.9  
   16.10  iPhone: 
   16.11  Works out of box.
   16.12 @@ -21,18 +21,18 @@
   16.13  Fields:
   16.14  event.tfinger.touchId  - the Id of the touch device.
   16.15  event.tfinger.fingerId - the Id of the finger which just went down.
   16.16 -event.tfinger.x        - the x coordinate of the touch (0..touch.xres)
   16.17 -event.tfinger.y        - the y coordinate of the touch (0..touch.yres)
   16.18 -event.tfinger.pressure - the pressure of the touch (0..touch.pressureres)
   16.19 +event.tfinger.x        - the x coordinate of the touch (0..1)
   16.20 +event.tfinger.y        - the y coordinate of the touch (0..1)
   16.21 +event.tfinger.pressure - the pressure of the touch (0..1)
   16.22  
   16.23  SDL_FINGERMOTION:
   16.24  Sent when a finger (or stylus) is moved on the touch device.
   16.25  Fields:
   16.26  Same as FINGERDOWN but with additional:
   16.27 -event.tfginer.dx       - change in x coordinate during this motion event.
   16.28 -event.tfginer.dy       - change in y coordinate during this motion event.
   16.29 +event.tfinger.dx       - change in x coordinate during this motion event.
   16.30 +event.tfinger.dy       - change in y coordinate during this motion event.
   16.31  
   16.32 -SDL_FINGERMOTION:
   16.33 +SDL_FINGERUP:
   16.34  Sent when a finger (or stylus) is lifted from the touch device.
   16.35  Fields:
   16.36  Same as FINGERDOWN.
   16.37 @@ -41,56 +41,38 @@
   16.38  ===========================================================================
   16.39  Functions
   16.40  ===========================================================================
   16.41 -SDL provides the ability to access the underlying Touch and Finger structures.
   16.42 +SDL provides the ability to access the underlying Finger structures.
   16.43  These structures should _never_ be modified.
   16.44  
   16.45 -The following functions are included from SDL_Touch.h
   16.46 +The following functions are included from SDL_touch.h
   16.47  
   16.48 -To get a SDL_Touch device call SDL_GetTouch(touchId). 
   16.49 -This returns an SDL_Touch*. 
   16.50 -IMPORTANT: If the touch has been removed, or there is no touch with the given ID, SDL_GetTouch will return null. Be sure to check for this!
   16.51 +To get a SDL_TouchID call SDL_GetTouchDevice(index).
   16.52 +This returns a SDL_TouchID.
   16.53 +IMPORTANT: If the touch has been removed, or there is no touch with the given ID, SDL_GetTouchID will return 0. Be sure to check for this!
   16.54  
   16.55 -An SDL_Touch has the following fields:
   16.56 ->xres,yres,pressures:
   16.57 -	The resolution at which x,y, and pressure values are reported. Currently these will always be equal to 2^15, but this may not always be the case. 
   16.58 +The number of touch devices can be queried with SDL_GetNumTouchDevices().
   16.59  
   16.60 ->pressure_max, pressure_min, x_max, x_min, y_max, y_min
   16.61 -	Which give, respectively, the maximum and minumum values that the touch digitizer can return for pressure, x coordiniate, and y coordinate AS REPORTED BY THE OPERATING SYSTEM.
   16.62 -On Mac/iPhone systems _max will always be 0, and _min will always be 1. 
   16.63 +A SDL_Touch may be used to get pointers to SDL_Finger.
   16.64  
   16.65 ->native_xres,native_yres,native_pressureres:
   16.66 -	The native resolution of the touch device AS REPORTED BY THE OPERATING SYSTEM.
   16.67 -On Mac/iPhone systems these will always be 1.
   16.68 +SDL_GetNumTouchFingers(touchID) may be used to get the number of fingers currently down on the device.
   16.69  
   16.70 ->num_fingers:
   16.71 -	The number of fingers currently down on the device.
   16.72 +The most common reason to access SDL_Finger is to query the fingers outside the event. In most cases accessing the fingers is using the event. This would be accomplished by code like the following:
   16.73  
   16.74 ->fingers:
   16.75 -	An array of pointers to the fingers which are on the device.
   16.76 +      float x = event.tfinger.x;
   16.77 +      float y = event.tfinger.y;
   16.78  
   16.79  
   16.80 -The most common reason to access a touch device is to normalize inputs. This would be accomplished by code like the following:
   16.81  
   16.82 -      SDL_Touch* inTouch = SDL_GetTouch(event.tfinger.touchId);
   16.83 -      if(inTouch == NULL) continue; //The touch has been removed
   16.84 +To get a SDL_Finger, call SDL_GetTouchFinger(touchID,index), where touchID is a SDL_TouchID, and index is the requested finger.
   16.85 +This returns a SDL_Finger*, or NULL if the finger does not exist, or has been removed.
   16.86 +A SDL_Finger is guaranteed to be persistent for the duration of a touch, but it will be de-allocated as soon as the finger is removed. This occurs when the SDL_FINGERUP event is _added_ to the event queue, and thus _before_ the FINGERUP event is polled.
   16.87 +As a result, be very careful to check for NULL return values.
   16.88  
   16.89 -      float x = ((float)event.tfinger.x)/inTouch->xres;
   16.90 -      float y = ((float)event.tfinger.y)/inTouch->yres;
   16.91 -
   16.92 -
   16.93 -
   16.94 -To get an SDL_Finger, call SDL_GetFinger(touch,fingerId), where touch is a pointer to an SDL_Touch device, and fingerId is the id of the requested finger.
   16.95 -This returns an SDL_Finger*, or null if the finger does not exist, or has been removed.
   16.96 -An SDL_Finger is guaranteed to be persistent for the duration of a touch, but it will be de-allocated as soon as the finger is removed. This occurs when the SDL_FINGERUP event is _added_ to the event queue, and thus _before_ the FINGERUP event is polled. 
   16.97 -As a result, be very careful to check for null return values.
   16.98 -
   16.99 -An SDL_Finger has the following fields:
  16.100 +A SDL_Finger has the following fields:
  16.101  >x,y,pressure:
  16.102  	The current coordinates of the touch.
  16.103 ->xdelta,ydelta: 
  16.104 -	The change in position resulting from the last finger motion.
  16.105 ->last_x, last_y, last_pressure:
  16.106 -	 The previous coordinates of the touch.
  16.107 +>pressure:
  16.108 +	The pressure of the touch.
  16.109  
  16.110  ===========================================================================
  16.111  Notes
  16.112 @@ -99,3 +81,4 @@
  16.113  
  16.114  Please direct questions/comments to:
  16.115     jim.tla+sdl_touch@gmail.com
  16.116 +   (original author, API was changed since)
    17.1 --- a/VisualC/SDL/SDL_VS2008.vcproj	Sat Apr 13 23:03:46 2013 -0400
    17.2 +++ b/VisualC/SDL/SDL_VS2008.vcproj	Sun Apr 14 11:42:55 2013 -0400
    17.3 @@ -1,2644 +1,1332 @@
    17.4  <?xml version="1.0" encoding="Windows-1252"?>
    17.5 -
    17.6  <VisualStudioProject
    17.7 -
    17.8  	ProjectType="Visual C++"
    17.9 -
   17.10  	Version="9.00"
   17.11 -
   17.12  	Name="SDL2"
   17.13 -
   17.14  	ProjectGUID="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
   17.15 -
   17.16  	RootNamespace="SDL"
   17.17 -
   17.18  	TargetFrameworkVersion="131072"
   17.19 -
   17.20  	>
   17.21 -
   17.22  	<Platforms>
   17.23 -
   17.24  		<Platform
   17.25 -
   17.26  			Name="Win32"
   17.27 -
   17.28  		/>
   17.29 -
   17.30  		<Platform
   17.31 -
   17.32  			Name="x64"
   17.33 -
   17.34  		/>
   17.35 -
   17.36  	</Platforms>
   17.37 -
   17.38  	<ToolFiles>
   17.39 -
   17.40  	</ToolFiles>
   17.41 -
   17.42  	<Configurations>
   17.43 -
   17.44  		<Configuration
   17.45 -
   17.46  			Name="Debug|Win32"
   17.47 -
   17.48  			OutputDirectory=".\Debug"
   17.49 -
   17.50  			IntermediateDirectory=".\Debug"
   17.51 -
   17.52  			ConfigurationType="2"
   17.53 -
   17.54  			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
   17.55 -
   17.56  			UseOfMFC="0"
   17.57 -
   17.58  			ATLMinimizesCRunTimeLibraryUsage="false"
   17.59 -
   17.60  			>
   17.61 -
   17.62  			<Tool
   17.63 -
   17.64  				Name="VCPreBuildEventTool"
   17.65 -
   17.66  				CommandLine=""
   17.67 -
   17.68  			/>
   17.69 -
   17.70  			<Tool
   17.71 -
   17.72  				Name="VCCustomBuildTool"
   17.73 -
   17.74  			/>
   17.75 -
   17.76  			<Tool
   17.77 -
   17.78  				Name="VCXMLDataGeneratorTool"
   17.79 -
   17.80  			/>
   17.81 -
   17.82  			<Tool
   17.83 -
   17.84  				Name="VCWebServiceProxyGeneratorTool"
   17.85 -
   17.86  			/>
   17.87 -
   17.88  			<Tool
   17.89 -
   17.90  				Name="VCMIDLTool"
   17.91 -
   17.92  				PreprocessorDefinitions="_DEBUG"
   17.93 -
   17.94  				MkTypLibCompatible="true"
   17.95 -
   17.96  				SuppressStartupBanner="true"
   17.97 -
   17.98  				TargetEnvironment="1"
   17.99 -
  17.100  				TypeLibraryName=".\Debug/SDL.tlb"
  17.101 -
  17.102  			/>
  17.103 -
  17.104  			<Tool
  17.105 -
  17.106  				Name="VCCLCompilerTool"
  17.107 -
  17.108  				Optimization="0"
  17.109 -
  17.110  				AdditionalIncludeDirectories="..\..\include"
  17.111 -
  17.112  				PreprocessorDefinitions="_DEBUG;_WINDOWS"
  17.113 -
  17.114 +				ExceptionHandling="2"
  17.115  				RuntimeLibrary="3"
  17.116 -
  17.117  				BufferSecurityCheck="false"
  17.118 -
  17.119  				WarningLevel="3"
  17.120 -
  17.121  				SuppressStartupBanner="true"
  17.122 -
  17.123  				Detect64BitPortabilityProblems="false"
  17.124 -
  17.125  				DebugInformationFormat="4"
  17.126 -
  17.127  				CompileAs="0"
  17.128 -
  17.129  			/>
  17.130 -
  17.131  			<Tool
  17.132 -
  17.133  				Name="VCManagedResourceCompilerTool"
  17.134 -
  17.135  			/>
  17.136 -
  17.137  			<Tool
  17.138 -
  17.139  				Name="VCResourceCompilerTool"
  17.140 -
  17.141  				PreprocessorDefinitions="_DEBUG"
  17.142 -
  17.143  				Culture="1033"
  17.144 -
  17.145  			/>
  17.146 -
  17.147  			<Tool
  17.148 -
  17.149  				Name="VCPreLinkEventTool"
  17.150 -
  17.151  			/>
  17.152 -
  17.153  			<Tool
  17.154 -
  17.155  				Name="VCLinkerTool"
  17.156 -
  17.157  				AdditionalDependencies="winmm.lib imm32.lib version.lib"
  17.158 -
  17.159  				IgnoreAllDefaultLibraries="true"
  17.160 -
  17.161  				GenerateDebugInformation="true"
  17.162 -
  17.163  				SubSystem="2"
  17.164 -
  17.165  			/>
  17.166 -
  17.167  			<Tool
  17.168 -
  17.169  				Name="VCALinkTool"
  17.170 -
  17.171  			/>
  17.172 -
  17.173  			<Tool
  17.174 -
  17.175  				Name="VCManifestTool"
  17.176 -
  17.177  			/>
  17.178 -
  17.179  			<Tool
  17.180 -
  17.181  				Name="VCXDCMakeTool"
  17.182 -
  17.183  			/>
  17.184 -
  17.185  			<Tool
  17.186 -
  17.187  				Name="VCBscMakeTool"
  17.188 -
  17.189  			/>
  17.190 -
  17.191  			<Tool
  17.192 -
  17.193  				Name="VCFxCopTool"
  17.194 -
  17.195  			/>
  17.196 -
  17.197  			<Tool
  17.198 -
  17.199  				Name="VCAppVerifierTool"
  17.200 -
  17.201  			/>
  17.202 -
  17.203  			<Tool
  17.204 -
  17.205  				Name="VCPostBuildEventTool"
  17.206 -
  17.207  			/>
  17.208 -
  17.209  		</Configuration>
  17.210 -
  17.211  		<Configuration
  17.212 -
  17.213  			Name="Debug|x64"
  17.214 -
  17.215  			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
  17.216 -
  17.217  			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
  17.218 -
  17.219  			ConfigurationType="2"
  17.220 -
  17.221  			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
  17.222 -
  17.223  			UseOfMFC="0"
  17.224 -
  17.225  			ATLMinimizesCRunTimeLibraryUsage="false"
  17.226 -
  17.227  			>
  17.228 -
  17.229  			<Tool
  17.230 -
  17.231  				Name="VCPreBuildEventTool"
  17.232 -
  17.233  			/>
  17.234 -
  17.235  			<Tool
  17.236 -
  17.237  				Name="VCCustomBuildTool"
  17.238 -
  17.239  			/>
  17.240 -
  17.241  			<Tool
  17.242 -
  17.243  				Name="VCXMLDataGeneratorTool"
  17.244 -
  17.245  			/>
  17.246 -
  17.247  			<Tool
  17.248 -
  17.249  				Name="VCWebServiceProxyGeneratorTool"
  17.250 -
  17.251  			/>
  17.252 -
  17.253  			<Tool
  17.254 -
  17.255  				Name="VCMIDLTool"
  17.256 -
  17.257  				PreprocessorDefinitions="_DEBUG"
  17.258 -
  17.259  				MkTypLibCompatible="true"
  17.260 -
  17.261  				SuppressStartupBanner="true"
  17.262 -
  17.263  				TargetEnvironment="3"
  17.264 -
  17.265  				TypeLibraryName=".\Debug/SDL.tlb"
  17.266 -
  17.267  			/>
  17.268 -
  17.269  			<Tool
  17.270 -
  17.271  				Name="VCCLCompilerTool"
  17.272 -
  17.273  				Optimization="0"
  17.274 -
  17.275  				AdditionalIncludeDirectories="..\..\include"
  17.276 -
  17.277  				PreprocessorDefinitions="_DEBUG;_WINDOWS"
  17.278 -
  17.279 +				ExceptionHandling="2"
  17.280  				RuntimeLibrary="2"
  17.281 -
  17.282  				BufferSecurityCheck="false"
  17.283 -
  17.284  				WarningLevel="3"
  17.285 -
  17.286  				SuppressStartupBanner="true"
  17.287 -
  17.288  				Detect64BitPortabilityProblems="false"
  17.289 -
  17.290  				DebugInformationFormat="3"
  17.291 -
  17.292  				CompileAs="0"
  17.293 -
  17.294  			/>
  17.295 -
  17.296  			<Tool
  17.297 -
  17.298  				Name="VCManagedResourceCompilerTool"
  17.299 -
  17.300  			/>
  17.301 -
  17.302  			<Tool
  17.303 -
  17.304  				Name="VCResourceCompilerTool"
  17.305 -
  17.306  				PreprocessorDefinitions="_DEBUG"
  17.307 -
  17.308  				Culture="1033"
  17.309 -
  17.310  			/>
  17.311 -
  17.312  			<Tool
  17.313 -
  17.314  				Name="VCPreLinkEventTool"
  17.315 -
  17.316  			/>
  17.317 -
  17.318  			<Tool
  17.319 -
  17.320  				Name="VCLinkerTool"
  17.321 -
  17.322  				AdditionalDependencies="winmm.lib imm32.lib version.lib"
  17.323 -
  17.324  				IgnoreAllDefaultLibraries="true"
  17.325 -
  17.326  				GenerateDebugInformation="true"
  17.327 -
  17.328  				SubSystem="2"
  17.329 -
  17.330  				TargetMachine="17"
  17.331 -
  17.332  			/>
  17.333 -
  17.334  			<Tool
  17.335 -
  17.336  				Name="VCALinkTool"
  17.337 -
  17.338  			/>
  17.339 -
  17.340  			<Tool
  17.341 -
  17.342  				Name="VCManifestTool"
  17.343 -
  17.344  			/>
  17.345 -
  17.346  			<Tool
  17.347 -
  17.348  				Name="VCXDCMakeTool"
  17.349 -
  17.350  			/>
  17.351 -
  17.352  			<Tool
  17.353 -
  17.354  				Name="VCBscMakeTool"
  17.355 -
  17.356  			/>
  17.357 -
  17.358  			<Tool
  17.359 -
  17.360  				Name="VCFxCopTool"
  17.361 -
  17.362  			/>
  17.363 -
  17.364  			<Tool
  17.365 -
  17.366  				Name="VCAppVerifierTool"
  17.367 -
  17.368  			/>
  17.369 -
  17.370  			<Tool
  17.371 -
  17.372  				Name="VCPostBuildEventTool"
  17.373 -
  17.374  			/>
  17.375 -
  17.376  		</Configuration>
  17.377 -
  17.378  		<Configuration
  17.379 -
  17.380  			Name="Release|Win32"
  17.381 -
  17.382  			OutputDirectory=".\Release"
  17.383 -
  17.384  			IntermediateDirectory=".\Release"
  17.385 -
  17.386  			ConfigurationType="2"
  17.387 -
  17.388  			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
  17.389 -
  17.390  			UseOfMFC="0"
  17.391 -
  17.392  			ATLMinimizesCRunTimeLibraryUsage="false"
  17.393 -
  17.394  			>
  17.395 -
  17.396  			<Tool
  17.397 -
  17.398  				Name="VCPreBuildEventTool"
  17.399 -
  17.400  				CommandLine=""
  17.401 -
  17.402  			/>
  17.403 -
  17.404  			<Tool
  17.405 -
  17.406  				Name="VCCustomBuildTool"
  17.407 -
  17.408  			/>
  17.409 -
  17.410  			<Tool
  17.411 -
  17.412  				Name="VCXMLDataGeneratorTool"
  17.413 -
  17.414  			/>
  17.415 -
  17.416  			<Tool
  17.417 -
  17.418  				Name="VCWebServiceProxyGeneratorTool"
  17.419 -
  17.420  			/>
  17.421 -
  17.422  			<Tool
  17.423 -
  17.424  				Name="VCMIDLTool"
  17.425 -
  17.426  				PreprocessorDefinitions="NDEBUG"
  17.427 -
  17.428  				MkTypLibCompatible="true"
  17.429 -
  17.430  				SuppressStartupBanner="true"
  17.431 -
  17.432  				TargetEnvironment="1"
  17.433 -
  17.434  				TypeLibraryName=".\Release/SDL.tlb"
  17.435 -
  17.436  			/>
  17.437 -
  17.438  			<Tool
  17.439 -
  17.440  				Name="VCCLCompilerTool"
  17.441 -
  17.442  				InlineFunctionExpansion="1"
  17.443 -
  17.444  				EnableIntrinsicFunctions="false"
  17.445 -
  17.446  				AdditionalIncludeDirectories="..\..\include"
  17.447 -
  17.448  				PreprocessorDefinitions="NDEBUG;_WINDOWS"
  17.449 -
  17.450  				StringPooling="true"
  17.451 -
  17.452 +				ExceptionHandling="2"
  17.453  				RuntimeLibrary="2"
  17.454 -
  17.455  				BufferSecurityCheck="false"
  17.456 -
  17.457  				EnableFunctionLevelLinking="true"
  17.458 -
  17.459  				WarningLevel="3"
  17.460 -
  17.461  				SuppressStartupBanner="true"
  17.462 -
  17.463  				Detect64BitPortabilityProblems="false"
  17.464 -
  17.465  				CompileAs="0"
  17.466 -
  17.467  			/>
  17.468 -
  17.469  			<Tool
  17.470 -
  17.471  				Name="VCManagedResourceCompilerTool"
  17.472 -
  17.473  			/>
  17.474 -
  17.475  			<Tool
  17.476 -
  17.477  				Name="VCResourceCompilerTool"
  17.478 -
  17.479  				PreprocessorDefinitions="NDEBUG"
  17.480 -
  17.481  				Culture="1033"
  17.482 -
  17.483  			/>
  17.484 -
  17.485  			<Tool
  17.486 -
  17.487  				Name="VCPreLinkEventTool"
  17.488 -
  17.489  			/>
  17.490 -
  17.491  			<Tool
  17.492 -
  17.493  				Name="VCLinkerTool"
  17.494 -
  17.495  				AdditionalDependencies="winmm.lib imm32.lib version.lib"
  17.496 -
  17.497  				IgnoreAllDefaultLibraries="true"
  17.498 -
  17.499 +				GenerateDebugInformation="true"
  17.500  				SubSystem="2"
  17.501 -
  17.502 +				OptimizeReferences="2"
  17.503 +				EnableCOMDATFolding="2"
  17.504  			/>
  17.505 -
  17.506  			<Tool
  17.507 -
  17.508  				Name="VCALinkTool"
  17.509 -
  17.510  			/>
  17.511 -
  17.512  			<Tool
  17.513 -
  17.514  				Name="VCManifestTool"
  17.515 -
  17.516  			/>
  17.517 -
  17.518  			<Tool
  17.519 -
  17.520  				Name="VCXDCMakeTool"
  17.521 -
  17.522  			/>
  17.523 -
  17.524  			<Tool
  17.525 -
  17.526  				Name="VCBscMakeTool"
  17.527 -
  17.528  			/>
  17.529 -
  17.530  			<Tool
  17.531 -
  17.532  				Name="VCFxCopTool"
  17.533 -
  17.534  			/>
  17.535 -
  17.536  			<Tool
  17.537 -
  17.538  				Name="VCAppVerifierTool"
  17.539 -
  17.540  			/>
  17.541 -
  17.542  			<Tool
  17.543 -
  17.544  				Name="VCPostBuildEventTool"
  17.545 -
  17.546  			/>
  17.547 -
  17.548  		</Configuration>
  17.549 -
  17.550  		<Configuration
  17.551 -
  17.552  			Name="Release|x64"
  17.553 -
  17.554  			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
  17.555 -
  17.556  			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
  17.557 -
  17.558  			ConfigurationType="2"
  17.559 -
  17.560  			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
  17.561 -
  17.562  			UseOfMFC="0"
  17.563 -
  17.564  			ATLMinimizesCRunTimeLibraryUsage="false"
  17.565 -
  17.566  			>
  17.567 -
  17.568  			<Tool
  17.569 -
  17.570  				Name="VCPreBuildEventTool"
  17.571 -
  17.572  			/>
  17.573 -
  17.574  			<Tool
  17.575 -
  17.576  				Name="VCCustomBuildTool"
  17.577 -
  17.578  			/>
  17.579 -
  17.580  			<Tool
  17.581 -
  17.582  				Name="VCXMLDataGeneratorTool"
  17.583 -
  17.584  			/>
  17.585 -
  17.586  			<Tool
  17.587 -
  17.588  				Name="VCWebServiceProxyGeneratorTool"
  17.589 -
  17.590  			/>
  17.591 -
  17.592  			<Tool
  17.593 -
  17.594  				Name="VCMIDLTool"
  17.595 -
  17.596  				PreprocessorDefinitions="NDEBUG"
  17.597 -
  17.598  				MkTypLibCompatible="true"
  17.599 -
  17.600  				SuppressStartupBanner="true"
  17.601 -
  17.602  				TargetEnvironment="3"
  17.603 -
  17.604  				TypeLibraryName=".\Release/SDL.tlb"
  17.605 -
  17.606  			/>
  17.607 -
  17.608  			<Tool
  17.609 -
  17.610  				Name="VCCLCompilerTool"
  17.611 -
  17.612  				InlineFunctionExpansion="1"
  17.613 -
  17.614  				EnableIntrinsicFunctions="false"
  17.615 -
  17.616  				AdditionalIncludeDirectories="..\..\include"
  17.617 -
  17.618  				PreprocessorDefinitions="NDEBUG;_WINDOWS"
  17.619 -
  17.620  				StringPooling="true"
  17.621 -
  17.622 +				ExceptionHandling="2"
  17.623  				RuntimeLibrary="2"
  17.624 -
  17.625  				BufferSecurityCheck="false"
  17.626 -
  17.627  				EnableFunctionLevelLinking="true"
  17.628 -
  17.629  				WarningLevel="3"
  17.630 -
  17.631  				SuppressStartupBanner="true"
  17.632 -
  17.633  				Detect64BitPortabilityProblems="false"
  17.634 -
  17.635  				CompileAs="0"
  17.636 -
  17.637  			/>
  17.638 -
  17.639  			<Tool
  17.640 -
  17.641  				Name="VCManagedResourceCompilerTool"
  17.642 -
  17.643  			/>
  17.644 -
  17.645  			<Tool
  17.646 -
  17.647  				Name="VCResourceCompilerTool"
  17.648 -
  17.649  				PreprocessorDefinitions="NDEBUG"
  17.650 -
  17.651  				Culture="1033"
  17.652 -
  17.653  			/>
  17.654 -
  17.655  			<Tool
  17.656 -
  17.657  				Name="VCPreLinkEventTool"
  17.658 -
  17.659  			/>
  17.660 -
  17.661  			<Tool
  17.662 -
  17.663  				Name="VCLinkerTool"
  17.664 -
  17.665  				AdditionalDependencies="winmm.lib imm32.lib version.lib"
  17.666 -
  17.667  				IgnoreAllDefaultLibraries="true"
  17.668 -
  17.669 +				GenerateDebugInformation="true"
  17.670  				SubSystem="2"
  17.671 -
  17.672 +				OptimizeReferences="2"
  17.673 +				EnableCOMDATFolding="2"
  17.674  				TargetMachine="17"
  17.675 -
  17.676  			/>
  17.677 -
  17.678  			<Tool
  17.679 -
  17.680  				Name="VCALinkTool"
  17.681 -
  17.682  			/>
  17.683 -
  17.684  			<Tool
  17.685 -
  17.686  				Name="VCManifestTool"
  17.687 -
  17.688  			/>
  17.689 -
  17.690  			<Tool
  17.691 -
  17.692  				Name="VCXDCMakeTool"
  17.693 -
  17.694  			/>
  17.695 -
  17.696  			<Tool
  17.697 -
  17.698  				Name="VCBscMakeTool"
  17.699 -
  17.700  			/>
  17.701 -
  17.702  			<Tool
  17.703 -
  17.704  				Name="VCFxCopTool"
  17.705 -
  17.706  			/>
  17.707 -
  17.708  			<Tool
  17.709 -
  17.710  				Name="VCAppVerifierTool"
  17.711 -
  17.712  			/>
  17.713 -
  17.714  			<Tool
  17.715 -
  17.716  				Name="VCPostBuildEventTool"
  17.717 -
  17.718  			/>
  17.719 -
  17.720  		</Configuration>
  17.721 -
  17.722  	</Configurations>
  17.723 -
  17.724  	<References>
  17.725 -
  17.726  	</References>
  17.727 -
  17.728  	<Files>
  17.729 -
  17.730  		<Filter
  17.731 -
  17.732  			Name="API Headers"
  17.733 -
  17.734  			>
  17.735 -
  17.736  			<File
  17.737 -
  17.738  				RelativePath="..\..\include\SDL.h"
  17.739 -
  17.740  				>
  17.741 -
  17.742  			</File>
  17.743 -
  17.744  			<File
  17.745 -
  17.746  				RelativePath="..\..\include\SDL_assert.h"
  17.747 -
  17.748  				>
  17.749 -
  17.750  			</File>
  17.751 -
  17.752  			<File
  17.753 -
  17.754  				RelativePath="..\..\include\SDL_atomic.h"
  17.755 -
  17.756  				>
  17.757 -
  17.758  			</File>
  17.759 -
  17.760  			<File
  17.761 -
  17.762  				RelativePath="..\..\include\SDL_audio.h"
  17.763 -
  17.764  				>
  17.765 -
  17.766  			</File>
  17.767 -
  17.768  			<File
  17.769 -
  17.770  				RelativePath="..\..\include\SDL_bits.h"
  17.771 -
  17.772  				>
  17.773 -
  17.774  			</File>
  17.775 -
  17.776  			<File
  17.777 -
  17.778  				RelativePath="..\..\include\SDL_blendmode.h"
  17.779 -
  17.780  				>
  17.781 -
  17.782  			</File>
  17.783 -
  17.784  			<File
  17.785 -
  17.786  				RelativePath="..\..\include\SDL_clipboard.h"
  17.787 -
  17.788  				>
  17.789 -
  17.790  			</File>
  17.791 -
  17.792  			<File
  17.793 -
  17.794  				RelativePath="..\..\include\SDL_config.h"
  17.795 -
  17.796  				>
  17.797 -
  17.798  			</File>
  17.799 -
  17.800  			<File
  17.801 -
  17.802  				RelativePath="..\..\include\SDL_config_windows.h"
  17.803 -
  17.804  				>
  17.805 -
  17.806  			</File>
  17.807 -
  17.808  			<File
  17.809 -
  17.810  				RelativePath="..\..\include\SDL_copying.h"
  17.811 -
  17.812  				>
  17.813 -
  17.814  			</File>
  17.815 -
  17.816  			<File
  17.817 -
  17.818  				RelativePath="..\..\include\SDL_cpuinfo.h"
  17.819 -
  17.820  				>
  17.821 -
  17.822  			</File>
  17.823 -
  17.824  			<File
  17.825 -
  17.826  				RelativePath="..\..\include\SDL_endian.h"
  17.827 -
  17.828  				>
  17.829 -
  17.830  			</File>
  17.831 -
  17.832  			<File
  17.833 -
  17.834  				RelativePath="..\..\include\SDL_error.h"
  17.835 -
  17.836  				>
  17.837 -
  17.838  			</File>
  17.839 -
  17.840  			<File
  17.841 -
  17.842  				RelativePath="..\..\include\SDL_events.h"
  17.843 -
  17.844  				>
  17.845 -
  17.846  			</File>
  17.847 -
  17.848  			<File
  17.849 -
  17.850  				RelativePath="..\..\include\SDL_gamecontroller.h"
  17.851 -
  17.852  				>
  17.853 -
  17.854  			</File>
  17.855 -
  17.856  			<File
  17.857 -
  17.858  				RelativePath="..\..\include\SDL_gesture.h"
  17.859 -
  17.860  				>
  17.861 -
  17.862  			</File>
  17.863 -
  17.864  			<File
  17.865 -
  17.866  				RelativePath="..\..\include\SDL_haptic.h"
  17.867 -
  17.868  				>
  17.869 -
  17.870  			</File>
  17.871 -
  17.872  			<File
  17.873 -
  17.874  				RelativePath="..\..\include\SDL_hints.h"
  17.875 -
  17.876  				>
  17.877 -
  17.878  			</File>
  17.879 -
  17.880  			<File
  17.881 -
  17.882  				RelativePath="..\..\include\SDL_joystick.h"
  17.883 -
  17.884  				>
  17.885 -
  17.886  			</File>
  17.887 -
  17.888  			<File
  17.889 -
  17.890  				RelativePath="..\..\include\SDL_keyboard.h"
  17.891 -
  17.892  				>
  17.893 -
  17.894  			</File>
  17.895 -
  17.896  			<File
  17.897 -
  17.898  				RelativePath="..\..\include\SDL_keycode.h"
  17.899 -
  17.900  				>
  17.901 -
  17.902  			</File>
  17.903 -
  17.904  			<File
  17.905 -
  17.906  				RelativePath="..\..\include\SDL_loadso.h"
  17.907 -
  17.908  				>
  17.909 -
  17.910  			</File>
  17.911 -
  17.912  			<File
  17.913 -
  17.914  				RelativePath="..\..\include\SDL_log.h"
  17.915 -
  17.916  				>
  17.917 -
  17.918  			</File>
  17.919 -
  17.920  			<File
  17.921 -
  17.922  				RelativePath="..\..\include\SDL_main.h"
  17.923 -
  17.924  				>
  17.925 -
  17.926  			</File>
  17.927 -
  17.928  			<File
  17.929 -
  17.930  				RelativePath="..\..\include\SDL_messagebox.h"
  17.931 -
  17.932  				>
  17.933 -
  17.934  			</File>
  17.935 -
  17.936  			<File
  17.937 -
  17.938  				RelativePath="..\..\include\SDL_mouse.h"
  17.939 -
  17.940  				>
  17.941 -
  17.942  			</File>
  17.943 -
  17.944  			<File
  17.945 -
  17.946  				RelativePath="..\..\include\SDL_mutex.h"
  17.947 -
  17.948  				>
  17.949 -
  17.950  			</File>
  17.951 -
  17.952  			<File
  17.953 -
  17.954  				RelativePath="..\..\include\SDL_name.h"
  17.955 -
  17.956  				>
  17.957 -
  17.958  			</File>
  17.959 -
  17.960  			<File
  17.961 -
  17.962  				RelativePath="..\..\include\SDL_opengl.h"
  17.963 -
  17.964  				>
  17.965 -
  17.966  			</File>
  17.967 -
  17.968  			<File
  17.969 -
  17.970  				RelativePath="..\..\include\SDL_opengles.h"
  17.971 -
  17.972  				>
  17.973 -
  17.974  			</File>
  17.975 -
  17.976  			<File
  17.977 -
  17.978  				RelativePath="..\..\include\SDL_pixels.h"
  17.979 -
  17.980  				>
  17.981 -
  17.982  			</File>
  17.983 -
  17.984  			<File
  17.985 -
  17.986  				RelativePath="..\..\include\SDL_platform.h"
  17.987 -
  17.988  				>
  17.989 -
  17.990  			</File>
  17.991 -
  17.992  			<File
  17.993 -
  17.994  				RelativePath="..\..\include\SDL_power.h"
  17.995 -
  17.996  				>
  17.997 -
  17.998  			</File>
  17.999 -
 17.1000  			<File
 17.1001 -
 17.1002  				RelativePath="..\..\include\SDL_quit.h"
 17.1003 -
 17.1004  				>
 17.1005 -
 17.1006  			</File>
 17.1007 -
 17.1008  			<File
 17.1009 -
 17.1010  				RelativePath="..\..\include\SDL_rect.h"
 17.1011 -
 17.1012  				>
 17.1013 -
 17.1014  			</File>
 17.1015 -
 17.1016  			<File
 17.1017 -
 17.1018  				RelativePath="..\..\include\SDL_render.h"
 17.1019 -
 17.1020  				>
 17.1021 -
 17.1022  			</File>
 17.1023 -
 17.1024  			<File
 17.1025 -
 17.1026  				RelativePath="..\..\include\SDL_revision.h"
 17.1027 -
 17.1028  				>
 17.1029 -
 17.1030  			</File>
 17.1031 -
 17.1032  			<File
 17.1033 -
 17.1034  				RelativePath="..\..\include\SDL_rwops.h"
 17.1035 -
 17.1036  				>
 17.1037 -
 17.1038  			</File>
 17.1039 -
 17.1040  			<File
 17.1041 -
 17.1042  				RelativePath="..\..\include\SDL_scancode.h"
 17.1043 -
 17.1044  				>
 17.1045 -
 17.1046  			</File>
 17.1047 -
 17.1048  			<File
 17.1049 -
 17.1050  				RelativePath="..\..\include\SDL_shape.h"
 17.1051 -
 17.1052  				>
 17.1053 -
 17.1054  			</File>
 17.1055 -
 17.1056  			<File
 17.1057 -
 17.1058  				RelativePath="..\..\include\SDL_stdinc.h"
 17.1059 -
 17.1060  				>
 17.1061 -
 17.1062  			</File>
 17.1063 -
 17.1064  			<File
 17.1065 -
 17.1066  				RelativePath="..\..\include\SDL_surface.h"
 17.1067 -
 17.1068  				>
 17.1069 -
 17.1070  			</File>
 17.1071 -
 17.1072  			<File
 17.1073 -
 17.1074  				RelativePath="..\..\include\SDL_system.h"
 17.1075 -
 17.1076  				>
 17.1077 -
 17.1078  			</File>
 17.1079 -
 17.1080  			<File
 17.1081 -
 17.1082  				RelativePath="..\..\include\SDL_syswm.h"
 17.1083 -
 17.1084  				>
 17.1085 -
 17.1086  			</File>
 17.1087 -
 17.1088  			<File
 17.1089 -
 17.1090  				RelativePath="..\..\include\SDL_thread.h"
 17.1091 -
 17.1092  				>
 17.1093 -
 17.1094  			</File>
 17.1095 -
 17.1096  			<File
 17.1097 -
 17.1098  				RelativePath="..\..\include\SDL_timer.h"
 17.1099 -
 17.1100  				>
 17.1101 -
 17.1102  			</File>
 17.1103 -
 17.1104  			<File
 17.1105 -
 17.1106  				RelativePath="..\..\include\SDL_touch.h"
 17.1107 -
 17.1108  				>
 17.1109 -
 17.1110  			</File>
 17.1111 -
 17.1112  			<File
 17.1113 -
 17.1114  				RelativePath="..\..\include\SDL_types.h"
 17.1115 -
 17.1116  				>
 17.1117 -
 17.1118  			</File>
 17.1119 -
 17.1120  			<File
 17.1121 -
 17.1122  				RelativePath="..\..\include\SDL_version.h"
 17.1123 -
 17.1124  				>
 17.1125 -
 17.1126  			</File>
 17.1127 -
 17.1128  			<File
 17.1129 -
 17.1130  				RelativePath="..\..\include\SDL_video.h"
 17.1131 -
 17.1132  				>
 17.1133 -
 17.1134  			</File>
 17.1135 -
 17.1136  		</Filter>
 17.1137 -
 17.1138  		<File
 17.1139 -
 17.1140  			RelativePath="..\..\src\events\blank_cursor.h"
 17.1141 -
 17.1142  			>
 17.1143 -
 17.1144  		</File>
 17.1145 -
 17.1146  		<File
 17.1147 -
 17.1148  			RelativePath="..\..\src\events\default_cursor.h"
 17.1149 -
 17.1150  			>
 17.1151 -
 17.1152  		</File>
 17.1153 -
 17.1154  		<File
 17.1155 -
 17.1156  			RelativePath="..\..\src\audio\directsound\directx.h"
 17.1157 -
 17.1158  			>
 17.1159 -
 17.1160  		</File>
 17.1161 -
 17.1162  		<File
 17.1163 -
 17.1164  			RelativePath="..\..\src\libm\e_atan2.c"
 17.1165 -
 17.1166  			>
 17.1167 -
 17.1168  		</File>
 17.1169 -
 17.1170  		<File
 17.1171 -
 17.1172  			RelativePath="..\..\src\libm\e_log.c"
 17.1173 -
 17.1174  			>
 17.1175 -
 17.1176  		</File>
 17.1177 -
 17.1178  		<File
 17.1179 -
 17.1180  			RelativePath="..\..\src\libm\e_pow.c"
 17.1181 -
 17.1182  			>
 17.1183 -
 17.1184  		</File>
 17.1185 -
 17.1186  		<File
 17.1187 -
 17.1188  			RelativePath="..\..\src\libm\e_rem_pio2.c"
 17.1189 -
 17.1190  			>
 17.1191 -
 17.1192  		</File>
 17.1193 -
 17.1194  		<File
 17.1195 -
 17.1196  			RelativePath="..\..\src\libm\e_sqrt.c"
 17.1197 -
 17.1198  			>
 17.1199 -
 17.1200  		</File>
 17.1201 -
 17.1202  		<File
 17.1203 -
 17.1204  			RelativePath="..\..\src\libm\k_cos.c"
 17.1205 -
 17.1206  			>
 17.1207 -
 17.1208  		</File>
 17.1209 -
 17.1210  		<File
 17.1211 -
 17.1212  			RelativePath="..\..\src\libm\k_rem_pio2.c"
 17.1213 -
 17.1214  			>
 17.1215 -
 17.1216  		</File>
 17.1217 -
 17.1218  		<File
 17.1219 -
 17.1220  			RelativePath="..\..\src\libm\k_sin.c"
 17.1221 -
 17.1222  			>
 17.1223 -
 17.1224  		</File>
 17.1225 -
 17.1226  		<File
 17.1227 -
 17.1228  			RelativePath="..\..\src\libm\math.h"
 17.1229 -
 17.1230  			>
 17.1231 -
 17.1232  		</File>
 17.1233 -
 17.1234  		<File
 17.1235 -
 17.1236  			RelativePath="..\..\src\libm\math_private.h"
 17.1237 -
 17.1238  			>
 17.1239 -
 17.1240  		</File>
 17.1241 -
 17.1242  		<File
 17.1243 -
 17.1244  			RelativePath="..\..\src\render\mmx.h"
 17.1245 -
 17.1246  			>
 17.1247 -
 17.1248  		</File>
 17.1249 -
 17.1250  		<File
 17.1251 -
 17.1252  			RelativePath=".\resource.h"
 17.1253 -
 17.1254  			>
 17.1255 -
 17.1256  		</File>
 17.1257 -
 17.1258  		<File
 17.1259 -
 17.1260  			RelativePath="..\..\src\libm\s_atan.c"
 17.1261 -
 17.1262  			>
 17.1263 -
 17.1264  		</File>
 17.1265 -
 17.1266  		<File
 17.1267 -
 17.1268  			RelativePath="..\..\src\libm\s_copysign.c"
 17.1269 -
 17.1270  			>
 17.1271 -
 17.1272  		</File>
 17.1273 -
 17.1274  		<File
 17.1275 -
 17.1276  			RelativePath="..\..\src\libm\s_cos.c"
 17.1277 -
 17.1278  			>
 17.1279 -
 17.1280  		</File>
 17.1281 -
 17.1282  		<File
 17.1283 -
 17.1284  			RelativePath="..\..\src\libm\s_fabs.c"
 17.1285 -
 17.1286  			>
 17.1287 -
 17.1288  		</File>
 17.1289 -
 17.1290  		<File
 17.1291 -
 17.1292  			RelativePath="..\..\src\libm\s_floor.c"
 17.1293 -
 17.1294  			>
 17.1295 -
 17.1296  		</File>
 17.1297 -
 17.1298  		<File
 17.1299 -
 17.1300  			RelativePath="..\..\src\libm\s_scalbn.c"
 17.1301 -
 17.1302  			>
 17.1303 -
 17.1304  		</File>
 17.1305 -
 17.1306  		<File
 17.1307 -
 17.1308  			RelativePath="..\..\src\libm\s_sin.c"
 17.1309 -
 17.1310  			>
 17.1311 -
 17.1312  		</File>
 17.1313 -
 17.1314  		<File
 17.1315 -
 17.1316  			RelativePath="..\..\src\SDL.c"
 17.1317 -
 17.1318  			>
 17.1319 -
 17.1320  		</File>
 17.1321 -
 17.1322  		<File
 17.1323 -
 17.1324  			RelativePath="..\..\src\SDL_assert.c"
 17.1325 -
 17.1326  			>
 17.1327 -
 17.1328  		</File>
 17.1329 -
 17.1330  		<File
 17.1331 -
 17.1332  			RelativePath="..\..\src\atomic\SDL_atomic.c"
 17.1333 -
 17.1334  			>
 17.1335 -
 17.1336  		</File>
 17.1337 -
 17.1338  		<File
 17.1339 -
 17.1340  			RelativePath="..\..\src\audio\SDL_audio.c"
 17.1341 -
 17.1342  			>
 17.1343 -
 17.1344  		</File>
 17.1345 -
 17.1346  		<File
 17.1347 -
 17.1348  			RelativePath="..\..\src\audio\SDL_audio_c.h"
 17.1349 -
 17.1350  			>
 17.1351 -
 17.1352  		</File>
 17.1353 -
 17.1354  		<File
 17.1355 -
 17.1356  			RelativePath="..\..\src\audio\SDL_audiocvt.c"
 17.1357 -
 17.1358  			>
 17.1359 -
 17.1360  		</File>
 17.1361 -
 17.1362  		<File
 17.1363 -
 17.1364  			RelativePath="..\..\src\audio\SDL_audiodev.c"
 17.1365 -
 17.1366  			>
 17.1367 -
 17.1368  		</File>
 17.1369 -
 17.1370  		<File
 17.1371 -
 17.1372  			RelativePath="..\..\src\audio\SDL_audiodev_c.h"
 17.1373 -
 17.1374  			>
 17.1375 -
 17.1376  		</File>
 17.1377 -
 17.1378  		<File
 17.1379 -
 17.1380  			RelativePath="..\..\src\audio\SDL_audiomem.h"
 17.1381 -
 17.1382  			>
 17.1383 -
 17.1384  		</File>
 17.1385 -
 17.1386  		<File
 17.1387 -
 17.1388  			RelativePath="..\..\src\audio\SDL_audiotypecvt.c"
 17.1389 -
 17.1390  			>
 17.1391 -
 17.1392  		</File>
 17.1393 -
 17.1394  		<File
 17.1395 -
 17.1396  			RelativePath="..\..\src\render\software\SDL_blendfillrect.c"
 17.1397 -
 17.1398  			>
 17.1399 -
 17.1400  		</File>
 17.1401 -
 17.1402  		<File
 17.1403 -
 17.1404  			RelativePath="..\..\src\render\software\SDL_blendfillrect.h"
 17.1405 -
 17.1406  			>
 17.1407 -
 17.1408  		</File>
 17.1409 -
 17.1410  		<File
 17.1411 -
 17.1412  			RelativePath="..\..\src\render\software\SDL_blendline.c"
 17.1413 -
 17.1414  			>
 17.1415 -
 17.1416  		</File>
 17.1417 -
 17.1418  		<File
 17.1419 -
 17.1420  			RelativePath="..\..\src\render\software\SDL_blendline.h"
 17.1421 -
 17.1422  			>
 17.1423 -
 17.1424  		</File>
 17.1425 -
 17.1426  		<File
 17.1427 -
 17.1428  			RelativePath="..\..\src\render\software\SDL_blendpoint.c"
 17.1429 -
 17.1430  			>
 17.1431 -
 17.1432  		</File>
 17.1433 -
 17.1434  		<File
 17.1435 -
 17.1436  			RelativePath="..\..\src\render\software\SDL_blendpoint.h"
 17.1437 -
 17.1438  			>
 17.1439 -
 17.1440  		</File>
 17.1441 -
 17.1442  		<File
 17.1443 -
 17.1444  			RelativePath="..\..\src\video\SDL_blit.c"
 17.1445 -
 17.1446  			>
 17.1447 -
 17.1448  		</File>
 17.1449 -
 17.1450  		<File
 17.1451 -
 17.1452  			RelativePath="..\..\src\video\SDL_blit.h"
 17.1453 -
 17.1454  			>
 17.1455 -
 17.1456  		</File>
 17.1457 -
 17.1458  		<File
 17.1459 -
 17.1460  			RelativePath="..\..\src\video\SDL_blit_0.c"
 17.1461 -
 17.1462  			>
 17.1463 -
 17.1464  		</File>
 17.1465 -
 17.1466  		<File
 17.1467 -
 17.1468  			RelativePath="..\..\src\video\SDL_blit_1.c"
 17.1469 -
 17.1470  			>
 17.1471 -
 17.1472  		</File>
 17.1473 -
 17.1474  		<File
 17.1475 -
 17.1476  			RelativePath="..\..\src\video\SDL_blit_A.c"
 17.1477 -
 17.1478  			>
 17.1479 -
 17.1480  		</File>
 17.1481 -
 17.1482  		<File
 17.1483 -
 17.1484  			RelativePath="..\..\src\video\SDL_blit_auto.c"
 17.1485 -
 17.1486  			>
 17.1487 -
 17.1488  		</File>
 17.1489 -
 17.1490  		<File
 17.1491 -
 17.1492  			RelativePath="..\..\src\video\SDL_blit_auto.h"
 17.1493 -
 17.1494  			>
 17.1495 -
 17.1496  		</File>
 17.1497 -
 17.1498  		<File
 17.1499 -
 17.1500  			RelativePath="..\..\src\video\SDL_blit_copy.c"
 17.1501 -
 17.1502  			>
 17.1503 -
 17.1504  		</File>
 17.1505 -
 17.1506  		<File
 17.1507 -
 17.1508  			RelativePath="..\..\src\video\SDL_blit_copy.h"
 17.1509 -
 17.1510  			>
 17.1511 -
 17.1512  		</File>
 17.1513 -
 17.1514  		<File
 17.1515 -
 17.1516  			RelativePath="..\..\src\video\SDL_blit_N.c"
 17.1517 -
 17.1518  			>
 17.1519 -
 17.1520  		</File>
 17.1521 -
 17.1522  		<File
 17.1523 -
 17.1524  			RelativePath="..\..\src\video\SDL_blit_slow.c"
 17.1525 -
 17.1526  			>
 17.1527 -
 17.1528  		</File>
 17.1529 -
 17.1530  		<File
 17.1531 -
 17.1532  			RelativePath="..\..\src\video\SDL_blit_slow.h"
 17.1533 -
 17.1534  			>
 17.1535 -
 17.1536  		</File>
 17.1537 -
 17.1538  		<File
 17.1539 -
 17.1540  			RelativePath="..\..\src\video\SDL_bmp.c"
 17.1541 -
 17.1542  			>
 17.1543 -
 17.1544  		</File>
 17.1545 -
 17.1546  		<File
 17.1547 -
 17.1548  			RelativePath="..\..\src\video\SDL_clipboard.c"
 17.1549 -
 17.1550  			>
 17.1551 -
 17.1552  		</File>
 17.1553 -
 17.1554  		<File
 17.1555 -
 17.1556  			RelativePath="..\..\src\events\SDL_clipboardevents.c"
 17.1557 -
 17.1558  			>
 17.1559 -
 17.1560  		</File>
 17.1561 -
 17.1562  		<File
 17.1563 -
 17.1564  			RelativePath="..\..\src\events\SDL_clipboardevents_c.h"
 17.1565 -
 17.1566  			>
 17.1567 -
 17.1568  		</File>
 17.1569 -
 17.1570  		<File
 17.1571 -
 17.1572  			RelativePath="..\..\src\cpuinfo\SDL_cpuinfo.c"
 17.1573 -
 17.1574  			>
 17.1575 -
 17.1576  		</File>
 17.1577 -
 17.1578  		<File
 17.1579 -
 17.1580  			RelativePath="..\..\src\audio\directsound\SDL_directsound.c"
 17.1581 -
 17.1582  			>
 17.1583 -
 17.1584  		</File>
 17.1585 -
 17.1586  		<File
 17.1587 -
 17.1588  			RelativePath="..\..\src\audio\directsound\SDL_directsound.h"
 17.1589 -
 17.1590  			>
 17.1591 -
 17.1592  		</File>
 17.1593 -
 17.1594  		<File
 17.1595 -
 17.1596  			RelativePath="..\..\src\audio\disk\SDL_diskaudio.c"
 17.1597 -
 17.1598  			>
 17.1599 -
 17.1600  		</File>
 17.1601 -
 17.1602  		<File
 17.1603 -
 17.1604  			RelativePath="..\..\src\audio\disk\SDL_diskaudio.h"
 17.1605 -
 17.1606  			>
 17.1607 -
 17.1608  		</File>
 17.1609 -
 17.1610  		<File
 17.1611 -
 17.1612  			RelativePath="..\..\src\render\software\SDL_draw.h"
 17.1613 -
 17.1614  			>
 17.1615 -
 17.1616  		</File>
 17.1617 -
 17.1618  		<File
 17.1619 -
 17.1620  			RelativePath="..\..\src\render\software\SDL_drawline.c"
 17.1621 -
 17.1622  			>
 17.1623 -
 17.1624  		</File>
 17.1625 -
 17.1626  		<File
 17.1627 -
 17.1628  			RelativePath="..\..\src\render\software\SDL_drawline.h"
 17.1629 -
 17.1630  			>
 17.1631 -
 17.1632  		</File>
 17.1633 -
 17.1634  		<File
 17.1635 -
 17.1636  			RelativePath="..\..\src\render\software\SDL_drawpoint.c"
 17.1637 -
 17.1638  			>
 17.1639 -
 17.1640  		</File>
 17.1641 -
 17.1642  		<File
 17.1643 -
 17.1644  			RelativePath="..\..\src\render\software\SDL_drawpoint.h"
 17.1645 -
 17.1646  			>
 17.1647 -
 17.1648  		</File>
 17.1649 -
 17.1650  		<File
 17.1651 -
 17.1652  			RelativePath="..\..\src\events\SDL_dropevents.c"
 17.1653 -
 17.1654  			>
 17.1655 -
 17.1656  		</File>
 17.1657 -
 17.1658  		<File
 17.1659 -
 17.1660  			RelativePath="..\..\src\events\SDL_dropevents_c.h"
 17.1661 -
 17.1662  			>
 17.1663 -
 17.1664  		</File>
 17.1665 -
 17.1666  		<File
 17.1667 -
 17.1668  			RelativePath="..\..\src\audio\dummy\SDL_dummyaudio.c"
 17.1669 -
 17.1670  			>
 17.1671 -
 17.1672  		</File>
 17.1673 -
 17.1674  		<File
 17.1675 -
 17.1676  			RelativePath="..\..\src\audio\dummy\SDL_dummyaudio.h"
 17.1677 -
 17.1678  			>
 17.1679 -
 17.1680  		</File>
 17.1681 -
 17.1682  		<File
 17.1683 -
 17.1684  			RelativePath="..\..\src\joystick\windows\SDL_dxjoystick.c"
 17.1685 -
 17.1686  			>
 17.1687 -
 17.1688  		</File>
 17.1689 -
 17.1690  		<File
 17.1691 -
 17.1692  			RelativePath="..\..\src\SDL_error.c"
 17.1693 -
 17.1694  			>
 17.1695 -
 17.1696  		</File>
 17.1697 -
 17.1698  		<File
 17.1699 -
 17.1700  			RelativePath="..\..\src\SDL_error_c.h"
 17.1701 -
 17.1702  			>
 17.1703 -
 17.1704  		</File>
 17.1705 -
 17.1706  		<File
 17.1707 -
 17.1708  			RelativePath="..\..\src\events\SDL_events.c"
 17.1709 -
 17.1710  			>
 17.1711 -
 17.1712  		</File>
 17.1713 -
 17.1714  		<File
 17.1715 -
 17.1716  			RelativePath="..\..\src\events\SDL_events_c.h"
 17.1717 -
 17.1718  			>
 17.1719 -
 17.1720  		</File>
 17.1721 -
 17.1722  		<File
 17.1723 -
 17.1724  			RelativePath="..\..\src\SDL_fatal.c"
 17.1725 -
 17.1726  			>
 17.1727 -
 17.1728  		</File>
 17.1729 -
 17.1730  		<File
 17.1731 -
 17.1732  			RelativePath="..\..\src\SDL_fatal.h"
 17.1733 -
 17.1734  			>
 17.1735 -
 17.1736  		</File>
 17.1737 -
 17.1738  		<File
 17.1739 -
 17.1740  			RelativePath="..\..\src\video\SDL_fillrect.c"
 17.1741 -
 17.1742  			>
 17.1743 -
 17.1744  		</File>
 17.1745 -
 17.1746  		<File
 17.1747 -
 17.1748  			RelativePath="..\..\src\joystick\SDL_gamecontroller.c"
 17.1749 -
 17.1750  			>
 17.1751 -
 17.1752  		</File>
 17.1753 -
 17.1754  		<File
 17.1755 -
 17.1756  			RelativePath="..\..\src\events\SDL_gesture.c"
 17.1757 -
 17.1758  			>
 17.1759 -
 17.1760  		</File>
 17.1761 -
 17.1762  		<File
 17.1763 -
 17.1764  			RelativePath="..\..\src\events\SDL_gesture_c.h"
 17.1765 -
 17.1766  			>
 17.1767 -
 17.1768  		</File>
 17.1769 -
 17.1770  		<File
 17.1771 -
 17.1772  			RelativePath="..\..\src\stdlib\SDL_getenv.c"
 17.1773 -
 17.1774  			>
 17.1775 -
 17.1776  		</File>
 17.1777 -
 17.1778  		<File
 17.1779 -
 17.1780  			RelativePath="..\..\src\video\SDL_glesfuncs.h"
 17.1781 -
 17.1782  			>
 17.1783 -
 17.1784  		</File>
 17.1785 -
 17.1786  		<File
 17.1787 -
 17.1788  			RelativePath="..\..\src\video\SDL_glfuncs.h"
 17.1789 -
 17.1790  			>
 17.1791 -
 17.1792  		</File>
 17.1793 -
 17.1794  		<File
 17.1795 -
 17.1796  			RelativePath="..\..\src\haptic\SDL_haptic.c"
 17.1797 -
 17.1798  			>
 17.1799 -
 17.1800  		</File>
 17.1801 -
 17.1802  		<File
 17.1803 -
 17.1804  			RelativePath="..\..\src\SDL_hints.c"
 17.1805 -
 17.1806  			>
 17.1807 -
 17.1808  		</File>
 17.1809 -
 17.1810  		<File
 17.1811 -
 17.1812  			RelativePath="..\..\src\SDL_hints_c.h"
 17.1813 -
 17.1814  			>
 17.1815 -
 17.1816  		</File>
 17.1817 -
 17.1818  		<File
 17.1819 -
 17.1820  			RelativePath="..\..\src\stdlib\SDL_iconv.c"
 17.1821 -
 17.1822  			>
 17.1823 -
 17.1824  		</File>
 17.1825 -
 17.1826  		<File
 17.1827 -
 17.1828  			RelativePath="..\..\src\joystick\SDL_joystick.c"
 17.1829 -
 17.1830  			>
 17.1831 -
 17.1832  		</File>
 17.1833 -
 17.1834  		<File
 17.1835 -
 17.1836  			RelativePath="..\..\src\joystick\SDL_joystick_c.h"
 17.1837 -
 17.1838  			>
 17.1839 -
 17.1840  		</File>
 17.1841 -
 17.1842  		<File
 17.1843 -
 17.1844  			RelativePath="..\..\src\events\SDL_keyboard.c"
 17.1845 -
 17.1846  			>
 17.1847 -
 17.1848  		</File>
 17.1849 -
 17.1850  		<File
 17.1851 -
 17.1852  			RelativePath="..\..\src\events\SDL_keyboard_c.h"
 17.1853 -
 17.1854  			>
 17.1855 -
 17.1856  		</File>
 17.1857 -
 17.1858  		<File
 17.1859 -
 17.1860  			RelativePath="..\..\src\SDL_log.c"
 17.1861 -
 17.1862  			>
 17.1863 -
 17.1864  		</File>
 17.1865 -
 17.1866  		<File
 17.1867 -
 17.1868  			RelativePath="..\..\src\stdlib\SDL_malloc.c"
 17.1869 -
 17.1870  			>
 17.1871 -
 17.1872  		</File>
 17.1873 -
 17.1874  		<File
 17.1875 -
 17.1876  			RelativePath="..\..\src\audio\SDL_mixer.c"
 17.1877 -
 17.1878  			>
 17.1879 -
 17.1880  		</File>
 17.1881 -
 17.1882  		<File
 17.1883 -
 17.1884  			RelativePath="..\..\src\joystick\windows\SDL_mmjoystick.c"
 17.1885 -
 17.1886  			>
 17.1887 -
 17.1888  		</File>
 17.1889 -
 17.1890  		<File
 17.1891 -
 17.1892  			RelativePath="..\..\src\events\SDL_mouse.c"
 17.1893 -
 17.1894  			>
 17.1895 -
 17.1896  		</File>
 17.1897 -
 17.1898  		<File
 17.1899 -
 17.1900  			RelativePath="..\..\src\events\SDL_mouse_c.h"
 17.1901 -
 17.1902  			>
 17.1903 -
 17.1904  		</File>
 17.1905 -
 17.1906  		<File
 17.1907 -
 17.1908  			RelativePath="..\..\src\video\dummy\SDL_nullevents.c"
 17.1909 -
 17.1910  			>
 17.1911 -
 17.1912  		</File>
 17.1913 -
 17.1914  		<File
 17.1915 -
 17.1916  			RelativePath="..\..\src\video\dummy\SDL_nullevents_c.h"
 17.1917 -
 17.1918  			>
 17.1919 -
 17.1920  		</File>
 17.1921 -
 17.1922  		<File
 17.1923 -
 17.1924  			RelativePath="..\..\src\video\dummy\SDL_nullframebuffer.c"
 17.1925 -
 17.1926  			>
 17.1927 -
 17.1928  		</File>
 17.1929 -
 17.1930  		<File
 17.1931 -
 17.1932  			RelativePath="..\..\src\video\dummy\SDL_nullframebuffer_c.h"
 17.1933 -
 17.1934  			>
 17.1935 -
 17.1936  		</File>
 17.1937 -
 17.1938  		<File
 17.1939 -
 17.1940  			RelativePath="..\..\src\video\dummy\SDL_nullvideo.c"
 17.1941 -
 17.1942  			>
 17.1943 -
 17.1944  		</File>
 17.1945 -
 17.1946  		<File
 17.1947 -
 17.1948  			RelativePath="..\..\src\video\dummy\SDL_nullvideo.h"
 17.1949 -
 17.1950  			>
 17.1951 -
 17.1952  		</File>
 17.1953 -
 17.1954  		<File
 17.1955 -
 17.1956  			RelativePath="..\..\src\video\SDL_pixels.c"
 17.1957 -
 17.1958  			>
 17.1959 -
 17.1960  		</File>
 17.1961 -
 17.1962  		<File
 17.1963 -
 17.1964  			RelativePath="..\..\src\video\SDL_pixels_c.h"
 17.1965 -
 17.1966  			>
 17.1967 -
 17.1968  		</File>
 17.1969 -
 17.1970  		<File
 17.1971 -
 17.1972  			RelativePath="..\..\src\power\SDL_power.c"
 17.1973 -
 17.1974  			>
 17.1975 -
 17.1976  		</File>
 17.1977 -
 17.1978  		<File
 17.1979 -
 17.1980  			RelativePath="..\..\src\stdlib\SDL_qsort.c"
 17.1981 -
 17.1982  			>
 17.1983 -
 17.1984  		</File>
 17.1985 -
 17.1986  		<File
 17.1987 -
 17.1988  			RelativePath="..\..\src\events\SDL_quit.c"
 17.1989 -
 17.1990  			>
 17.1991 -
 17.1992  		</File>
 17.1993 -
 17.1994  		<File
 17.1995 -
 17.1996  			RelativePath="..\..\src\video\SDL_rect.c"
 17.1997 -
 17.1998  			>
 17.1999 -
 17.2000  		</File>
 17.2001 -
 17.2002  		<File
 17.2003 -
 17.2004  			RelativePath="..\..\src\video\SDL_rect_c.h"
 17.2005 -
 17.2006  			>
 17.2007 -
 17.2008  		</File>
 17.2009 -
 17.2010  		<File
 17.2011 -
 17.2012  			RelativePath="..\..\src\render\SDL_render.c"
 17.2013 -
 17.2014  			>
 17.2015 -
 17.2016  		</File>
 17.2017 -
 17.2018  		<File
 17.2019 -
 17.2020  			RelativePath="..\..\src\render\direct3d\SDL_render_d3d.c"
 17.2021 -
 17.2022  			>
 17.2023 -
 17.2024  		</File>
 17.2025 -
 17.2026  		<File
 17.2027 -
 17.2028  			RelativePath="..\..\src\render\opengl\SDL_render_gl.c"
 17.2029 -
 17.2030  			>
 17.2031 -
 17.2032  		</File>
 17.2033 -
 17.2034  		<File
 17.2035 -
 17.2036  			RelativePath="..\..\src\render\software\SDL_render_sw.c"
 17.2037 -
 17.2038  			>
 17.2039 -
 17.2040  		</File>
 17.2041 -
 17.2042  		<File
 17.2043 -
 17.2044  			RelativePath="..\..\src\render\software\SDL_render_sw_c.h"
 17.2045 -
 17.2046  			>
 17.2047 -
 17.2048  		</File>
 17.2049 -
 17.2050  		<File
 17.2051 -
 17.2052  			RelativePath="..\..\src\video\SDL_RLEaccel.c"
 17.2053 -
 17.2054  			>
 17.2055 -
 17.2056  		</File>
 17.2057 -
 17.2058  		<File
 17.2059 -
 17.2060  			RelativePath="..\..\src\video\SDL_RLEaccel_c.h"
 17.2061 -
 17.2062  			>
 17.2063 -
 17.2064  		</File>
 17.2065 -
 17.2066  		<File
 17.2067 -
 17.2068  			RelativePath="..\..\src\render\software\SDL_rotate.c"
 17.2069 -
 17.2070  			>
 17.2071 -
 17.2072  		</File>
 17.2073 -
 17.2074  		<File
 17.2075 -
 17.2076  			RelativePath="..\..\src\render\software\SDL_rotate.h"
 17.2077 -
 17.2078  			>
 17.2079 -
 17.2080  		</File>
 17.2081 -
 17.2082  		<File
 17.2083 -
 17.2084  			RelativePath="..\..\src\file\SDL_rwops.c"
 17.2085 -
 17.2086  			>
 17.2087 -
 17.2088  		</File>
 17.2089 -
 17.2090  		<File
 17.2091 -
 17.2092  			RelativePath="..\..\src\render\opengl\SDL_shaders_gl.c"
 17.2093 -
 17.2094  			>
 17.2095 -
 17.2096  		</File>
 17.2097 -
 17.2098  		<File
 17.2099 -
 17.2100  			RelativePath="..\..\src\render\opengl\SDL_shaders_gl.h"
 17.2101 -
 17.2102  			>
 17.2103 -
 17.2104  		</File>
 17.2105 -
 17.2106  		<File
 17.2107 -
 17.2108  			RelativePath="..\..\src\video\SDL_shape.c"
 17.2109 -
 17.2110  			>
 17.2111 -
 17.2112  		</File>
 17.2113 -
 17.2114  		<File
 17.2115 -
 17.2116  			RelativePath="..\..\src\video\SDL_shape_internals.h"
 17.2117 -
 17.2118  			>
 17.2119 -
 17.2120  		</File>
 17.2121 -
 17.2122  		<File
 17.2123 -
 17.2124  			RelativePath="..\..\src\atomic\SDL_spinlock.c"
 17.2125 -
 17.2126  			>
 17.2127 -
 17.2128  		</File>
 17.2129 -
 17.2130  		<File
 17.2131 -
 17.2132  			RelativePath="..\..\src\stdlib\SDL_stdlib.c"
 17.2133 -
 17.2134  			>
 17.2135 -
 17.2136  		</File>
 17.2137 -
 17.2138  		<File
 17.2139 -
 17.2140  			RelativePath="..\..\src\video\SDL_stretch.c"
 17.2141 -
 17.2142  			>
 17.2143 -
 17.2144  		</File>
 17.2145 -
 17.2146  		<File
 17.2147 -
 17.2148  			RelativePath="..\..\src\stdlib\SDL_string.c"
 17.2149 -
 17.2150  			>
 17.2151 -
 17.2152  		</File>
 17.2153 -
 17.2154  		<File
 17.2155 -
 17.2156  			RelativePath="..\..\src\video\SDL_surface.c"
 17.2157 -
 17.2158  			>
 17.2159 -
 17.2160  		</File>
 17.2161 -
 17.2162  		<File
 17.2163 -
 17.2164  			RelativePath="..\..\src\audio\SDL_sysaudio.h"
 17.2165 -
 17.2166  			>
 17.2167 -
 17.2168  		</File>
 17.2169 -
 17.2170  		<File
 17.2171 -
 17.2172  			RelativePath="..\..\src\thread\generic\SDL_syscond.c"
 17.2173 -
 17.2174  			>
 17.2175 -
 17.2176  		</File>
 17.2177 -
 17.2178  		<File
 17.2179 -
 17.2180  			RelativePath="..\..\src\events\SDL_sysevents.h"
 17.2181 -
 17.2182  			>
 17.2183 -
 17.2184  		</File>
 17.2185 -
 17.2186  		<File
 17.2187 -
 17.2188  			RelativePath="..\..\src\haptic\windows\SDL_syshaptic.c"
 17.2189 -
 17.2190  			>
 17.2191 -
 17.2192  		</File>
 17.2193 -
 17.2194  		<File
 17.2195 -
 17.2196  			RelativePath="..\..\src\haptic\SDL_syshaptic.h"
 17.2197 -
 17.2198  			>
 17.2199 -
 17.2200  		</File>
 17.2201 -
 17.2202  		<File
 17.2203 -
 17.2204  			RelativePath="..\..\src\joystick\SDL_sysjoystick.h"
 17.2205 -
 17.2206  			>
 17.2207 -
 17.2208  		</File>
 17.2209 -
 17.2210  		<File
 17.2211 -
 17.2212  			RelativePath="..\..\src\loadso\windows\SDL_sysloadso.c"
 17.2213 -
 17.2214  			>
 17.2215 -
 17.2216  		</File>
 17.2217 -
 17.2218  		<File
 17.2219 -
 17.2220  			RelativePath="..\..\src\thread\windows\SDL_sysmutex.c"
 17.2221 -
 17.2222  			>
 17.2223 -
 17.2224  		</File>
 17.2225 -
 17.2226  		<File
 17.2227 -
 17.2228  			RelativePath="..\..\src\power\windows\SDL_syspower.c"
 17.2229 -
 17.2230  			>
 17.2231 -
 17.2232  		</File>
 17.2233 -
 17.2234  		<File
 17.2235 -
 17.2236  			RelativePath="..\..\src\render\SDL_sysrender.h"
 17.2237 -
 17.2238  			>
 17.2239 -
 17.2240  		</File>
 17.2241 -
 17.2242  		<File
 17.2243 -
 17.2244  			RelativePath="..\..\src\thread\windows\SDL_syssem.c"
 17.2245 -
 17.2246  			>
 17.2247 -
 17.2248  		</File>
 17.2249 -
 17.2250  		<File
 17.2251 -
 17.2252  			RelativePath="..\..\src\thread\windows\SDL_systhread.c"
 17.2253 -
 17.2254  			>
 17.2255 -
 17.2256  		</File>
 17.2257 -
 17.2258  		<File
 17.2259 -
 17.2260  			RelativePath="..\..\src\thread\SDL_systhread.h"
 17.2261 -
 17.2262  			>
 17.2263 -
 17.2264  		</File>
 17.2265 -
 17.2266  		<File
 17.2267 -
 17.2268  			RelativePath="..\..\src\thread\windows\SDL_systhread_c.h"
 17.2269 -
 17.2270  			>
 17.2271 -
 17.2272  		</File>
 17.2273 -
 17.2274  		<File
 17.2275 -
 17.2276  			RelativePath="..\..\src\timer\windows\SDL_systimer.c"
 17.2277 -
 17.2278  			>
 17.2279 -
 17.2280  		</File>
 17.2281 -
 17.2282  		<File
 17.2283 -
 17.2284  			RelativePath="..\..\src\timer\SDL_systimer.h"
 17.2285 -
 17.2286  			>
 17.2287 -
 17.2288  		</File>
 17.2289 -
 17.2290  		<File
 17.2291 -
 17.2292  			RelativePath="..\..\src\video\SDL_sysvideo.h"
 17.2293 -
 17.2294  			>
 17.2295 -
 17.2296  		</File>
 17.2297 -
 17.2298  		<File
 17.2299 -
 17.2300  			RelativePath="..\..\src\thread\SDL_thread.c"
 17.2301 -
 17.2302  			>
 17.2303 -
 17.2304  		</File>
 17.2305 -
 17.2306  		<File
 17.2307 -
 17.2308  			RelativePath="..\..\src\thread\SDL_thread_c.h"
 17.2309 -
 17.2310  			>
 17.2311 -
 17.2312  		</File>
 17.2313 -
 17.2314  		<File
 17.2315 -
 17.2316  			RelativePath="..\..\src\timer\SDL_timer.c"
 17.2317 -
 17.2318  			>
 17.2319 -
 17.2320  		</File>
 17.2321 -
 17.2322  		<File
 17.2323 -
 17.2324  			RelativePath="..\..\src\timer\SDL_timer_c.h"
 17.2325 -
 17.2326  			>
 17.2327 -
 17.2328  		</File>
 17.2329 -
 17.2330  		<File
 17.2331 -
 17.2332  			RelativePath="..\..\src\events\SDL_touch.c"
 17.2333 -
 17.2334  			>
 17.2335 -
 17.2336  		</File>
 17.2337 -
 17.2338  		<File
 17.2339 -
 17.2340  			RelativePath="..\..\src\events\SDL_touch_c.h"
 17.2341 -
 17.2342  			>
 17.2343 -
 17.2344  		</File>
 17.2345 -
 17.2346  		<File
 17.2347 -
 17.2348  			RelativePath="..\..\src\video\SDL_video.c"
 17.2349 -
 17.2350  			>
 17.2351 -
 17.2352  		</File>
 17.2353 -
 17.2354  		<File
 17.2355 -
 17.2356  			RelativePath="..\..\src\video\windows\SDL_vkeys.h"
 17.2357 -
 17.2358  			>
 17.2359 -
 17.2360  		</File>
 17.2361 -
 17.2362  		<File
 17.2363 -
 17.2364  			RelativePath="..\..\src\audio\SDL_wave.c"
 17.2365 -
 17.2366  			>
 17.2367 -
 17.2368  		</File>
 17.2369 -
 17.2370  		<File
 17.2371 -
 17.2372  			RelativePath="..\..\src\audio\SDL_wave.h"
 17.2373 -
 17.2374  			>
 17.2375 -
 17.2376  		</File>
 17.2377 -
 17.2378  		<File
 17.2379 -
 17.2380  			RelativePath="..\..\src\events\SDL_windowevents.c"
 17.2381 -
 17.2382  			>
 17.2383 -
 17.2384  		</File>
 17.2385 -
 17.2386  		<File
 17.2387 -
 17.2388  			RelativePath="..\..\src\events\SDL_windowevents_c.h"
 17.2389 -
 17.2390  			>
 17.2391 -
 17.2392  		</File>
 17.2393 -
 17.2394  		<File
 17.2395 -
 17.2396  			RelativePath="..\..\src\core\windows\SDL_windows.c"
 17.2397 -
 17.2398  			>
 17.2399 -
 17.2400  		</File>
 17.2401 -
 17.2402  		<File
 17.2403 -
 17.2404  			RelativePath="..\..\src\core\windows\SDL_windows.h"
 17.2405 -
 17.2406  			>
 17.2407 -
 17.2408  		</File>
 17.2409 -
 17.2410  		<File
 17.2411 -
 17.2412  			RelativePath="..\..\src\video\windows\SDL_windowsclipboard.c"
 17.2413 -
 17.2414  			>
 17.2415 -
 17.2416  		</File>
 17.2417 -
 17.2418  		<File
 17.2419 -
 17.2420  			RelativePath="..\..\src\video\windows\SDL_windowsclipboard.h"
 17.2421 -
 17.2422  			>
 17.2423 -
 17.2424  		</File>
 17.2425 -
 17.2426  		<File
 17.2427 -
 17.2428  			RelativePath="..\..\src\video\windows\SDL_windowsevents.c"
 17.2429 -
 17.2430  			>
 17.2431 -
 17.2432  		</File>
 17.2433 -
 17.2434  		<File
 17.2435 -
 17.2436  			RelativePath="..\..\src\video\windows\SDL_windowsevents.h"
 17.2437 -
 17.2438  			>
 17.2439 -
 17.2440  		</File>
 17.2441 -
 17.2442  		<File
 17.2443 -
 17.2444  			RelativePath="..\..\src\video\windows\SDL_windowsframebuffer.c"
 17.2445 -
 17.2446  			>
 17.2447 -
 17.2448  		</File>
 17.2449 -
 17.2450  		<File
 17.2451 -
 17.2452  			RelativePath="..\..\src\video\windows\SDL_windowsframebuffer.h"
 17.2453 -
 17.2454  			>
 17.2455 -
 17.2456  		</File>
 17.2457 -
 17.2458  		<File
 17.2459 -
 17.2460  			RelativePath="..\..\src\video\windows\SDL_windowskeyboard.c"
 17.2461 -
 17.2462  			>
 17.2463 -
 17.2464  		</File>
 17.2465 -
 17.2466  		<File
 17.2467 -
 17.2468  			RelativePath="..\..\src\video\windows\SDL_windowskeyboard.h"
 17.2469 -
 17.2470  			>
 17.2471 -
 17.2472  		</File>
 17.2473 -
 17.2474  		<File
 17.2475 -
 17.2476  			RelativePath="..\..\src\video\windows\SDL_windowsmessagebox.c"
 17.2477 -
 17.2478  			>
 17.2479 -
 17.2480  		</File>
 17.2481 -
 17.2482  		<File
 17.2483 -
 17.2484  			RelativePath="..\..\src\video\windows\SDL_windowsmessagebox.h"
 17.2485 -
 17.2486  			>
 17.2487 -
 17.2488  		</File>
 17.2489 -
 17.2490  		<File
 17.2491 -
 17.2492  			RelativePath="..\..\src\video\windows\SDL_windowsmodes.c"
 17.2493 -
 17.2494  			>
 17.2495 -
 17.2496  		</File>
 17.2497 -
 17.2498  		<File
 17.2499 -
 17.2500  			RelativePath="..\..\src\video\windows\SDL_windowsmodes.h"
 17.2501 -
 17.2502  			>
 17.2503 -
 17.2504  		</File>
 17.2505 -
 17.2506  		<File
 17.2507 -
 17.2508  			RelativePath="..\..\src\video\windows\SDL_windowsmouse.c"
 17.2509 -
 17.2510  			>
 17.2511 -
 17.2512  		</File>
 17.2513 -
 17.2514  		<File
 17.2515 -
 17.2516  			RelativePath="..\..\src\video\windows\SDL_windowsmouse.h"
 17.2517 -
 17.2518  			>
 17.2519 -
 17.2520  		</File>
 17.2521 -
 17.2522  		<File
 17.2523 -
 17.2524  			RelativePath="..\..\src\video\windows\SDL_windowsopengl.c"
 17.2525 -
 17.2526  			>
 17.2527 -
 17.2528  		</File>
 17.2529 -
 17.2530  		<File
 17.2531 -
 17.2532  			RelativePath="..\..\src\video\windows\SDL_windowsopengl.h"
 17.2533 -
 17.2534  			>
 17.2535 -
 17.2536  		</File>
 17.2537 -
 17.2538  		<File
 17.2539 -
 17.2540  			RelativePath="..\..\src\video\windows\SDL_windowsshape.c"
 17.2541 -
 17.2542  			>
 17.2543 -
 17.2544  		</File>
 17.2545 -
 17.2546  		<File
 17.2547 -
 17.2548  			RelativePath="..\..\src\video\windows\SDL_windowsshape.h"
 17.2549 -
 17.2550  			>
 17.2551 -
 17.2552  		</File>
 17.2553 -
 17.2554  		<File
 17.2555 -
 17.2556  			RelativePath="..\..\src\video\windows\SDL_windowsvideo.c"
 17.2557 -
 17.2558  			>
 17.2559 -
 17.2560  		</File>
 17.2561 -
 17.2562  		<File
 17.2563 -
 17.2564  			RelativePath="..\..\src\video\windows\SDL_windowsvideo.h"
 17.2565 -
 17.2566  			>
 17.2567 -
 17.2568  		</File>
 17.2569 -
 17.2570  		<File
 17.2571 -
 17.2572  			RelativePath="..\..\src\video\windows\SDL_windowswindow.c"
 17.2573 -
 17.2574  			>
 17.2575 -
 17.2576  		</File>
 17.2577 -
 17.2578  		<File
 17.2579 -
 17.2580  			RelativePath="..\..\src\video\windows\SDL_windowswindow.h"
 17.2581 -
 17.2582  			>
 17.2583 -
 17.2584  		</File>
 17.2585 -
 17.2586  		<File
 17.2587 -
 17.2588  			RelativePath="..\..\src\audio\winmm\SDL_winmm.c"
 17.2589 -
 17.2590  			>
 17.2591 -
 17.2592  		</File>
 17.2593 -
 17.2594  		<File
 17.2595 -
 17.2596  			RelativePath="..\..\src\audio\winmm\SDL_winmm.h"
 17.2597 -
 17.2598  			>
 17.2599 -
 17.2600  		</File>
 17.2601 -
 17.2602  		<File
 17.2603 -
 17.2604  			RelativePath="..\..\src\audio\xaudio2\SDL_xaudio2.c"
 17.2605 -
 17.2606  			>
 17.2607 -
 17.2608  		</File>
 17.2609 -
 17.2610  		<File
 17.2611 -
 17.2612  			RelativePath="..\..\src\render\SDL_yuv_mmx.c"
 17.2613 -
 17.2614  			>
 17.2615 -
 17.2616  		</File>
 17.2617 -
 17.2618  		<File
 17.2619 -
 17.2620  			RelativePath="..\..\src\render\SDL_yuv_sw.c"
 17.2621 -
 17.2622  			>
 17.2623 -
 17.2624  		</File>
 17.2625 -
 17.2626  		<File
 17.2627 -
 17.2628  			RelativePath="..\..\src\render\SDL_yuv_sw_c.h"
 17.2629 -
 17.2630  			>
 17.2631 -
 17.2632  		</File>
 17.2633 -
 17.2634  		<File
 17.2635 -
 17.2636  			RelativePath="..\..\src\main\windows\version.rc"
 17.2637 -
 17.2638  			>
 17.2639 -
 17.2640  		</File>
 17.2641 -
 17.2642  		<File
 17.2643 -
 17.2644  			RelativePath="..\..\src\video\windows\wmmsg.h"
 17.2645 -
 17.2646  			>
 17.2647 -
 17.2648  		</File>
 17.2649 -
 17.2650  	</Files>
 17.2651 -
 17.2652  	<Globals>
 17.2653 -
 17.2654  	</Globals>
 17.2655 -
 17.2656  </VisualStudioProject>
 17.2657 -
    18.1 --- a/VisualC/SDL/SDL_VS2010.vcxproj	Sat Apr 13 23:03:46 2013 -0400
    18.2 +++ b/VisualC/SDL/SDL_VS2010.vcxproj	Sun Apr 14 11:42:55 2013 -0400
    18.3 @@ -92,6 +92,7 @@
    18.4        <SuppressStartupBanner>true</SuppressStartupBanner>
    18.5        <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
    18.6        <CompileAs>Default</CompileAs>
    18.7 +      <ExceptionHandling>false</ExceptionHandling>
    18.8      </ClCompile>
    18.9      <ResourceCompile>
   18.10        <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   18.11 @@ -123,6 +124,7 @@
   18.12        </PrecompiledHeader>
   18.13        <WarningLevel>Level3</WarningLevel>
   18.14        <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
   18.15 +      <ExceptionHandling>false</ExceptionHandling>
   18.16      </ClCompile>
   18.17      <ResourceCompile>
   18.18        <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   18.19 @@ -159,6 +161,7 @@
   18.20        <WarningLevel>Level3</WarningLevel>
   18.21        <SuppressStartupBanner>true</SuppressStartupBanner>
   18.22        <CompileAs>Default</CompileAs>
   18.23 +      <ExceptionHandling>false</ExceptionHandling>
   18.24      </ClCompile>
   18.25      <ResourceCompile>
   18.26        <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   18.27 @@ -170,6 +173,8 @@
   18.28        <SubSystem>Windows</SubSystem>
   18.29        <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
   18.30        <GenerateDebugInformation>true</GenerateDebugInformation>
   18.31 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
   18.32 +      <OptimizeReferences>true</OptimizeReferences>
   18.33      </Link>
   18.34    </ItemDefinitionGroup>
   18.35    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   18.36 @@ -191,6 +196,7 @@
   18.37        <PrecompiledHeader>
   18.38        </PrecompiledHeader>
   18.39        <WarningLevel>Level3</WarningLevel>
   18.40 +      <ExceptionHandling>false</ExceptionHandling>
   18.41      </ClCompile>
   18.42      <ResourceCompile>
   18.43        <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   18.44 @@ -201,6 +207,9 @@
   18.45        <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
   18.46        <SubSystem>Windows</SubSystem>
   18.47        <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
   18.48 +      <GenerateDebugInformation>true</GenerateDebugInformation>
   18.49 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
   18.50 +      <OptimizeReferences>true</OptimizeReferences>
   18.51      </Link>
   18.52    </ItemDefinitionGroup>
   18.53    <ItemGroup>
   18.54 @@ -451,4 +460,4 @@
   18.55    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   18.56    <ImportGroup Label="ExtensionTargets">
   18.57    </ImportGroup>
   18.58 -</Project>
   18.59 +</Project>
   18.60 \ No newline at end of file
    19.1 --- a/VisualC/SDL/SDL_VS2012.vcxproj	Sat Apr 13 23:03:46 2013 -0400
    19.2 +++ b/VisualC/SDL/SDL_VS2012.vcxproj	Sun Apr 14 11:42:55 2013 -0400
    19.3 @@ -1,457 +1,467 @@
    19.4 -<?xml version="1.0" encoding="utf-8"?>
    19.5 -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    19.6 -  <ItemGroup Label="ProjectConfigurations">
    19.7 -    <ProjectConfiguration Include="Debug|Win32">
    19.8 -      <Configuration>Debug</Configuration>
    19.9 -      <Platform>Win32</Platform>
   19.10 -    </ProjectConfiguration>
   19.11 -    <ProjectConfiguration Include="Debug|x64">
   19.12 -      <Configuration>Debug</Configuration>
   19.13 -      <Platform>x64</Platform>
   19.14 -    </ProjectConfiguration>
   19.15 -    <ProjectConfiguration Include="Release|Win32">
   19.16 -      <Configuration>Release</Configuration>
   19.17 -      <Platform>Win32</Platform>
   19.18 -    </ProjectConfiguration>
   19.19 -    <ProjectConfiguration Include="Release|x64">
   19.20 -      <Configuration>Release</Configuration>
   19.21 -      <Platform>x64</Platform>
   19.22 -    </ProjectConfiguration>
   19.23 -  </ItemGroup>
   19.24 -  <PropertyGroup Label="Globals">
   19.25 -    <ProjectName>SDL</ProjectName>
   19.26 -    <ProjectGuid>{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}</ProjectGuid>
   19.27 -    <RootNamespace>SDL</RootNamespace>
   19.28 -  </PropertyGroup>
   19.29 -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   19.30 -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
   19.31 -    <ConfigurationType>DynamicLibrary</ConfigurationType>
   19.32 -    <UseOfMfc>false</UseOfMfc>
   19.33 -    <PlatformToolset>v110</PlatformToolset>
   19.34 -  </PropertyGroup>
   19.35 -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
   19.36 -    <ConfigurationType>DynamicLibrary</ConfigurationType>
   19.37 -    <UseOfMfc>false</UseOfMfc>
   19.38 -    <PlatformToolset>v110</PlatformToolset>
   19.39 -  </PropertyGroup>
   19.40 -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
   19.41 -    <ConfigurationType>DynamicLibrary</ConfigurationType>
   19.42 -    <UseOfMfc>false</UseOfMfc>
   19.43 -    <PlatformToolset>v110</PlatformToolset>
   19.44 -  </PropertyGroup>
   19.45 -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
   19.46 -    <ConfigurationType>DynamicLibrary</ConfigurationType>
   19.47 -    <UseOfMfc>false</UseOfMfc>
   19.48 -    <CharacterSet>MultiByte</CharacterSet>
   19.49 -    <PlatformToolset>v110</PlatformToolset>
   19.50 -  </PropertyGroup>
   19.51 -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   19.52 -  <ImportGroup Label="ExtensionSettings">
   19.53 -  </ImportGroup>
   19.54 -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
   19.55 -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   19.56 -    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
   19.57 -  </ImportGroup>
   19.58 -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
   19.59 -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   19.60 -    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
   19.61 -  </ImportGroup>
   19.62 -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
   19.63 -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   19.64 -    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
   19.65 -  </ImportGroup>
   19.66 -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
   19.67 -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   19.68 -    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
   19.69 -  </ImportGroup>
   19.70 -  <PropertyGroup Label="UserMacros" />
   19.71 -  <PropertyGroup>
   19.72 -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
   19.73 -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir>
   19.74 -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
   19.75 -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
   19.76 -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
   19.77 -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir>
   19.78 -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
   19.79 -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
   19.80 -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
   19.81 -  </PropertyGroup>
   19.82 -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
   19.83 -    <PreBuildEvent />
   19.84 -    <Midl>
   19.85 -      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   19.86 -      <MkTypLibCompatible>true</MkTypLibCompatible>
   19.87 -      <SuppressStartupBanner>true</SuppressStartupBanner>
   19.88 -      <TargetEnvironment>Win32</TargetEnvironment>
   19.89 -    </Midl>
   19.90 -    <ClCompile>
   19.91 -      <Optimization>Disabled</Optimization>
   19.92 -      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
   19.93 -      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
   19.94 -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
   19.95 -      <BufferSecurityCheck>false</BufferSecurityCheck>
   19.96 -      <PrecompiledHeader>
   19.97 -      </PrecompiledHeader>
   19.98 -      <WarningLevel>Level3</WarningLevel>
   19.99 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.100 -      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
  19.101 -      <CompileAs>Default</CompileAs>
  19.102 -    </ClCompile>
  19.103 -    <ResourceCompile>
  19.104 -      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.105 -      <Culture>0x0409</Culture>
  19.106 -    </ResourceCompile>
  19.107 -    <Link>
  19.108 -      <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  19.109 -      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  19.110 -      <GenerateDebugInformation>true</GenerateDebugInformation>
  19.111 -      <SubSystem>Windows</SubSystem>
  19.112 -      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  19.113 -      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  19.114 -    </Link>
  19.115 -  </ItemDefinitionGroup>
  19.116 -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  19.117 -    <Midl>
  19.118 -      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.119 -      <MkTypLibCompatible>true</MkTypLibCompatible>
  19.120 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.121 -      <TargetEnvironment>X64</TargetEnvironment>
  19.122 -    </Midl>
  19.123 -    <ClCompile>
  19.124 -      <Optimization>Disabled</Optimization>
  19.125 -      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  19.126 -      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.127 -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  19.128 -      <BufferSecurityCheck>false</BufferSecurityCheck>
  19.129 -      <PrecompiledHeader>
  19.130 -      </PrecompiledHeader>
  19.131 -      <WarningLevel>Level3</WarningLevel>
  19.132 -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  19.133 -    </ClCompile>
  19.134 -    <ResourceCompile>
  19.135 -      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.136 -      <Culture>0x0409</Culture>
  19.137 -    </ResourceCompile>
  19.138 -    <Link>
  19.139 -      <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  19.140 -      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  19.141 -      <GenerateDebugInformation>true</GenerateDebugInformation>
  19.142 -      <SubSystem>Windows</SubSystem>
  19.143 -      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  19.144 -      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  19.145 -    </Link>
  19.146 -  </ItemDefinitionGroup>
  19.147 -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  19.148 -    <PreBuildEvent />
  19.149 -    <Midl>
  19.150 -      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.151 -      <MkTypLibCompatible>true</MkTypLibCompatible>
  19.152 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.153 -      <TargetEnvironment>Win32</TargetEnvironment>
  19.154 -    </Midl>
  19.155 -    <ClCompile>
  19.156 -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  19.157 -      <IntrinsicFunctions>false</IntrinsicFunctions>
  19.158 -      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  19.159 -      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.160 -      <StringPooling>true</StringPooling>
  19.161 -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  19.162 -      <BufferSecurityCheck>false</BufferSecurityCheck>
  19.163 -      <FunctionLevelLinking>true</FunctionLevelLinking>
  19.164 -      <PrecompiledHeader>
  19.165 -      </PrecompiledHeader>
  19.166 -      <WarningLevel>Level3</WarningLevel>
  19.167 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.168 -      <CompileAs>Default</CompileAs>
  19.169 -    </ClCompile>
  19.170 -    <ResourceCompile>
  19.171 -      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.172 -      <Culture>0x0409</Culture>
  19.173 -    </ResourceCompile>
  19.174 -    <Link>
  19.175 -      <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  19.176 -      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  19.177 -      <SubSystem>Windows</SubSystem>
  19.178 -      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  19.179 -    </Link>
  19.180 -  </ItemDefinitionGroup>
  19.181 -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  19.182 -    <Midl>
  19.183 -      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.184 -      <MkTypLibCompatible>true</MkTypLibCompatible>
  19.185 -      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.186 -      <TargetEnvironment>X64</TargetEnvironment>
  19.187 -    </Midl>
  19.188 -    <ClCompile>
  19.189 -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  19.190 -      <IntrinsicFunctions>false</IntrinsicFunctions>
  19.191 -      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  19.192 -      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.193 -      <StringPooling>true</StringPooling>
  19.194 -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  19.195 -      <BufferSecurityCheck>false</BufferSecurityCheck>
  19.196 -      <FunctionLevelLinking>true</FunctionLevelLinking>
  19.197 -      <PrecompiledHeader>
  19.198 -      </PrecompiledHeader>
  19.199 -      <WarningLevel>Level3</WarningLevel>
  19.200 -    </ClCompile>
  19.201 -    <ResourceCompile>
  19.202 -      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.203 -      <Culture>0x0409</Culture>
  19.204 -    </ResourceCompile>
  19.205 -    <Link>
  19.206 -      <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  19.207 -      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  19.208 -      <SubSystem>Windows</SubSystem>
  19.209 -      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  19.210 -    </Link>
  19.211 -  </ItemDefinitionGroup>
  19.212 -  <ItemGroup>
  19.213 -    <ClInclude Include="..\..\include\SDL.h" />
  19.214 -    <ClInclude Include="..\..\include\SDL_assert.h" />
  19.215 -    <ClInclude Include="..\..\include\SDL_atomic.h" />
  19.216 -    <ClInclude Include="..\..\include\SDL_audio.h" />
  19.217 -    <ClInclude Include="..\..\include\SDL_bits.h" />
  19.218 -    <ClInclude Include="..\..\include\SDL_blendmode.h" />
  19.219 -    <ClInclude Include="..\..\include\SDL_clipboard.h" />
  19.220 -    <ClInclude Include="..\..\include\SDL_config.h" />
  19.221 -    <ClInclude Include="..\..\include\SDL_config_windows.h" />
  19.222 -    <ClInclude Include="..\..\include\SDL_copying.h" />
  19.223 -    <ClInclude Include="..\..\include\SDL_cpuinfo.h" />
  19.224 -    <ClInclude Include="..\..\include\SDL_endian.h" />
  19.225 -    <ClInclude Include="..\..\include\SDL_error.h" />
  19.226 -    <ClInclude Include="..\..\include\SDL_events.h" />
  19.227 -    <ClInclude Include="..\..\include\SDL_gesture.h" />
  19.228 -    <ClInclude Include="..\..\include\SDL_haptic.h" />
  19.229 -    <ClInclude Include="..\..\include\SDL_hints.h" />
  19.230 -    <ClInclude Include="..\..\include\SDL_joystick.h" />
  19.231 -    <ClInclude Include="..\..\include\SDL_keyboard.h" />
  19.232 -    <ClInclude Include="..\..\include\SDL_keycode.h" />
  19.233 -    <ClInclude Include="..\..\include\SDL_loadso.h" />
  19.234 -    <ClInclude Include="..\..\include\SDL_log.h" />
  19.235 -    <ClInclude Include="..\..\include\SDL_main.h" />
  19.236 -    <ClInclude Include="..\..\include\SDL_mouse.h" />
  19.237 -    <ClInclude Include="..\..\include\SDL_mutex.h" />
  19.238 -    <ClInclude Include="..\..\include\SDL_name.h" />
  19.239 -    <ClInclude Include="..\..\include\SDL_opengl.h" />
  19.240 -    <ClInclude Include="..\..\include\SDL_opengles.h" />
  19.241 -    <ClInclude Include="..\..\include\SDL_pixels.h" />
  19.242 -    <ClInclude Include="..\..\include\SDL_platform.h" />
  19.243 -    <ClInclude Include="..\..\include\SDL_power.h" />
  19.244 -    <ClInclude Include="..\..\include\SDL_quit.h" />
  19.245 -    <ClInclude Include="..\..\include\SDL_rect.h" />
  19.246 -    <ClInclude Include="..\..\include\SDL_render.h" />
  19.247 -    <ClInclude Include="..\..\include\SDL_revision.h" />
  19.248 -    <ClInclude Include="..\..\include\SDL_rwops.h" />
  19.249 -    <ClInclude Include="..\..\include\SDL_scancode.h" />
  19.250 -    <ClInclude Include="..\..\include\SDL_shape.h" />
  19.251 -    <ClInclude Include="..\..\include\SDL_stdinc.h" />
  19.252 -    <ClInclude Include="..\..\include\SDL_surface.h" />
  19.253 -    <ClInclude Include="..\..\include\SDL_system.h" />
  19.254 -    <ClInclude Include="..\..\include\SDL_syswm.h" />
  19.255 -    <ClInclude Include="..\..\include\SDL_thread.h" />
  19.256 -    <ClInclude Include="..\..\include\SDL_timer.h" />
  19.257 -    <ClInclude Include="..\..\include\SDL_touch.h" />
  19.258 -    <ClInclude Include="..\..\include\SDL_types.h" />
  19.259 -    <ClInclude Include="..\..\include\SDL_version.h" />
  19.260 -    <ClInclude Include="..\..\include\SDL_video.h" />
  19.261 -    <ClInclude Include="..\..\include\SDL_gamecontroller.h" />
  19.262 -    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
  19.263 -    <ClInclude Include="..\..\src\events\blank_cursor.h" />
  19.264 -    <ClInclude Include="..\..\src\events\default_cursor.h" />
  19.265 -    <ClInclude Include="..\..\src\audio\directsound\directx.h" />
  19.266 -    <ClInclude Include="..\..\src\events\SDL_clipboardevents_c.h" />
  19.267 -    <ClInclude Include="..\..\src\events\SDL_gesture_c.h" />
  19.268 -    <ClInclude Include="..\..\src\events\SDL_touch_c.h" />
  19.269 -    <ClInclude Include="..\..\src\libm\math.h" />
  19.270 -    <ClInclude Include="..\..\src\libm\math_private.h" />
  19.271 -    <ClInclude Include="..\..\src\render\mmx.h" />
  19.272 -    <ClInclude Include="..\..\src\render\opengl\SDL_shaders_gl.h" />
  19.273 -    <ClInclude Include="..\..\src\render\SDL_sysrender.h" />
  19.274 -    <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h" />
  19.275 -    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
  19.276 -    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
  19.277 -    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
  19.278 -    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
  19.279 -    <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
  19.280 -    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
  19.281 -    <ClInclude Include="..\..\src\render\software\SDL_draw.h" />
  19.282 -    <ClInclude Include="..\..\src\render\software\SDL_drawline.h" />
  19.283 -    <ClInclude Include="..\..\src\render\software\SDL_drawpoint.h" />
  19.284 -    <ClInclude Include="..\..\src\events\SDL_dropevents_c.h" />
  19.285 -    <ClInclude Include="..\..\src\render\software\SDL_render_sw_c.h" />
  19.286 -    <ClInclude Include="..\..\src\render\software\SDL_rotate.h" />
  19.287 -    <ClInclude Include="..\..\src\video\dummy\SDL_nullframebuffer_c.h" />
  19.288 -    <ClInclude Include="..\..\src\video\SDL_blit.h" />
  19.289 -    <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
  19.290 -    <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
  19.291 -    <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />
  19.292 -    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
  19.293 -    <ClInclude Include="..\..\src\audio\winmm\SDL_winmm.h" />
  19.294 -    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
  19.295 -    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
  19.296 -    <ClInclude Include="..\..\src\audio\directsound\SDL_directsound.h" />
  19.297 -    <ClInclude Include="..\..\src\SDL_error_c.h" />
  19.298 -    <ClInclude Include="..\..\src\SDL_hints_c.h" />
  19.299 -    <ClInclude Include="..\..\src\events\SDL_events_c.h" />
  19.300 -    <ClInclude Include="..\..\src\SDL_fatal.h" />
  19.301 -    <ClInclude Include="..\..\src\video\SDL_glesfuncs.h" />
  19.302 -    <ClInclude Include="..\..\src\video\SDL_glfuncs.h" />
  19.303 -    <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
  19.304 -    <ClInclude Include="..\..\src\events\SDL_keyboard_c.h" />
  19.305 -    <ClInclude Include="..\..\src\events\SDL_mouse_c.h" />
  19.306 -    <ClInclude Include="..\..\src\video\dummy\SDL_nullevents_c.h" />
  19.307 -    <ClInclude Include="..\..\src\video\dummy\SDL_nullvideo.h" />
  19.308 -    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
  19.309 -    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
  19.310 -    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
  19.311 -    <ClInclude Include="..\..\src\video\SDL_stretch_c.h" />
  19.312 -    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
  19.313 -    <ClInclude Include="..\..\src\events\SDL_sysevents.h" />
  19.314 -    <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h" />
  19.315 -    <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
  19.316 -    <ClInclude Include="..\..\src\thread\SDL_systhread.h" />
  19.317 -    <ClInclude Include="..\..\src\thread\windows\SDL_systhread_c.h" />
  19.318 -    <ClInclude Include="..\..\src\timer\SDL_systimer.h" />
  19.319 -    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
  19.320 -    <ClInclude Include="..\..\src\thread\SDL_thread_c.h" />
  19.321 -    <ClInclude Include="..\..\src\timer\SDL_timer_c.h" />
  19.322 -    <ClInclude Include="..\..\src\video\windows\SDL_vkeys.h" />
  19.323 -    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
  19.324 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsclipboard.h" />
  19.325 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsevents.h" />
  19.326 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsframebuffer.h" />
  19.327 -    <ClInclude Include="..\..\src\video\windows\SDL_windowskeyboard.h" />
  19.328 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsmessagebox.h" />
  19.329 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsmodes.h" />
  19.330 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsmouse.h" />
  19.331 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsopengl.h" />
  19.332 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsshape.h" />
  19.333 -    <ClInclude Include="..\..\src\video\windows\SDL_windowsvideo.h" />
  19.334 -    <ClInclude Include="..\..\src\video\windows\SDL_windowswindow.h" />
  19.335 -    <ClInclude Include="..\..\src\events\SDL_windowevents_c.h" />
  19.336 -    <ClInclude Include="..\..\src\video\windows\wmmsg.h" />
  19.337 -    <ClInclude Include="resource.h" />
  19.338 -  </ItemGroup>
  19.339 -  <ItemGroup>
  19.340 -    <ClCompile Include="..\..\src\core\windows\SDL_windows.c" />
  19.341 -    <ClCompile Include="..\..\src\events\SDL_clipboardevents.c" />
  19.342 -    <ClCompile Include="..\..\src\events\SDL_gesture.c" />
  19.343 -    <ClCompile Include="..\..\src\events\SDL_touch.c" />
  19.344 -    <ClCompile Include="..\..\src\libm\e_atan2.c" />
  19.345 -    <ClCompile Include="..\..\src\libm\e_log.c" />
  19.346 -    <ClCompile Include="..\..\src\libm\e_pow.c" />
  19.347 -    <ClCompile Include="..\..\src\libm\e_rem_pio2.c" />
  19.348 -    <ClCompile Include="..\..\src\libm\e_sqrt.c" />
  19.349 -    <ClCompile Include="..\..\src\libm\k_cos.c" />
  19.350 -    <ClCompile Include="..\..\src\libm\k_rem_pio2.c" />
  19.351 -    <ClCompile Include="..\..\src\libm\k_sin.c" />
  19.352 -    <ClCompile Include="..\..\src\libm\s_atan.c" />
  19.353 -    <ClCompile Include="..\..\src\libm\s_copysign.c" />
  19.354 -    <ClCompile Include="..\..\src\libm\s_cos.c" />
  19.355 -    <ClCompile Include="..\..\src\libm\s_fabs.c" />
  19.356 -    <ClCompile Include="..\..\src\libm\s_floor.c" />
  19.357 -    <ClCompile Include="..\..\src\libm\s_scalbn.c" />
  19.358 -    <ClCompile Include="..\..\src\libm\s_sin.c" />
  19.359 -    <ClCompile Include="..\..\src\render\direct3d\SDL_render_d3d.c" />
  19.360 -    <ClCompile Include="..\..\src\render\opengl\SDL_render_gl.c" />
  19.361 -    <ClCompile Include="..\..\src\render\opengl\SDL_shaders_gl.c" />
  19.362 -    <ClCompile Include="..\..\src\render\SDL_render.c" />
  19.363 -    <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c" />
  19.364 -    <ClCompile Include="..\..\src\render\SDL_yuv_sw.c" />
  19.365 -    <ClCompile Include="..\..\src\render\software\SDL_blendfillrect.c" />
  19.366 -    <ClCompile Include="..\..\src\render\software\SDL_blendline.c" />
  19.367 -    <ClCompile Include="..\..\src\render\software\SDL_blendpoint.c" />
  19.368 -    <ClCompile Include="..\..\src\render\software\SDL_drawline.c" />
  19.369 -    <ClCompile Include="..\..\src\render\software\SDL_drawpoint.c" />
  19.370 -    <ClCompile Include="..\..\src\render\software\SDL_render_sw.c" />
  19.371 -    <ClCompile Include="..\..\src\render\software\SDL_rotate.c" />
  19.372 -    <ClCompile Include="..\..\src\SDL.c" />
  19.373 -    <ClCompile Include="..\..\src\SDL_assert.c" />
  19.374 -    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
  19.375 -    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c" />
  19.376 -    <ClCompile Include="..\..\src\audio\SDL_audio.c" />
  19.377 -    <ClCompile Include="..\..\src\audio\SDL_audiocvt.c" />
  19.378 -    <ClCompile Include="..\..\src\audio\SDL_audiodev.c" />
  19.379 -    <ClCompile Include="..\..\src\audio\SDL_audiotypecvt.c" />
  19.380 -    <ClCompile Include="..\..\src\SDL_hints.c" />
  19.381 -    <ClCompile Include="..\..\src\SDL_log.c" />
  19.382 -    <ClCompile Include="..\..\src\video\dummy\SDL_nullframebuffer.c" />
  19.383 -    <ClCompile Include="..\..\src\video\SDL_blit.c" />
  19.384 -    <ClCompile Include="..\..\src\video\SDL_blit_0.c" />
  19.385 -    <ClCompile Include="..\..\src\video\SDL_blit_1.c" />
  19.386 -    <ClCompile Include="..\..\src\video\SDL_blit_A.c" />
  19.387 -    <ClCompile Include="..\..\src\video\SDL_blit_auto.c" />
  19.388 -    <ClCompile Include="..\..\src\video\SDL_blit_copy.c" />
  19.389 -    <ClCompile Include="..\..\src\video\SDL_blit_N.c" />
  19.390 -    <ClCompile Include="..\..\src\video\SDL_blit_slow.c" />
  19.391 -    <ClCompile Include="..\..\src\video\SDL_bmp.c" />
  19.392 -    <ClCompile Include="..\..\src\cpuinfo\SDL_cpuinfo.c" />
  19.393 -    <ClCompile Include="..\..\src\video\SDL_clipboard.c" />
  19.394 -    <ClCompile Include="..\..\src\video\SDL_shape.c" />
  19.395 -    <ClCompile Include="..\..\src\audio\winmm\SDL_winmm.c" />
  19.396 -    <ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c" />
  19.397 -    <ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c" />
  19.398 -    <ClCompile Include="..\..\src\audio\directsound\SDL_directsound.c" />
  19.399 -    <ClCompile Include="..\..\src\events\SDL_dropevents.c" />
  19.400 -    <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c" />
  19.401 -    <ClCompile Include="..\..\src\joystick\windows\SDL_dxjoystick.c" />
  19.402 -    <ClCompile Include="..\..\src\SDL_error.c" />
  19.403 -    <ClCompile Include="..\..\src\events\SDL_events.c" />
  19.404 -    <ClCompile Include="..\..\src\SDL_fatal.c" />
  19.405 -    <ClCompile Include="..\..\src\video\SDL_fillrect.c" />
  19.406 -    <ClCompile Include="..\..\src\stdlib\SDL_getenv.c" />
  19.407 -    <ClCompile Include="..\..\src\haptic\SDL_haptic.c" />
  19.408 -    <ClCompile Include="..\..\src\stdlib\SDL_iconv.c" />
  19.409 -    <ClCompile Include="..\..\src\joystick\SDL_joystick.c" />
  19.410 -    <ClCompile Include="..\..\src\events\SDL_keyboard.c" />
  19.411 -    <ClCompile Include="..\..\src\stdlib\SDL_malloc.c" />
  19.412 -    <ClCompile Include="..\..\src\audio\SDL_mixer.c" />
  19.413 -    <ClCompile Include="..\..\src\joystick\windows\SDL_mmjoystick.c" />
  19.414 -    <ClCompile Include="..\..\src\events\SDL_mouse.c" />
  19.415 -    <ClCompile Include="..\..\src\video\dummy\SDL_nullevents.c" />
  19.416 -    <ClCompile Include="..\..\src\video\dummy\SDL_nullvideo.c" />
  19.417 -    <ClCompile Include="..\..\src\video\SDL_pixels.c" />
  19.418 -    <ClCompile Include="..\..\src\power\SDL_power.c" />
  19.419 -    <ClCompile Include="..\..\src\stdlib\SDL_qsort.c" />
  19.420 -    <ClCompile Include="..\..\src\events\SDL_quit.c" />
  19.421 -    <ClCompile Include="..\..\src\video\SDL_rect.c" />
  19.422 -    <ClCompile Include="..\..\src\video\SDL_RLEaccel.c" />
  19.423 -    <ClCompile Include="..\..\src\file\SDL_rwops.c" />
  19.424 -    <ClCompile Include="..\..\src\stdlib\SDL_stdlib.c" />
  19.425 -    <ClCompile Include="..\..\src\video\SDL_stretch.c" />
  19.426 -    <ClCompile Include="..\..\src\stdlib\SDL_string.c" />
  19.427 -    <ClCompile Include="..\..\src\video\SDL_surface.c" />
  19.428 -    <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c" />
  19.429 -    <ClCompile Include="..\..\src\haptic\windows\SDL_syshaptic.c" />
  19.430 -    <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c" />
  19.431 -    <ClCompile Include="..\..\src\thread\windows\SDL_sysmutex.c" />
  19.432 -    <ClCompile Include="..\..\src\power\windows\SDL_syspower.c" />
  19.433 -    <ClCompile Include="..\..\src\thread\windows\SDL_syssem.c" />
  19.434 -    <ClCompile Include="..\..\src\thread\windows\SDL_systhread.c" />
  19.435 -    <ClCompile Include="..\..\src\timer\windows\SDL_systimer.c" />
  19.436 -    <ClCompile Include="..\..\src\thread\SDL_thread.c" />
  19.437 -    <ClCompile Include="..\..\src\timer\SDL_timer.c" />
  19.438 -    <ClCompile Include="..\..\src\video\SDL_video.c" />
  19.439 -    <ClCompile Include="..\..\src\audio\SDL_wave.c" />
  19.440 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsclipboard.c" />
  19.441 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsevents.c" />
  19.442 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsframebuffer.c" />
  19.443 -    <ClCompile Include="..\..\src\video\windows\SDL_windowskeyboard.c" />
  19.444 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsmessagebox.c" />
  19.445 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsmodes.c" />
  19.446 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsmouse.c" />
  19.447 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsopengl.c" />
  19.448 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsshape.c" />
  19.449 -    <ClCompile Include="..\..\src\video\windows\SDL_windowsvideo.c" />
  19.450 -    <ClCompile Include="..\..\src\video\windows\SDL_windowswindow.c" />
  19.451 -    <ClCompile Include="..\..\src\events\SDL_windowevents.c" />
  19.452 -    <ClCompile Include="..\..\src\joystick\SDL_gamecontroller.c" />
  19.453 -  </ItemGroup>
  19.454 -  <ItemGroup>
  19.455 -    <ResourceCompile Include="..\..\src\main\windows\version.rc" />
  19.456 -  </ItemGroup>
  19.457 -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  19.458 -  <ImportGroup Label="ExtensionTargets">
  19.459 -  </ImportGroup>
  19.460 -</Project>
  19.461 +<?xml version="1.0" encoding="utf-8"?>
  19.462 +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  19.463 +  <ItemGroup Label="ProjectConfigurations">
  19.464 +    <ProjectConfiguration Include="Debug|Win32">
  19.465 +      <Configuration>Debug</Configuration>
  19.466 +      <Platform>Win32</Platform>
  19.467 +    </ProjectConfiguration>
  19.468 +    <ProjectConfiguration Include="Debug|x64">
  19.469 +      <Configuration>Debug</Configuration>
  19.470 +      <Platform>x64</Platform>
  19.471 +    </ProjectConfiguration>
  19.472 +    <ProjectConfiguration Include="Release|Win32">
  19.473 +      <Configuration>Release</Configuration>
  19.474 +      <Platform>Win32</Platform>
  19.475 +    </ProjectConfiguration>
  19.476 +    <ProjectConfiguration Include="Release|x64">
  19.477 +      <Configuration>Release</Configuration>
  19.478 +      <Platform>x64</Platform>
  19.479 +    </ProjectConfiguration>
  19.480 +  </ItemGroup>
  19.481 +  <PropertyGroup Label="Globals">
  19.482 +    <ProjectName>SDL</ProjectName>
  19.483 +    <ProjectGuid>{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}</ProjectGuid>
  19.484 +    <RootNamespace>SDL</RootNamespace>
  19.485 +  </PropertyGroup>
  19.486 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  19.487 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
  19.488 +    <ConfigurationType>DynamicLibrary</ConfigurationType>
  19.489 +    <UseOfMfc>false</UseOfMfc>
  19.490 +    <PlatformToolset>v110</PlatformToolset>
  19.491 +  </PropertyGroup>
  19.492 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
  19.493 +    <ConfigurationType>DynamicLibrary</ConfigurationType>
  19.494 +    <UseOfMfc>false</UseOfMfc>
  19.495 +    <PlatformToolset>v110</PlatformToolset>
  19.496 +  </PropertyGroup>
  19.497 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
  19.498 +    <ConfigurationType>DynamicLibrary</ConfigurationType>
  19.499 +    <UseOfMfc>false</UseOfMfc>
  19.500 +    <PlatformToolset>v110</PlatformToolset>
  19.501 +  </PropertyGroup>
  19.502 +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
  19.503 +    <ConfigurationType>DynamicLibrary</ConfigurationType>
  19.504 +    <UseOfMfc>false</UseOfMfc>
  19.505 +    <CharacterSet>MultiByte</CharacterSet>
  19.506 +    <PlatformToolset>v110</PlatformToolset>
  19.507 +  </PropertyGroup>
  19.508 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  19.509 +  <ImportGroup Label="ExtensionSettings">
  19.510 +  </ImportGroup>
  19.511 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
  19.512 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  19.513 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  19.514 +  </ImportGroup>
  19.515 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
  19.516 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  19.517 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  19.518 +  </ImportGroup>
  19.519 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
  19.520 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  19.521 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  19.522 +  </ImportGroup>
  19.523 +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
  19.524 +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  19.525 +    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
  19.526 +  </ImportGroup>
  19.527 +  <PropertyGroup Label="UserMacros" />
  19.528 +  <PropertyGroup>
  19.529 +    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
  19.530 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir>
  19.531 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
  19.532 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
  19.533 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
  19.534 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir>
  19.535 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
  19.536 +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
  19.537 +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
  19.538 +  </PropertyGroup>
  19.539 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  19.540 +    <PreBuildEvent />
  19.541 +    <Midl>
  19.542 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.543 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  19.544 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.545 +      <TargetEnvironment>Win32</TargetEnvironment>
  19.546 +    </Midl>
  19.547 +    <ClCompile>
  19.548 +      <Optimization>Disabled</Optimization>
  19.549 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  19.550 +      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.551 +      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  19.552 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  19.553 +      <PrecompiledHeader>
  19.554 +      </PrecompiledHeader>
  19.555 +      <WarningLevel>Level3</WarningLevel>
  19.556 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.557 +      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
  19.558 +      <CompileAs>Default</CompileAs>
  19.559 +      <ExceptionHandling>false</ExceptionHandling>
  19.560 +    </ClCompile>
  19.561 +    <ResourceCompile>
  19.562 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.563 +      <Culture>0x0409</Culture>
  19.564 +    </ResourceCompile>
  19.565 +    <Link>
  19.566 +      <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  19.567 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  19.568 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  19.569 +      <SubSystem>Windows</SubSystem>
  19.570 +      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  19.571 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  19.572 +    </Link>
  19.573 +  </ItemDefinitionGroup>
  19.574 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  19.575 +    <Midl>
  19.576 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.577 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  19.578 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.579 +      <TargetEnvironment>X64</TargetEnvironment>
  19.580 +    </Midl>
  19.581 +    <ClCompile>
  19.582 +      <Optimization>Disabled</Optimization>
  19.583 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  19.584 +      <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.585 +      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  19.586 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  19.587 +      <PrecompiledHeader>
  19.588 +      </PrecompiledHeader>
  19.589 +      <WarningLevel>Level3</WarningLevel>
  19.590 +      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  19.591 +      <ExceptionHandling>false</ExceptionHandling>
  19.592 +    </ClCompile>
  19.593 +    <ResourceCompile>
  19.594 +      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.595 +      <Culture>0x0409</Culture>
  19.596 +    </ResourceCompile>
  19.597 +    <Link>
  19.598 +      <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  19.599 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  19.600 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  19.601 +      <SubSystem>Windows</SubSystem>
  19.602 +      <CLRUnmanagedCodeCheck>false</CLRUnmanagedCodeCheck>
  19.603 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  19.604 +    </Link>
  19.605 +  </ItemDefinitionGroup>
  19.606 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  19.607 +    <PreBuildEvent />
  19.608 +    <Midl>
  19.609 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.610 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  19.611 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.612 +      <TargetEnvironment>Win32</TargetEnvironment>
  19.613 +    </Midl>
  19.614 +    <ClCompile>
  19.615 +      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  19.616 +      <IntrinsicFunctions>false</IntrinsicFunctions>
  19.617 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  19.618 +      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.619 +      <StringPooling>true</StringPooling>
  19.620 +      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  19.621 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  19.622 +      <FunctionLevelLinking>true</FunctionLevelLinking>
  19.623 +      <PrecompiledHeader>
  19.624 +      </PrecompiledHeader>
  19.625 +      <WarningLevel>Level3</WarningLevel>
  19.626 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.627 +      <CompileAs>Default</CompileAs>
  19.628 +      <ExceptionHandling>false</ExceptionHandling>
  19.629 +    </ClCompile>
  19.630 +    <ResourceCompile>
  19.631 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.632 +      <Culture>0x0409</Culture>
  19.633 +    </ResourceCompile>
  19.634 +    <Link>
  19.635 +      <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  19.636 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  19.637 +      <SubSystem>Windows</SubSystem>
  19.638 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
  19.639 +      <OptimizeReferences>true</OptimizeReferences>
  19.640 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
  19.641 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  19.642 +    </Link>
  19.643 +  </ItemDefinitionGroup>
  19.644 +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  19.645 +    <Midl>
  19.646 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.647 +      <MkTypLibCompatible>true</MkTypLibCompatible>
  19.648 +      <SuppressStartupBanner>true</SuppressStartupBanner>
  19.649 +      <TargetEnvironment>X64</TargetEnvironment>
  19.650 +    </Midl>
  19.651 +    <ClCompile>
  19.652 +      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
  19.653 +      <IntrinsicFunctions>false</IntrinsicFunctions>
  19.654 +      <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories);"$(DXSDK_DIR)\Include";</AdditionalIncludeDirectories>
  19.655 +      <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.656 +      <StringPooling>true</StringPooling>
  19.657 +      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  19.658 +      <BufferSecurityCheck>false</BufferSecurityCheck>
  19.659 +      <FunctionLevelLinking>true</FunctionLevelLinking>
  19.660 +      <PrecompiledHeader>
  19.661 +      </PrecompiledHeader>
  19.662 +      <WarningLevel>Level3</WarningLevel>
  19.663 +      <ExceptionHandling>false</ExceptionHandling>
  19.664 +    </ClCompile>
  19.665 +    <ResourceCompile>
  19.666 +      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  19.667 +      <Culture>0x0409</Culture>
  19.668 +    </ResourceCompile>
  19.669 +    <Link>
  19.670 +      <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
  19.671 +      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  19.672 +      <SubSystem>Windows</SubSystem>
  19.673 +      <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x64</AdditionalLibraryDirectories>
  19.674 +      <OptimizeReferences>true</OptimizeReferences>
  19.675 +      <EnableCOMDATFolding>true</EnableCOMDATFolding>
  19.676 +      <GenerateDebugInformation>true</GenerateDebugInformation>
  19.677 +    </Link>
  19.678 +  </ItemDefinitionGroup>
  19.679 +  <ItemGroup>
  19.680 +    <ClInclude Include="..\..\include\SDL.h" />
  19.681 +    <ClInclude Include="..\..\include\SDL_assert.h" />
  19.682 +    <ClInclude Include="..\..\include\SDL_atomic.h" />
  19.683 +    <ClInclude Include="..\..\include\SDL_audio.h" />
  19.684 +    <ClInclude Include="..\..\include\SDL_bits.h" />
  19.685 +    <ClInclude Include="..\..\include\SDL_blendmode.h" />
  19.686 +    <ClInclude Include="..\..\include\SDL_clipboard.h" />
  19.687 +    <ClInclude Include="..\..\include\SDL_config.h" />
  19.688 +    <ClInclude Include="..\..\include\SDL_config_windows.h" />
  19.689 +    <ClInclude Include="..\..\include\SDL_copying.h" />
  19.690 +    <ClInclude Include="..\..\include\SDL_cpuinfo.h" />
  19.691 +    <ClInclude Include="..\..\include\SDL_endian.h" />
  19.692 +    <ClInclude Include="..\..\include\SDL_error.h" />
  19.693 +    <ClInclude Include="..\..\include\SDL_events.h" />
  19.694 +    <ClInclude Include="..\..\include\SDL_gesture.h" />
  19.695 +    <ClInclude Include="..\..\include\SDL_haptic.h" />
  19.696 +    <ClInclude Include="..\..\include\SDL_hints.h" />
  19.697 +    <ClInclude Include="..\..\include\SDL_joystick.h" />
  19.698 +    <ClInclude Include="..\..\include\SDL_keyboard.h" />
  19.699 +    <ClInclude Include="..\..\include\SDL_keycode.h" />
  19.700 +    <ClInclude Include="..\..\include\SDL_loadso.h" />
  19.701 +    <ClInclude Include="..\..\include\SDL_log.h" />
  19.702 +    <ClInclude Include="..\..\include\SDL_main.h" />
  19.703 +    <ClInclude Include="..\..\include\SDL_mouse.h" />
  19.704 +    <ClInclude Include="..\..\include\SDL_mutex.h" />
  19.705 +    <ClInclude Include="..\..\include\SDL_name.h" />
  19.706 +    <ClInclude Include="..\..\include\SDL_opengl.h" />
  19.707 +    <ClInclude Include="..\..\include\SDL_opengles.h" />
  19.708 +    <ClInclude Include="..\..\include\SDL_pixels.h" />
  19.709 +    <ClInclude Include="..\..\include\SDL_platform.h" />
  19.710 +    <ClInclude Include="..\..\include\SDL_power.h" />
  19.711 +    <ClInclude Include="..\..\include\SDL_quit.h" />
  19.712 +    <ClInclude Include="..\..\include\SDL_rect.h" />
  19.713 +    <ClInclude Include="..\..\include\SDL_render.h" />
  19.714 +    <ClInclude Include="..\..\include\SDL_revision.h" />
  19.715 +    <ClInclude Include="..\..\include\SDL_rwops.h" />
  19.716 +    <ClInclude Include="..\..\include\SDL_scancode.h" />
  19.717 +    <ClInclude Include="..\..\include\SDL_shape.h" />
  19.718 +    <ClInclude Include="..\..\include\SDL_stdinc.h" />
  19.719 +    <ClInclude Include="..\..\include\SDL_surface.h" />
  19.720 +    <ClInclude Include="..\..\include\SDL_system.h" />
  19.721 +    <ClInclude Include="..\..\include\SDL_syswm.h" />
  19.722 +    <ClInclude Include="..\..\include\SDL_thread.h" />
  19.723 +    <ClInclude Include="..\..\include\SDL_timer.h" />
  19.724 +    <ClInclude Include="..\..\include\SDL_touch.h" />
  19.725 +    <ClInclude Include="..\..\include\SDL_types.h" />
  19.726 +    <ClInclude Include="..\..\include\SDL_version.h" />
  19.727 +    <ClInclude Include="..\..\include\SDL_video.h" />
  19.728 +    <ClInclude Include="..\..\include\SDL_gamecontroller.h" />
  19.729 +    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
  19.730 +    <ClInclude Include="..\..\src\events\blank_cursor.h" />
  19.731 +    <ClInclude Include="..\..\src\events\default_cursor.h" />
  19.732 +    <ClInclude Include="..\..\src\audio\directsound\directx.h" />
  19.733 +    <ClInclude Include="..\..\src\events\SDL_clipboardevents_c.h" />
  19.734 +    <ClInclude Include="..\..\src\events\SDL_gesture_c.h" />
  19.735 +    <ClInclude Include="..\..\src\events\SDL_touch_c.h" />
  19.736 +    <ClInclude Include="..\..\src\libm\math.h" />
  19.737 +    <ClInclude Include="..\..\src\libm\math_private.h" />
  19.738 +    <ClInclude Include="..\..\src\render\mmx.h" />
  19.739 +    <ClInclude Include="..\..\src\render\opengl\SDL_shaders_gl.h" />
  19.740 +    <ClInclude Include="..\..\src\render\SDL_sysrender.h" />
  19.741 +    <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h" />
  19.742 +    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
  19.743 +    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
  19.744 +    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
  19.745 +    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
  19.746 +    <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
  19.747 +    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
  19.748 +    <ClInclude Include="..\..\src\render\software\SDL_draw.h" />
  19.749 +    <ClInclude Include="..\..\src\render\software\SDL_drawline.h" />
  19.750 +    <ClInclude Include="..\..\src\render\software\SDL_drawpoint.h" />
  19.751 +    <ClInclude Include="..\..\src\events\SDL_dropevents_c.h" />
  19.752 +    <ClInclude Include="..\..\src\render\software\SDL_render_sw_c.h" />
  19.753 +    <ClInclude Include="..\..\src\render\software\SDL_rotate.h" />
  19.754 +    <ClInclude Include="..\..\src\video\dummy\SDL_nullframebuffer_c.h" />
  19.755 +    <ClInclude Include="..\..\src\video\SDL_blit.h" />
  19.756 +    <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
  19.757 +    <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
  19.758 +    <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />
  19.759 +    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
  19.760 +    <ClInclude Include="..\..\src\audio\winmm\SDL_winmm.h" />
  19.761 +    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
  19.762 +    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
  19.763 +    <ClInclude Include="..\..\src\audio\directsound\SDL_directsound.h" />
  19.764 +    <ClInclude Include="..\..\src\SDL_error_c.h" />
  19.765 +    <ClInclude Include="..\..\src\SDL_hints_c.h" />
  19.766 +    <ClInclude Include="..\..\src\events\SDL_events_c.h" />
  19.767 +    <ClInclude Include="..\..\src\SDL_fatal.h" />
  19.768 +    <ClInclude Include="..\..\src\video\SDL_glesfuncs.h" />
  19.769 +    <ClInclude Include="..\..\src\video\SDL_glfuncs.h" />
  19.770 +    <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
  19.771 +    <ClInclude Include="..\..\src\events\SDL_keyboard_c.h" />
  19.772 +    <ClInclude Include="..\..\src\events\SDL_mouse_c.h" />
  19.773 +    <ClInclude Include="..\..\src\video\dummy\SDL_nullevents_c.h" />
  19.774 +    <ClInclude Include="..\..\src\video\dummy\SDL_nullvideo.h" />
  19.775 +    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
  19.776 +    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
  19.777 +    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
  19.778 +    <ClInclude Include="..\..\src\video\SDL_stretch_c.h" />
  19.779 +    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
  19.780 +    <ClInclude Include="..\..\src\events\SDL_sysevents.h" />
  19.781 +    <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h" />
  19.782 +    <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
  19.783 +    <ClInclude Include="..\..\src\thread\SDL_systhread.h" />
  19.784 +    <ClInclude Include="..\..\src\thread\windows\SDL_systhread_c.h" />
  19.785 +    <ClInclude Include="..\..\src\timer\SDL_systimer.h" />
  19.786 +    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
  19.787 +    <ClInclude Include="..\..\src\thread\SDL_thread_c.h" />
  19.788 +    <ClInclude Include="..\..\src\timer\SDL_timer_c.h" />
  19.789 +    <ClInclude Include="..\..\src\video\windows\SDL_vkeys.h" />
  19.790 +    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
  19.791 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsclipboard.h" />
  19.792 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsevents.h" />
  19.793 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsframebuffer.h" />
  19.794 +    <ClInclude Include="..\..\src\video\windows\SDL_windowskeyboard.h" />
  19.795 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsmessagebox.h" />
  19.796 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsmodes.h" />
  19.797 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsmouse.h" />
  19.798 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsopengl.h" />
  19.799 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsshape.h" />
  19.800 +    <ClInclude Include="..\..\src\video\windows\SDL_windowsvideo.h" />
  19.801 +    <ClInclude Include="..\..\src\video\windows\SDL_windowswindow.h" />
  19.802 +    <ClInclude Include="..\..\src\events\SDL_windowevents_c.h" />
  19.803 +    <ClInclude Include="..\..\src\video\windows\wmmsg.h" />
  19.804 +    <ClInclude Include="resource.h" />
  19.805 +  </ItemGroup>
  19.806 +  <ItemGroup>
  19.807 +    <ClCompile Include="..\..\src\core\windows\SDL_windows.c" />
  19.808 +    <ClCompile Include="..\..\src\events\SDL_clipboardevents.c" />
  19.809 +    <ClCompile Include="..\..\src\events\SDL_gesture.c" />
  19.810 +    <ClCompile Include="..\..\src\events\SDL_touch.c" />
  19.811 +    <ClCompile Include="..\..\src\libm\e_atan2.c" />
  19.812 +    <ClCompile Include="..\..\src\libm\e_log.c" />
  19.813 +    <ClCompile Include="..\..\src\libm\e_pow.c" />
  19.814 +    <ClCompile Include="..\..\src\libm\e_rem_pio2.c" />
  19.815 +    <ClCompile Include="..\..\src\libm\e_sqrt.c" />
  19.816 +    <ClCompile Include="..\..\src\libm\k_cos.c" />
  19.817 +    <ClCompile Include="..\..\src\libm\k_rem_pio2.c" />
  19.818 +    <ClCompile Include="..\..\src\libm\k_sin.c" />
  19.819 +    <ClCompile Include="..\..\src\libm\s_atan.c" />
  19.820 +    <ClCompile Include="..\..\src\libm\s_copysign.c" />
  19.821 +    <ClCompile Include="..\..\src\libm\s_cos.c" />
  19.822 +    <ClCompile Include="..\..\src\libm\s_fabs.c" />
  19.823 +    <ClCompile Include="..\..\src\libm\s_floor.c" />
  19.824 +    <ClCompile Include="..\..\src\libm\s_scalbn.c" />
  19.825 +    <ClCompile Include="..\..\src\libm\s_sin.c" />
  19.826 +    <ClCompile Include="..\..\src\render\direct3d\SDL_render_d3d.c" />
  19.827 +    <ClCompile Include="..\..\src\render\opengl\SDL_render_gl.c" />
  19.828 +    <ClCompile Include="..\..\src\render\opengl\SDL_shaders_gl.c" />
  19.829 +    <ClCompile Include="..\..\src\render\SDL_render.c" />
  19.830 +    <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c" />
  19.831 +    <ClCompile Include="..\..\src\render\SDL_yuv_sw.c" />
  19.832 +    <ClCompile Include="..\..\src\render\software\SDL_blendfillrect.c" />
  19.833 +    <ClCompile Include="..\..\src\render\software\SDL_blendline.c" />
  19.834 +    <ClCompile Include="..\..\src\render\software\SDL_blendpoint.c" />
  19.835 +    <ClCompile Include="..\..\src\render\software\SDL_drawline.c" />
  19.836 +    <ClCompile Include="..\..\src\render\software\SDL_drawpoint.c" />
  19.837 +    <ClCompile Include="..\..\src\render\software\SDL_render_sw.c" />
  19.838 +    <ClCompile Include="..\..\src\render\software\SDL_rotate.c" />
  19.839 +    <ClCompile Include="..\..\src\SDL.c" />
  19.840 +    <ClCompile Include="..\..\src\SDL_assert.c" />
  19.841 +    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
  19.842 +    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c" />
  19.843 +    <ClCompile Include="..\..\src\audio\SDL_audio.c" />
  19.844 +    <ClCompile Include="..\..\src\audio\SDL_audiocvt.c" />
  19.845 +    <ClCompile Include="..\..\src\audio\SDL_audiodev.c" />
  19.846 +    <ClCompile Include="..\..\src\audio\SDL_audiotypecvt.c" />
  19.847 +    <ClCompile Include="..\..\src\SDL_hints.c" />
  19.848 +    <ClCompile Include="..\..\src\SDL_log.c" />
  19.849 +    <ClCompile Include="..\..\src\video\dummy\SDL_nullframebuffer.c" />
  19.850 +    <ClCompile Include="..\..\src\video\SDL_blit.c" />
  19.851 +    <ClCompile Include="..\..\src\video\SDL_blit_0.c" />
  19.852 +    <ClCompile Include="..\..\src\video\SDL_blit_1.c" />
  19.853 +    <ClCompile Include="..\..\src\video\SDL_blit_A.c" />
  19.854 +    <ClCompile Include="..\..\src\video\SDL_blit_auto.c" />
  19.855 +    <ClCompile Include="..\..\src\video\SDL_blit_copy.c" />
  19.856 +    <ClCompile Include="..\..\src\video\SDL_blit_N.c" />
  19.857 +    <ClCompile Include="..\..\src\video\SDL_blit_slow.c" />
  19.858 +    <ClCompile Include="..\..\src\video\SDL_bmp.c" />
  19.859 +    <ClCompile Include="..\..\src\cpuinfo\SDL_cpuinfo.c" />
  19.860 +    <ClCompile Include="..\..\src\video\SDL_clipboard.c" />
  19.861 +    <ClCompile Include="..\..\src\video\SDL_shape.c" />
  19.862 +    <ClCompile Include="..\..\src\audio\winmm\SDL_winmm.c" />
  19.863 +    <ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c" />
  19.864 +    <ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c" />
  19.865 +    <ClCompile Include="..\..\src\audio\directsound\SDL_directsound.c" />
  19.866 +    <ClCompile Include="..\..\src\events\SDL_dropevents.c" />
  19.867 +    <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c" />
  19.868 +    <ClCompile Include="..\..\src\joystick\windows\SDL_dxjoystick.c" />
  19.869 +    <ClCompile Include="..\..\src\SDL_error.c" />
  19.870 +    <ClCompile Include="..\..\src\events\SDL_events.c" />
  19.871 +    <ClCompile Include="..\..\src\SDL_fatal.c" />
  19.872 +    <ClCompile Include="..\..\src\video\SDL_fillrect.c" />
  19.873 +    <ClCompile Include="..\..\src\stdlib\SDL_getenv.c" />
  19.874 +    <ClCompile Include="..\..\src\haptic\SDL_haptic.c" />
  19.875 +    <ClCompile Include="..\..\src\stdlib\SDL_iconv.c" />
  19.876 +    <ClCompile Include="..\..\src\joystick\SDL_joystick.c" />
  19.877 +    <ClCompile Include="..\..\src\events\SDL_keyboard.c" />
  19.878 +    <ClCompile Include="..\..\src\stdlib\SDL_malloc.c" />
  19.879 +    <ClCompile Include="..\..\src\audio\SDL_mixer.c" />
  19.880 +    <ClCompile Include="..\..\src\joystick\windows\SDL_mmjoystick.c" />
  19.881 +    <ClCompile Include="..\..\src\events\SDL_mouse.c" />
  19.882 +    <ClCompile Include="..\..\src\video\dummy\SDL_nullevents.c" />
  19.883 +    <ClCompile Include="..\..\src\video\dummy\SDL_nullvideo.c" />
  19.884 +    <ClCompile Include="..\..\src\video\SDL_pixels.c" />
  19.885 +    <ClCompile Include="..\..\src\power\SDL_power.c" />
  19.886 +    <ClCompile Include="..\..\src\stdlib\SDL_qsort.c" />
  19.887 +    <ClCompile Include="..\..\src\events\SDL_quit.c" />
  19.888 +    <ClCompile Include="..\..\src\video\SDL_rect.c" />
  19.889 +    <ClCompile Include="..\..\src\video\SDL_RLEaccel.c" />
  19.890 +    <ClCompile Include="..\..\src\file\SDL_rwops.c" />
  19.891 +    <ClCompile Include="..\..\src\stdlib\SDL_stdlib.c" />
  19.892 +    <ClCompile Include="..\..\src\video\SDL_stretch.c" />
  19.893 +    <ClCompile Include="..\..\src\stdlib\SDL_string.c" />
  19.894 +    <ClCompile Include="..\..\src\video\SDL_surface.c" />
  19.895 +    <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c" />
  19.896 +    <ClCompile Include="..\..\src\haptic\windows\SDL_syshaptic.c" />
  19.897 +    <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c" />
  19.898 +    <ClCompile Include="..\..\src\thread\windows\SDL_sysmutex.c" />
  19.899 +    <ClCompile Include="..\..\src\power\windows\SDL_syspower.c" />
  19.900 +    <ClCompile Include="..\..\src\thread\windows\SDL_syssem.c" />
  19.901 +    <ClCompile Include="..\..\src\thread\windows\SDL_systhread.c" />
  19.902 +    <ClCompile Include="..\..\src\timer\windows\SDL_systimer.c" />
  19.903 +    <ClCompile Include="..\..\src\thread\SDL_thread.c" />
  19.904 +    <ClCompile Include="..\..\src\timer\SDL_timer.c" />
  19.905 +    <ClCompile Include="..\..\src\video\SDL_video.c" />
  19.906 +    <ClCompile Include="..\..\src\audio\SDL_wave.c" />
  19.907 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsclipboard.c" />
  19.908 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsevents.c" />
  19.909 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsframebuffer.c" />
  19.910 +    <ClCompile Include="..\..\src\video\windows\SDL_windowskeyboard.c" />
  19.911 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsmessagebox.c" />
  19.912 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsmodes.c" />
  19.913 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsmouse.c" />
  19.914 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsopengl.c" />
  19.915 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsshape.c" />
  19.916 +    <ClCompile Include="..\..\src\video\windows\SDL_windowsvideo.c" />
  19.917 +    <ClCompile Include="..\..\src\video\windows\SDL_windowswindow.c" />
  19.918 +    <ClCompile Include="..\..\src\events\SDL_windowevents.c" />
  19.919 +    <ClCompile Include="..\..\src\joystick\SDL_gamecontroller.c" />
  19.920 +  </ItemGroup>
  19.921 +  <ItemGroup>
  19.922 +    <ResourceCompile Include="..\..\src\main\windows\version.rc" />
  19.923 +  </ItemGroup>
  19.924 +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  19.925 +  <ImportGroup Label="ExtensionTargets">
  19.926 +  </ImportGroup>
  19.927 +</Project>
  19.928 \ No newline at end of file
    20.1 --- a/VisualC/SDL_VS2010.sln	Sat Apr 13 23:03:46 2013 -0400
    20.2 +++ b/VisualC/SDL_VS2010.sln	Sun Apr 14 11:42:55 2013 -0400
    20.3 @@ -1,197 +1,160 @@
    20.4 -
    20.5 -Microsoft Visual Studio Solution File, Format Version 11.00
    20.6 -# Visual Studio 2010
    20.7 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "SDL\SDL_VS2010.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
    20.8 -EndProject
    20.9 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "SDLmain\SDLmain_VS2010.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
   20.10 -EndProject
   20.11 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{CE748C1F-3C21-4825-AA6A-F895A023F7E7}"
   20.12 -EndProject
   20.13 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "loopwave", "tests\loopwave\loopwave_VS2010.vcxproj", "{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}"
   20.14 -	ProjectSection(ProjectDependencies) = postProject
   20.15 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.16 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.17 -	EndProjectSection
   20.18 -EndProject
   20.19 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testplatform", "tests\testplatform\testplatform_VS2010.vcxproj", "{26932B24-EFC6-4E3A-B277-ED653DA37968}"
   20.20 -	ProjectSection(ProjectDependencies) = postProject
   20.21 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.22 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.23 -	EndProjectSection
   20.24 -EndProject
   20.25 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfile", "tests\testfile\testfile_VS2010.vcxproj", "{CAE4F1D0-314F-4B10-805B-0EFD670133A0}"
   20.26 -	ProjectSection(ProjectDependencies) = postProject
   20.27 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.28 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.29 -	EndProjectSection
   20.30 -EndProject
   20.31 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgl2", "tests\testgl2\testgl2_VS2010.vcxproj", "{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}"
   20.32 -	ProjectSection(ProjectDependencies) = postProject
   20.33 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.34 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.35 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
   20.36 -	EndProjectSection
   20.37 -EndProject
   20.38 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "checkkeys", "tests\checkkeys\checkkeys_VS2010.vcxproj", "{26828762-C95D-4637-9CB1-7F0979523813}"
   20.39 -	ProjectSection(ProjectDependencies) = postProject
   20.40 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.41 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.42 -	EndProjectSection
   20.43 -EndProject
   20.44 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testsprite2", "tests\testsprite2\testsprite2_VS2010.vcxproj", "{40FB7794-D3C3-4CFE-BCF4-A80C96635682}"
   20.45 -	ProjectSection(ProjectDependencies) = postProject
   20.46 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.47 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.48 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
   20.49 -	EndProjectSection
   20.50 -EndProject
   20.51 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testshape", "tests\testshape\testshape_VS2010.vcxproj", "{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}"
   20.52 -	ProjectSection(ProjectDependencies) = postProject
   20.53 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.54 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.55 -	EndProjectSection
   20.56 -EndProject
   20.57 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testdraw2", "tests\testdraw2\testdraw2_VS2010.vcxproj", "{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}"
   20.58 -	ProjectSection(ProjectDependencies) = postProject
   20.59 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.60 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.61 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
   20.62 -	EndProjectSection
   20.63 -EndProject
   20.64 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testpower", "tests\testpower\testpower_VS2010.vcxproj", "{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}"
   20.65 -	ProjectSection(ProjectDependencies) = postProject
   20.66 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.67 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.68 -	EndProjectSection
   20.69 -EndProject
   20.70 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2test", "SDLtest\SDLtest_VS2010.vcxproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
   20.71 -	ProjectSection(ProjectDependencies) = postProject
   20.72 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.73 -	EndProjectSection
   20.74 -EndProject
   20.75 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testautomation", "tests\testautomation\testautomation_vs2010.vcxproj", "{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}"
   20.76 -	ProjectSection(ProjectDependencies) = postProject
   20.77 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
   20.78 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} = {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}
   20.79 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} = {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}
   20.80 -	EndProjectSection
   20.81 -EndProject
   20.82 -Global
   20.83 -	GlobalSection(SolutionConfigurationPlatforms) = preSolution
   20.84 -		Debug|Win32 = Debug|Win32
   20.85 -		Debug|x64 = Debug|x64
   20.86 -		Release|Win32 = Release|Win32
   20.87 -		Release|x64 = Release|x64
   20.88 -	EndGlobalSection
   20.89 -	GlobalSection(ProjectConfigurationPlatforms) = postSolution
   20.90 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.ActiveCfg = Debug|Win32
   20.91 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.Build.0 = Debug|Win32
   20.92 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
   20.93 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
   20.94 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.ActiveCfg = Release|Win32
   20.95 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.Build.0 = Release|Win32
   20.96 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
   20.97 -		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
   20.98 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.ActiveCfg = Debug|Win32
   20.99 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.Build.0 = Debug|Win32
  20.100 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
  20.101 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
  20.102 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.ActiveCfg = Release|Win32
  20.103 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.Build.0 = Release|Win32
  20.104 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
  20.105 -		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.Build.0 = Release|x64
  20.106 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.ActiveCfg = Debug|Win32
  20.107 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.Build.0 = Debug|Win32
  20.108 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.ActiveCfg = Debug|x64
  20.109 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.Build.0 = Debug|x64
  20.110 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.ActiveCfg = Release|Win32
  20.111 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.Build.0 = Release|Win32
  20.112 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.ActiveCfg = Release|Win32
  20.113 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.ActiveCfg = Debug|Win32
  20.114 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.Build.0 = Debug|Win32
  20.115 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.ActiveCfg = Debug|x64
  20.116 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.Build.0 = Debug|x64
  20.117 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.ActiveCfg = Release|Win32
  20.118 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.Build.0 = Release|Win32
  20.119 -		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.ActiveCfg = Release|Win32
  20.120 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.ActiveCfg = Debug|Win32
  20.121 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.Build.0 = Debug|Win32
  20.122 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.ActiveCfg = Debug|x64
  20.123 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.Build.0 = Debug|x64
  20.124 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.ActiveCfg = Release|Win32
  20.125 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.Build.0 = Release|Win32
  20.126 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.ActiveCfg = Release|Win32
  20.127 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.ActiveCfg = Debug|Win32
  20.128 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.Build.0 = Debug|Win32
  20.129 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.ActiveCfg = Debug|x64
  20.130 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.Build.0 = Debug|x64
  20.131 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.ActiveCfg = Release|Win32
  20.132 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.Build.0 = Release|Win32
  20.133 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.ActiveCfg = Release|Win32
  20.134 -		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.ActiveCfg = Debug|Win32
  20.135 -		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.Build.0 = Debug|Win32
  20.136 -		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.ActiveCfg = Debug|x64
  20.137 -		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.Build.0 = Debug|x64
  20.138 -		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.ActiveCfg = Release|Win32
  20.139 -		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.Build.0 = Release|Win32
  20.140 -		{26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.ActiveCfg = Release|Win32
  20.141 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.ActiveCfg = Debug|Win32
  20.142 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.Build.0 = Debug|Win32
  20.143 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.ActiveCfg = Debug|x64
  20.144 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.Build.0 = Debug|x64
  20.145 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.ActiveCfg = Release|Win32
  20.146 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.Build.0 = Release|Win32
  20.147 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.ActiveCfg = Release|Win32
  20.148 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|Win32.ActiveCfg = Debug|Win32
  20.149 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|Win32.Build.0 = Debug|Win32
  20.150 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|x64.ActiveCfg = Debug|x64
  20.151 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|x64.Build.0 = Debug|x64
  20.152 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|Win32.ActiveCfg = Release|Win32
  20.153 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|x64.ActiveCfg = Release|Win32
  20.154 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.ActiveCfg = Debug|Win32
  20.155 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.Build.0 = Debug|Win32
  20.156 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.ActiveCfg = Debug|x64
  20.157 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.Build.0 = Debug|x64
  20.158 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.ActiveCfg = Release|Win32
  20.159 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.Build.0 = Release|Win32
  20.160 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.ActiveCfg = Release|Win32
  20.161 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.ActiveCfg = Debug|Win32
  20.162 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.Build.0 = Debug|Win32
  20.163 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.ActiveCfg = Debug|x64
  20.164 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.Build.0 = Debug|x64
  20.165 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.ActiveCfg = Release|Win32
  20.166 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.Build.0 = Release|Win32
  20.167 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.ActiveCfg = Release|Win32
  20.168 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.ActiveCfg = Debug|Win32
  20.169 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.Build.0 = Debug|Win32
  20.170 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.ActiveCfg = Debug|x64
  20.171 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.Build.0 = Debug|x64
  20.172 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.ActiveCfg = Release|Win32
  20.173 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.Build.0 = Release|Win32
  20.174 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.ActiveCfg = Release|x64
  20.175 -		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.Build.0 = Release|x64
  20.176 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|Win32.ActiveCfg = Debug|Win32
  20.177 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|Win32.Build.0 = Debug|Win32
  20.178 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|x64.ActiveCfg = Debug|x64
  20.179 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|x64.Build.0 = Debug|x64
  20.180 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|Win32.ActiveCfg = Release|Win32
  20.181 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|Win32.Build.0 = Release|Win32
  20.182 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|x64.ActiveCfg = Release|x64
  20.183 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|x64.Build.0 = Release|x64
  20.184 -	EndGlobalSection
  20.185 -	GlobalSection(SolutionProperties) = preSolution
  20.186 -		HideSolutionNode = FALSE
  20.187 -	EndGlobalSection
  20.188 -	GlobalSection(NestedProjects) = preSolution
  20.189 -		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.190 -		{26932B24-EFC6-4E3A-B277-ED653DA37968} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.191 -		{CAE4F1D0-314F-4B10-805B-0EFD670133A0} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.192 -		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.193 -		{26828762-C95D-4637-9CB1-7F0979523813} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.194 -		{40FB7794-D3C3-4CFE-BCF4-A80C96635682} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.195 -		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.196 -		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.197 -		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.198 -		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.199 -	EndGlobalSection
  20.200 -EndGlobal
  20.201 +
  20.202 +Microsoft Visual Studio Solution File, Format Version 11.00
  20.203 +# Visual Studio 2010
  20.204 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "SDL\SDL_VS2010.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
  20.205 +EndProject
  20.206 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "SDLmain\SDLmain_VS2010.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
  20.207 +EndProject
  20.208 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{CE748C1F-3C21-4825-AA6A-F895A023F7E7}"
  20.209 +EndProject
  20.210 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "loopwave", "tests\loopwave\loopwave_VS2010.vcxproj", "{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}"
  20.211 +EndProject
  20.212 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testplatform", "tests\testplatform\testplatform_VS2010.vcxproj", "{26932B24-EFC6-4E3A-B277-ED653DA37968}"
  20.213 +EndProject
  20.214 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfile", "tests\testfile\testfile_VS2010.vcxproj", "{CAE4F1D0-314F-4B10-805B-0EFD670133A0}"
  20.215 +EndProject
  20.216 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgl2", "tests\testgl2\testgl2_VS2010.vcxproj", "{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}"
  20.217 +EndProject
  20.218 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "checkkeys", "tests\checkkeys\checkkeys_VS2010.vcxproj", "{26828762-C95D-4637-9CB1-7F0979523813}"
  20.219 +EndProject
  20.220 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testsprite2", "tests\testsprite2\testsprite2_VS2010.vcxproj", "{40FB7794-D3C3-4CFE-BCF4-A80C96635682}"
  20.221 +EndProject
  20.222 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testshape", "tests\testshape\testshape_VS2010.vcxproj", "{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}"
  20.223 +EndProject
  20.224 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testdraw2", "tests\testdraw2\testdraw2_VS2010.vcxproj", "{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}"
  20.225 +EndProject
  20.226 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testpower", "tests\testpower\testpower_VS2010.vcxproj", "{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}"
  20.227 +EndProject
  20.228 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2test", "SDLtest\SDLtest_VS2010.vcxproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
  20.229 +EndProject
  20.230 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testautomation", "tests\testautomation\testautomation_vs2010.vcxproj", "{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}"
  20.231 +EndProject
  20.232 +Global
  20.233 +	GlobalSection(SolutionConfigurationPlatforms) = preSolution
  20.234 +		Debug|Win32 = Debug|Win32
  20.235 +		Debug|x64 = Debug|x64
  20.236 +		Release|Win32 = Release|Win32
  20.237 +		Release|x64 = Release|x64
  20.238 +	EndGlobalSection
  20.239 +	GlobalSection(ProjectConfigurationPlatforms) = postSolution
  20.240 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.ActiveCfg = Debug|Win32
  20.241 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.Build.0 = Debug|Win32
  20.242 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
  20.243 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
  20.244 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.ActiveCfg = Release|Win32
  20.245 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.Build.0 = Release|Win32
  20.246 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
  20.247 +		{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
  20.248 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.ActiveCfg = Debug|Win32
  20.249 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.Build.0 = Debug|Win32
  20.250 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
  20.251 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
  20.252 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.ActiveCfg = Release|Win32
  20.253 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.Build.0 = Release|Win32
  20.254 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
  20.255 +		{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.Build.0 = Release|x64
  20.256 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.ActiveCfg = Debug|Win32
  20.257 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.Build.0 = Debug|Win32
  20.258 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.ActiveCfg = Debug|x64
  20.259 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.Build.0 = Debug|x64
  20.260 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.ActiveCfg = Release|Win32
  20.261 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.Build.0 = Release|Win32
  20.262 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.ActiveCfg = Release|x64
  20.263 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.Build.0 = Release|x64
  20.264 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.ActiveCfg = Debug|Win32
  20.265 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.Build.0 = Debug|Win32
  20.266 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.ActiveCfg = Debug|x64
  20.267 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.Build.0 = Debug|x64
  20.268 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.ActiveCfg = Release|Win32
  20.269 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.Build.0 = Release|Win32
  20.270 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.ActiveCfg = Release|x64
  20.271 +		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.Build.0 = Release|x64
  20.272 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.ActiveCfg = Debug|Win32
  20.273 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.Build.0 = Debug|Win32
  20.274 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.ActiveCfg = Debug|x64
  20.275 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.Build.0 = Debug|x64
  20.276 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.ActiveCfg = Release|Win32
  20.277 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.Build.0 = Release|Win32
  20.278 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.ActiveCfg = Release|x64
  20.279 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.Build.0 = Release|x64
  20.280 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.ActiveCfg = Debug|Win32
  20.281 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.Build.0 = Debug|Win32
  20.282 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.ActiveCfg = Debug|x64
  20.283 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.Build.0 = Debug|x64
  20.284 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.ActiveCfg = Release|Win32
  20.285 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.Build.0 = Release|Win32
  20.286 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.ActiveCfg = Release|x64
  20.287 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.Build.0 = Release|x64
  20.288 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.ActiveCfg = Debug|Win32
  20.289 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.Build.0 = Debug|Win32
  20.290 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.ActiveCfg = Debug|x64
  20.291 +		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.Build.0 = Debug|x64
  20.292 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.ActiveCfg = Release|Win32
  20.293 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.Build.0 = Release|Win32
  20.294 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.ActiveCfg = Release|x64
  20.295 +		{26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.Build.0 = Release|x64
  20.296 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.ActiveCfg = Debug|Win32
  20.297 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.Build.0 = Debug|Win32
  20.298 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.ActiveCfg = Debug|x64
  20.299 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.Build.0 = Debug|x64
  20.300 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.ActiveCfg = Release|Win32
  20.301 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.Build.0 = Release|Win32
  20.302 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.ActiveCfg = Release|x64
  20.303 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.Build.0 = Release|x64
  20.304 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|Win32.ActiveCfg = Debug|Win32
  20.305 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|Win32.Build.0 = Debug|Win32
  20.306 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|x64.ActiveCfg = Debug|x64
  20.307 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Debug|x64.Build.0 = Debug|x64
  20.308 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|Win32.ActiveCfg = Release|Win32
  20.309 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|Win32.Build.0 = Release|Win32
  20.310 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|x64.ActiveCfg = Release|x64
  20.311 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F}.Release|x64.Build.0 = Release|x64
  20.312 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.ActiveCfg = Debug|Win32
  20.313 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.Build.0 = Debug|Win32
  20.314 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.ActiveCfg = Debug|x64
  20.315 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.Build.0 = Debug|x64
  20.316 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.ActiveCfg = Release|Win32
  20.317 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.Build.0 = Release|Win32
  20.318 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.ActiveCfg = Release|x64
  20.319 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.Build.0 = Release|x64
  20.320 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.ActiveCfg = Debug|Win32
  20.321 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.Build.0 = Debug|Win32
  20.322 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.ActiveCfg = Debug|x64
  20.323 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.Build.0 = Debug|x64
  20.324 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.ActiveCfg = Release|Win32
  20.325 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.Build.0 = Release|Win32
  20.326 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.ActiveCfg = Release|x64
  20.327 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.Build.0 = Release|x64
  20.328 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.ActiveCfg = Debug|Win32
  20.329 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.Build.0 = Debug|Win32
  20.330 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.ActiveCfg = Debug|x64
  20.331 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.Build.0 = Debug|x64
  20.332 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.ActiveCfg = Release|Win32
  20.333 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.Build.0 = Release|Win32
  20.334 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.ActiveCfg = Release|x64
  20.335 +		{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.Build.0 = Release|x64
  20.336 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|Win32.ActiveCfg = Debug|Win32
  20.337 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|Win32.Build.0 = Debug|Win32
  20.338 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|x64.ActiveCfg = Debug|x64
  20.339 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Debug|x64.Build.0 = Debug|x64
  20.340 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|Win32.ActiveCfg = Release|Win32
  20.341 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|Win32.Build.0 = Release|Win32
  20.342 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|x64.ActiveCfg = Release|x64
  20.343 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0}.Release|x64.Build.0 = Release|x64
  20.344 +	EndGlobalSection
  20.345 +	GlobalSection(SolutionProperties) = preSolution
  20.346 +		HideSolutionNode = FALSE
  20.347 +	EndGlobalSection
  20.348 +	GlobalSection(NestedProjects) = preSolution
  20.349 +		{FEE710DB-EC7B-4CCB-BD75-535D401A2FE0} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.350 +		{40FB7794-D3C3-4CFE-BCF4-A80C96635682} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.351 +		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.352 +		{CAE4F1D0-314F-4B10-805B-0EFD670133A0} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.353 +		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.354 +		{26932B24-EFC6-4E3A-B277-ED653DA37968} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.355 +		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.356 +		{EDEA9D00-AF64-45DE-8F60-5957048F2F0F} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.357 +		{26828762-C95D-4637-9CB1-7F0979523813} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.358 +		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB} = {CE748C1F-3C21-4825-AA6A-F895A023F7E7}
  20.359 +	EndGlobalSection
  20.360 +EndGlobal
    21.1 --- a/VisualC/SDLmain/SDLmain_VS2012.vcxproj	Sat Apr 13 23:03:46 2013 -0400
    21.2 +++ b/VisualC/SDLmain/SDLmain_VS2012.vcxproj	Sun Apr 14 11:42:55 2013 -0400
    21.3 @@ -144,7 +144,6 @@
    21.4        <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
    21.5        <PrecompiledHeader>
    21.6        </PrecompiledHeader>
    21.7 -      <PrecompiledHeaderOutputFile>.\Debug/SDLmain.pch</PrecompiledHeaderOutputFile>
    21.8        <WarningLevel>Level3</WarningLevel>
    21.9        <SuppressStartupBanner>true</SuppressStartupBanner>
   21.10        <DebugInformationFormat>OldStyle</DebugInformationFormat>
    22.1 --- a/VisualC/SDLtest/SDLtest_VS2012.vcxproj	Sat Apr 13 23:03:46 2013 -0400
    22.2 +++ b/VisualC/SDLtest/SDLtest_VS2012.vcxproj	Sun Apr 14 11:42:55 2013 -0400
    22.3 @@ -144,7 +144,6 @@
    22.4        <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
    22.5        <PrecompiledHeader>
    22.6        </PrecompiledHeader>
    22.7 -      <PrecompiledHeaderOutputFile>.\Debug/SDLtest.pch</PrecompiledHeaderOutputFile>
    22.8        <WarningLevel>Level3</WarningLevel>
    22.9        <SuppressStartupBanner>true</SuppressStartupBanner>
   22.10        <DebugInformationFormat>OldStyle</DebugInformationFormat>
    23.1 --- a/VisualC/tests/testplatform/testplatform_VS2012.vcxproj	Sat Apr 13 23:03:46 2013 -0400
    23.2 +++ b/VisualC/tests/testplatform/testplatform_VS2012.vcxproj	Sun Apr 14 11:42:55 2013 -0400
    23.3 @@ -168,7 +168,6 @@
    23.4        <StringPooling>true</StringPooling>
    23.5        <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
    23.6        <FunctionLevelLinking>true</FunctionLevelLinking>
    23.7 -      <PrecompiledHeaderOutputFile>.\Release/testplatform.pch</PrecompiledHeaderOutputFile>
    23.8        <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
    23.9        <ObjectFileName>$(IntDir)</ObjectFileName>
   23.10        <ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
    24.1 --- a/VisualC/tests/testpower/testpower_VS2012.vcxproj	Sat Apr 13 23:03:46 2013 -0400
    24.2 +++ b/VisualC/tests/testpower/testpower_VS2012.vcxproj	Sun Apr 14 11:42:55 2013 -0400
    24.3 @@ -223,10 +223,7 @@
    24.4      <Library Include="..\..\SDLmain\$(Platform)\$(Configuration)\SDLmain.lib" />
    24.5    </ItemGroup>
    24.6    <ItemGroup>
    24.7 -    <ClCompile Include="..\..\..\test\testpower.c">
    24.8 -      <PrecompiledHeaderOutputFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug/testpower.pch</PrecompiledHeaderOutputFile>
    24.9 -      <PrecompiledHeaderOutputFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\Debug/testpower.pch</PrecompiledHeaderOutputFile>
   24.10 -    </ClCompile>
   24.11 +    <ClCompile Include="..\..\..\test\testpower.c" />
   24.12    </ItemGroup>
   24.13    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   24.14    <ImportGroup Label="ExtensionTargets">
    25.1 --- a/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/project.pbxproj	Sat Apr 13 23:03:46 2013 -0400
    25.2 +++ b/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/project.pbxproj	Sun Apr 14 11:42:55 2013 -0400
    25.3 @@ -38,7 +38,6 @@
    25.4  		0097E2A812F70C4D00724AC5 /* SDL_config_iphoneos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_config_iphoneos.h; sourceTree = "<group>"; };
    25.5  		0097E2A912F70C4D00724AC5 /* SDL_config_macosx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_config_macosx.h; sourceTree = "<group>"; };
    25.6  		0097E2AA12F70C4D00724AC5 /* SDL_config_minimal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_config_minimal.h; sourceTree = "<group>"; };
    25.7 -		0097E2AB12F70C4D00724AC5 /* SDL_config_nintendods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_config_nintendods.h; sourceTree = "<group>"; };
    25.8  		0097E2AC12F70C4D00724AC5 /* SDL_config_pandora.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_config_pandora.h; sourceTree = "<group>"; };
    25.9  		0097E2AD12F70C4D00724AC5 /* SDL_config_windows.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_config_windows.h; sourceTree = "<group>"; };
   25.10  		0097E2AE12F70C4D00724AC5 /* SDL_config_wiz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_config_wiz.h; sourceTree = "<group>"; };
   25.11 @@ -142,7 +141,6 @@
   25.12  				0097E2A812F70C4D00724AC5 /* SDL_config_iphoneos.h */,
   25.13  				0097E2A912F70C4D00724AC5 /* SDL_config_macosx.h */,
   25.14  				0097E2AA12F70C4D00724AC5 /* SDL_config_minimal.h */,
   25.15 -				0097E2AB12F70C4D00724AC5 /* SDL_config_nintendods.h */,
   25.16  				0097E2AC12F70C4D00724AC5 /* SDL_config_pandora.h */,
   25.17  				0097E2AD12F70C4D00724AC5 /* SDL_config_windows.h */,
   25.18  				0097E2AE12F70C4D00724AC5 /* SDL_config_wiz.h */,
    26.1 --- a/android-project/AndroidManifest.xml	Sat Apr 13 23:03:46 2013 -0400
    26.2 +++ b/android-project/AndroidManifest.xml	Sun Apr 14 11:42:55 2013 -0400
    26.3 @@ -18,7 +18,7 @@
    26.4           An example Java class can be found in README.android
    26.5      -->
    26.6      <application android:label="@string/app_name"
    26.7 -                 android:icon="@drawable/icon"
    26.8 +                 android:icon="@drawable/ic_launcher"
    26.9  	         android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
   26.10          <activity android:name="SDLActivity"
   26.11                    android:label="@string/app_name">
   26.12 @@ -29,7 +29,7 @@
   26.13          </activity>
   26.14      </application>
   26.15  
   26.16 -    <!-- Android 2.1 -->
   26.17 +    <!-- Android 2.3.3 -->
   26.18      <uses-sdk android:minSdkVersion="10" /> 
   26.19  
   26.20      <!-- OpenGL ES 2.0 -->
    27.1 Binary file android-project/res/drawable-hdpi/ic_launcher.png has changed
    28.1 Binary file android-project/res/drawable-hdpi/icon.png has changed
    29.1 Binary file android-project/res/drawable-ldpi/icon.png has changed
    30.1 Binary file android-project/res/drawable-mdpi/ic_launcher.png has changed
    31.1 Binary file android-project/res/drawable-mdpi/icon.png has changed
    32.1 Binary file android-project/res/drawable-xhdpi/ic_launcher.png has changed
    33.1 Binary file android-project/res/drawable-xxhdpi/ic_launcher.png has changed
    34.1 --- a/android-project/src/org/libsdl/app/SDLActivity.java	Sat Apr 13 23:03:46 2013 -0400
    34.2 +++ b/android-project/src/org/libsdl/app/SDLActivity.java	Sun Apr 14 11:42:55 2013 -0400
    34.3 @@ -509,7 +509,7 @@
    34.4                                 int format, int width, int height) {
    34.5          Log.v("SDL", "surfaceChanged()");
    34.6  
    34.7 -        int sdlFormat = 0x85151002; // SDL_PIXELFORMAT_RGB565 by default
    34.8 +        int sdlFormat = 0x15151002; // SDL_PIXELFORMAT_RGB565 by default
    34.9          switch (format) {
   34.10          case PixelFormat.A_8:
   34.11              Log.v("SDL", "pixel format A_8");
   34.12 @@ -522,32 +522,32 @@
   34.13              break;
   34.14          case PixelFormat.RGBA_4444:
   34.15              Log.v("SDL", "pixel format RGBA_4444");
   34.16 -            sdlFormat = 0x85421002; // SDL_PIXELFORMAT_RGBA4444
   34.17 +            sdlFormat = 0x15421002; // SDL_PIXELFORMAT_RGBA4444
   34.18              break;
   34.19          case PixelFormat.RGBA_5551:
   34.20              Log.v("SDL", "pixel format RGBA_5551");
   34.21 -            sdlFormat = 0x85441002; // SDL_PIXELFORMAT_RGBA5551
   34.22 +            sdlFormat = 0x15441002; // SDL_PIXELFORMAT_RGBA5551
   34.23              break;
   34.24          case PixelFormat.RGBA_8888:
   34.25              Log.v("SDL", "pixel format RGBA_8888");
   34.26 -            sdlFormat = 0x86462004; // SDL_PIXELFORMAT_RGBA8888
   34.27 +            sdlFormat = 0x16462004; // SDL_PIXELFORMAT_RGBA8888
   34.28              break;
   34.29          case PixelFormat.RGBX_8888:
   34.30              Log.v("SDL", "pixel format RGBX_8888");
   34.31 -            sdlFormat = 0x86262004; // SDL_PIXELFORMAT_RGBX8888
   34.32 +            sdlFormat = 0x16261804; // SDL_PIXELFORMAT_RGBX8888
   34.33              break;
   34.34          case PixelFormat.RGB_332:
   34.35              Log.v("SDL", "pixel format RGB_332");
   34.36 -            sdlFormat = 0x84110801; // SDL_PIXELFORMAT_RGB332
   34.37 +            sdlFormat = 0x14110801; // SDL_PIXELFORMAT_RGB332
   34.38              break;
   34.39          case PixelFormat.RGB_565:
   34.40              Log.v("SDL", "pixel format RGB_565");
   34.41 -            sdlFormat = 0x85151002; // SDL_PIXELFORMAT_RGB565
   34.42 +            sdlFormat = 0x15151002; // SDL_PIXELFORMAT_RGB565
   34.43              break;
   34.44          case PixelFormat.RGB_888:
   34.45              Log.v("SDL", "pixel format RGB_888");
   34.46              // Not sure this is right, maybe SDL_PIXELFORMAT_RGB24 instead?
   34.47 -            sdlFormat = 0x86161804; // SDL_PIXELFORMAT_RGB888
   34.48 +            sdlFormat = 0x16161804; // SDL_PIXELFORMAT_RGB888
   34.49              break;
   34.50          default:
   34.51              Log.v("SDL", "pixel format unknown " + format);
    35.1 --- a/build-scripts/updaterev.sh	Sat Apr 13 23:03:46 2013 -0400
    35.2 +++ b/build-scripts/updaterev.sh	Sun Apr 14 11:42:55 2013 -0400
    35.3 @@ -10,11 +10,11 @@
    35.4  rev=`sh showrev.sh 2>/dev/null`
    35.5  if [ "$rev" != "" -a "$rev" != "hg-0:baadf00d" ]; then
    35.6      revnum=`echo $rev | sed 's,hg-\([0-9]*\).*,\1,'`
    35.7 -    echo "#define SDL_REVISION \"$rev\"" >$header.new
    35.8 -    echo "#define SDL_REVISION_NUMBER $revnum" >>$header.new
    35.9 +    echo "#define SDL_REVISION \"$rev\"" >"$header.new"
   35.10 +    echo "#define SDL_REVISION_NUMBER $revnum" >>"$header.new"
   35.11      if diff $header $header.new >/dev/null 2>&1; then
   35.12 -        rm $header.new
   35.13 +        rm "$header.new"
   35.14      else
   35.15 -        mv $header.new $header
   35.16 +        mv "$header.new" "$header"
   35.17      fi
   35.18  fi
    36.1 --- a/configure	Sat Apr 13 23:03:46 2013 -0400
    36.2 +++ b/configure	Sun Apr 14 11:42:55 2013 -0400
    36.3 @@ -20263,7 +20263,7 @@
    36.4          else
    36.5              set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'`
    36.6              NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
    36.7 -            set -- `directfb-config --version | sed 's/\./ /g'`
    36.8 +            set -- `$DIRECTFBCONFIG --version | sed 's/\./ /g'`
    36.9              HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
   36.10              if test $HAVE_VERSION -ge $NEED_VERSION; then
   36.11                  DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags`
   36.12 @@ -22324,6 +22324,15 @@
   36.13          # The iOS platform requires special setup.
   36.14          SOURCES="$SOURCES $srcdir/src/video/uikit/*.m"
   36.15          SOURCES="$SOURCES $srcdir/src/video/uikit/*.c"
   36.16 +        EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
   36.17 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm -liconv -lobjc"
   36.18 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Foundation"
   36.19 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,UIKit"
   36.20 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGLES"
   36.21 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuartzCore"
   36.22 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio"
   36.23 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox"
   36.24 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreGraphics"
   36.25          ;;
   36.26      *-*-darwin* )
   36.27          # This could be either full "Mac OS X", or plain "Darwin" which is
    37.1 --- a/configure.in	Sat Apr 13 23:03:46 2013 -0400
    37.2 +++ b/configure.in	Sun Apr 14 11:42:55 2013 -0400
    37.3 @@ -794,6 +794,14 @@
    37.4                 test x$enable_pulseaudio_shared = xyes && test x$pulseaudio_lib != x; then
    37.5                  echo "-- dynamic libpulse-simple -> $pulseaudio_lib"
    37.6                  AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC, "$pulseaudio_lib", [ ])
    37.7 +
    37.8 +                case "$host" in
    37.9 +                    # On Solaris, pulseaudio must be linked deferred explicitly
   37.10 +                    # to prevent undefined symbol failures.
   37.11 +                    *-*-solaris*)
   37.12 +                        PULSEAUDIO_LIBS=`echo $PULSEAUDIO_LIBS | sed 's/\-l/-Wl,-l/g'`
   37.13 +                        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-zdeferred $PULSEAUDIO_LIBS -Wl,-znodeferred"
   37.14 +                esac
   37.15              else
   37.16                  EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PULSEAUDIO_LIBS"
   37.17              fi
   37.18 @@ -1415,7 +1423,7 @@
   37.19          else
   37.20              set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'`
   37.21              NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
   37.22 -            set -- `directfb-config --version | sed 's/\./ /g'`
   37.23 +            set -- `$DIRECTFBCONFIG --version | sed 's/\./ /g'`
   37.24              HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
   37.25              if test $HAVE_VERSION -ge $NEED_VERSION; then
   37.26                  DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags`
   37.27 @@ -1767,9 +1775,20 @@
   37.28              pthread_cflags="-D_REENTRANT"
   37.29              pthread_lib="-pthread"
   37.30              ;;
   37.31 +        *-*-solaris2.9)
   37.32 +            # From Solaris 9+, posix4's preferred name is rt.
   37.33 +            pthread_cflags="-D_REENTRANT"
   37.34 +            pthread_lib="-lpthread -lrt"
   37.35 +            ;;
   37.36 +        *-*-solaris2.10)
   37.37 +            # Solaris 10+ merged pthread into libc.
   37.38 +            pthread_cflags="-D_REENTRANT"
   37.39 +            pthread_lib="-lrt"
   37.40 +            ;;
   37.41          *-*-solaris*)
   37.42 +            # Solaris 11+ merged rt into libc.
   37.43              pthread_cflags="-D_REENTRANT"
   37.44 -            pthread_lib="-lpthread -lposix4"
   37.45 +            pthread_lib=""
   37.46              ;;
   37.47          *-*-sysv5*)
   37.48              pthread_cflags="-D_REENTRANT -Kthread"
   37.49 @@ -2499,6 +2518,15 @@
   37.50          # The iOS platform requires special setup.
   37.51          SOURCES="$SOURCES $srcdir/src/video/uikit/*.m"
   37.52          SOURCES="$SOURCES $srcdir/src/video/uikit/*.c"
   37.53 +        EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
   37.54 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm -liconv -lobjc"
   37.55 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Foundation"
   37.56 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,UIKit"
   37.57 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGLES"
   37.58 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuartzCore"
   37.59 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio"
   37.60 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox"
   37.61 +        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreGraphics"
   37.62          ;;
   37.63      *-*-darwin* )
   37.64          # This could be either full "Mac OS X", or plain "Darwin" which is
    38.1 --- a/include/SDL.h	Sat Apr 13 23:03:46 2013 -0400
    38.2 +++ b/include/SDL.h	Sun Apr 14 11:42:55 2013 -0400
    38.3 @@ -41,10 +41,9 @@
    38.4   *  Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP,
    38.5   *  Pike, Pliant, Python, Ruby, and Smalltalk.
    38.6   *  
    38.7 - *  This library is distributed under GNU LGPL version 2, which can be
    38.8 + *  This library is distributed under the zlib license, which can be
    38.9   *  found in the file  "COPYING".  This license allows you to use SDL
   38.10 - *  freely in commercial programs as long as you link with the dynamic
   38.11 - *  library.
   38.12 + *  freely for any purpose as long as you retain the copyright notice.
   38.13   *  
   38.14   *  The best way to learn how to use SDL is to check out the header files in
   38.15   *  the "include" subdirectory and the programs in the "test" subdirectory.
   38.16 @@ -73,7 +72,9 @@
   38.17  #include "SDL_endian.h"
   38.18  #include "SDL_error.h"
   38.19  #include "SDL_events.h"
   38.20 +#include "SDL_joystick.h"
   38.21  #include "SDL_gamecontroller.h"
   38.22 +#include "SDL_haptic.h"
   38.23  #include "SDL_hints.h"
   38.24  #include "SDL_loadso.h"
   38.25  #include "SDL_log.h"
   38.26 @@ -112,7 +113,10 @@
   38.27  #define SDL_INIT_HAPTIC         0x00001000
   38.28  #define SDL_INIT_GAMECONTROLLER 0x00002000		/**< turn on game controller also implicitly does JOYSTICK */
   38.29  #define SDL_INIT_NOPARACHUTE    0x00100000      /**< Don't catch fatal signals */
   38.30 -#define SDL_INIT_EVERYTHING     0x0000FFFF
   38.31 +#define SDL_INIT_EVERYTHING ( \
   38.32 +                SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | \
   38.33 +                SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER \
   38.34 +            )
   38.35  /*@}*/
   38.36  
   38.37  /**
    39.1 --- a/include/SDL_atomic.h	Sat Apr 13 23:03:46 2013 -0400
    39.2 +++ b/include/SDL_atomic.h	Sun Apr 14 11:42:55 2013 -0400
    39.3 @@ -126,7 +126,7 @@
    39.4   * The compiler barrier prevents the compiler from reordering
    39.5   * reads and writes to globally visible variables across the call.
    39.6   */
    39.7 -#ifdef _MSC_VER
    39.8 +#if defined(_MSC_VER) && (_MSC_VER > 1200)
    39.9  void _ReadWriteBarrier(void);
   39.10  #pragma intrinsic(_ReadWriteBarrier)
   39.11  #define SDL_CompilerBarrier()   _ReadWriteBarrier()
   39.12 @@ -134,7 +134,7 @@
   39.13  #define SDL_CompilerBarrier()   __asm__ __volatile__ ("" : : : "memory")
   39.14  #else
   39.15  #define SDL_CompilerBarrier()   \
   39.16 -({ SDL_SpinLock _tmp = 0; SDL_AtomicLock(&_tmp); SDL_AtomicUnlock(&_tmp); })
   39.17 +{ SDL_SpinLock _tmp = 0; SDL_AtomicLock(&_tmp); SDL_AtomicUnlock(&_tmp); }
   39.18  #endif
   39.19  
   39.20  /* Platform specific optimized versions of the atomic functions,
   39.21 @@ -196,9 +196,8 @@
   39.22   * \note If you don't know what this function is for, you shouldn't use it!
   39.23  */
   39.24  #ifndef SDL_AtomicCAS
   39.25 -#define SDL_AtomicCAS SDL_AtomicCAS_
   39.26 +extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCAS(SDL_atomic_t *a, int oldval, int newval);
   39.27  #endif
   39.28 -extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCAS_(SDL_atomic_t *a, int oldval, int newval);
   39.29  
   39.30  /**
   39.31   * \brief Set an atomic variable to a value.
   39.32 @@ -206,7 +205,7 @@
   39.33   * \return The previous value of the atomic variable.
   39.34   */
   39.35  #ifndef SDL_AtomicSet
   39.36 -static __inline__ int SDL_AtomicSet(SDL_atomic_t *a, int v)
   39.37 +SDL_FORCE_INLINE int SDL_AtomicSet(SDL_atomic_t *a, int v)
   39.38  {
   39.39      int value;
   39.40      do {
   39.41 @@ -220,7 +219,7 @@
   39.42   * \brief Get the value of an atomic variable
   39.43   */
   39.44  #ifndef SDL_AtomicGet
   39.45 -static __inline__ int SDL_AtomicGet(SDL_atomic_t *a)
   39.46 +SDL_FORCE_INLINE int SDL_AtomicGet(SDL_atomic_t *a)
   39.47  {
   39.48      int value = a->value;
   39.49      SDL_CompilerBarrier();
   39.50 @@ -236,7 +235,7 @@
   39.51   * \note This same style can be used for any number operation
   39.52   */
   39.53  #ifndef SDL_AtomicAdd
   39.54 -static __inline__ int SDL_AtomicAdd(SDL_atomic_t *a, int v)
   39.55 +SDL_FORCE_INLINE int SDL_AtomicAdd(SDL_atomic_t *a, int v)
   39.56  {
   39.57      int value;
   39.58      do {
   39.59 @@ -271,9 +270,8 @@
   39.60   * \note If you don't know what this function is for, you shouldn't use it!
   39.61  */
   39.62  #ifndef SDL_AtomicCASPtr
   39.63 -#define SDL_AtomicCASPtr SDL_AtomicCASPtr_
   39.64 +extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCASPtr(void* *a, void *oldval, void *newval);
   39.65  #endif
   39.66 -extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCASPtr_(void* *a, void *oldval, void *newval);
   39.67  
   39.68  /**
   39.69   * \brief Set a pointer to a value atomically.
   39.70 @@ -281,7 +279,7 @@
   39.71   * \return The previous value of the pointer.
   39.72   */
   39.73  #ifndef SDL_AtomicSetPtr
   39.74 -static __inline__ void* SDL_AtomicSetPtr(void* *a, void* v)
   39.75 +SDL_FORCE_INLINE void* SDL_AtomicSetPtr(void* *a, void* v)
   39.76  {
   39.77      void* value;
   39.78      do {
   39.79 @@ -295,7 +293,7 @@
   39.80   * \brief Get the value of a pointer atomically.
   39.81   */
   39.82  #ifndef SDL_AtomicGetPtr
   39.83 -static __inline__ void* SDL_AtomicGetPtr(void* *a)
   39.84 +SDL_FORCE_INLINE void* SDL_AtomicGetPtr(void* *a)
   39.85  {
   39.86      void* value = *a;
   39.87      SDL_CompilerBarrier();
    40.1 --- a/include/SDL_bits.h	Sat Apr 13 23:03:46 2013 -0400
    40.2 +++ b/include/SDL_bits.h	Sun Apr 14 11:42:55 2013 -0400
    40.3 @@ -40,11 +40,6 @@
    40.4  
    40.5  /**
    40.6   *  \file SDL_bits.h
    40.7 - *
    40.8 - *  Uses inline functions for compilers that support them, and static
    40.9 - *  functions for those that do not.  Because these functions become
   40.10 - *  static for compilers that do not support inline functions, this
   40.11 - *  header should only be included in files that actually use them.
   40.12   */
   40.13  
   40.14  /**
   40.15 @@ -54,10 +49,10 @@
   40.16   *
   40.17   *  \return Index of the most significant bit.
   40.18   */
   40.19 -static __inline__ Sint8
   40.20 +SDL_FORCE_INLINE Sint8
   40.21  SDL_MostSignificantBitIndex32(Uint32 x)
   40.22  {
   40.23 -#if defined(__GNUC__)
   40.24 +#if defined(__GNUC__) && __GNUC__ >= 4
   40.25      /* Count Leading Zeroes builtin in GCC.
   40.26       * http://gcc.gnu.org/onlinedocs/gcc-4.3.4/gcc/Other-Builtins.html
   40.27       */
    41.1 --- a/include/SDL_config.h	Sat Apr 13 23:03:46 2013 -0400
    41.2 +++ b/include/SDL_config.h	Sun Apr 14 11:42:55 2013 -0400
    41.3 @@ -39,8 +39,8 @@
    41.4  #include "SDL_config_iphoneos.h"
    41.5  #elif defined(__ANDROID__)
    41.6  #include "SDL_config_android.h"
    41.7 -#elif defined(__NINTENDODS__)
    41.8 -#include "SDL_config_nintendods.h"
    41.9 +#elif defined(__PSP__)
   41.10 +#include "SDL_config_psp.h"
   41.11  #else
   41.12  /* This is a minimal configuration just to get SDL running on new platforms */
   41.13  #include "SDL_config_minimal.h"
    42.1 --- a/include/SDL_config.h.cmake	Sat Apr 13 23:03:46 2013 -0400
    42.2 +++ b/include/SDL_config.h.cmake	Sun Apr 14 11:42:55 2013 -0400
    42.3 @@ -195,7 +195,6 @@
    42.4  #cmakedefine SDL_AUDIO_DRIVER_ESD_DYNAMIC @SDL_AUDIO_DRIVER_ESD_DYNAMIC@
    42.5  #cmakedefine SDL_AUDIO_DRIVER_NAS @SDL_AUDIO_DRIVER_NAS@
    42.6  #cmakedefine SDL_AUDIO_DRIVER_NAS_DYNAMIC @SDL_AUDIO_DRIVER_NAS_DYNAMIC@
    42.7 -#cmakedefine SDL_AUDIO_DRIVER_NDS @SDL_AUDIO_DRIVER_NDS@
    42.8  #cmakedefine SDL_AUDIO_DRIVER_OSS @SDL_AUDIO_DRIVER_OSS@
    42.9  #cmakedefine SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H @SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H@
   42.10  #cmakedefine SDL_AUDIO_DRIVER_PAUDIO @SDL_AUDIO_DRIVER_PAUDIO@
   42.11 @@ -213,7 +212,6 @@
   42.12  #cmakedefine SDL_JOYSTICK_DUMMY @SDL_JOYSTICK_DUMMY@
   42.13  #cmakedefine SDL_JOYSTICK_IOKIT @SDL_JOYSTICK_IOKIT@
   42.14  #cmakedefine SDL_JOYSTICK_LINUX @SDL_JOYSTICK_LINUX@
   42.15 -#cmakedefine SDL_JOYSTICK_NDS @SDL_JOYSTICK_NDS@
   42.16  #cmakedefine SDL_JOYSTICK_WINMM @SDL_JOYSTICK_WINMM@
   42.17  #cmakedefine SDL_JOYSTICK_USBHID @SDL_JOYSTICK_USBHID@
   42.18  #cmakedefine SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H @SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H@
   42.19 @@ -231,7 +229,6 @@
   42.20  
   42.21  /* Enable various threading systems */
   42.22  #cmakedefine SDL_THREAD_BEOS @SDL_THREAD_BEOS@
   42.23 -#cmakedefine SDL_THREAD_NDS @SDL_THREAD_NDS@
   42.24  #cmakedefine SDL_THREAD_PTHREAD @SDL_THREAD_PTHREAD@
   42.25  #cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX@
   42.26  #cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP@
   42.27 @@ -240,7 +237,6 @@
   42.28  /* Enable various timer systems */
   42.29  #cmakedefine SDL_TIMER_BEOS @SDL_TIMER_BEOS@
   42.30  #cmakedefine SDL_TIMER_DUMMY @SDL_TIMER_DUMMY@
   42.31 -#cmakedefine SDL_TIMER_NDS @SDL_TIMER_NDS@
   42.32  #cmakedefine SDL_TIMER_UNIX @SDL_TIMER_UNIX@
   42.33  #cmakedefine SDL_TIMER_WINDOWS @SDL_TIMER_WINDOWS@
   42.34  #cmakedefine SDL_TIMER_WINCE @SDL_TIMER_WINCE@
   42.35 @@ -251,7 +247,6 @@
   42.36  #cmakedefine SDL_VIDEO_DRIVER_DIRECTFB @SDL_VIDEO_DRIVER_DIRECTFB@
   42.37  #cmakedefine SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC @SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC@
   42.38  #cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@
   42.39 -#cmakedefine SDL_VIDEO_DRIVER_NDS @SDL_VIDEO_DRIVER_NDS@
   42.40  #cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@
   42.41  #cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@
   42.42  #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@
   42.43 @@ -295,7 +290,6 @@
   42.44  #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@
   42.45  #cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@
   42.46  #cmakedefine SDL_POWER_BEOS @SDL_POWER_BEOS@
   42.47 -#cmakedefine SDL_POWER_NINTENDODS @SDL_POWER_NINTENDODS@
   42.48  #cmakedefine SDL_POWER_HARDWIRED @SDL_POWER_HARDWIRED@
   42.49  
   42.50  /* Enable assembly routines */
    43.1 --- a/include/SDL_config.h.in	Sat Apr 13 23:03:46 2013 -0400
    43.2 +++ b/include/SDL_config.h.in	Sun Apr 14 11:42:55 2013 -0400
    43.3 @@ -198,7 +198,6 @@
    43.4  #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC
    43.5  #undef SDL_AUDIO_DRIVER_NAS
    43.6  #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC
    43.7 -#undef SDL_AUDIO_DRIVER_NDS
    43.8  #undef SDL_AUDIO_DRIVER_OSS
    43.9  #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
   43.10  #undef SDL_AUDIO_DRIVER_PAUDIO
   43.11 @@ -216,7 +215,6 @@
   43.12  #undef SDL_JOYSTICK_DUMMY
   43.13  #undef SDL_JOYSTICK_IOKIT
   43.14  #undef SDL_JOYSTICK_LINUX
   43.15 -#undef SDL_JOYSTICK_NDS
   43.16  #undef SDL_JOYSTICK_WINMM
   43.17  #undef SDL_JOYSTICK_USBHID
   43.18  #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
   43.19 @@ -234,7 +232,6 @@
   43.20  
   43.21  /* Enable various threading systems */
   43.22  #undef SDL_THREAD_BEOS
   43.23 -#undef SDL_THREAD_NDS
   43.24  #undef SDL_THREAD_PTHREAD
   43.25  #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX
   43.26  #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP
   43.27 @@ -243,7 +240,6 @@
   43.28  /* Enable various timer systems */
   43.29  #undef SDL_TIMER_BEOS
   43.30  #undef SDL_TIMER_DUMMY
   43.31 -#undef SDL_TIMER_NDS
   43.32  #undef SDL_TIMER_UNIX
   43.33  #undef SDL_TIMER_WINDOWS
   43.34  
   43.35 @@ -253,7 +249,6 @@
   43.36  #undef SDL_VIDEO_DRIVER_DIRECTFB
   43.37  #undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC
   43.38  #undef SDL_VIDEO_DRIVER_DUMMY
   43.39 -#undef SDL_VIDEO_DRIVER_NDS
   43.40  #undef SDL_VIDEO_DRIVER_WINDOWS
   43.41  #undef SDL_VIDEO_DRIVER_X11
   43.42  #undef SDL_VIDEO_DRIVER_X11_DYNAMIC
   43.43 @@ -297,7 +292,6 @@
   43.44  #undef SDL_POWER_WINDOWS
   43.45  #undef SDL_POWER_MACOSX
   43.46  #undef SDL_POWER_BEOS
   43.47 -#undef SDL_POWER_NINTENDODS
   43.48  #undef SDL_POWER_HARDWIRED
   43.49  
   43.50  /* Enable assembly routines */
    44.1 --- a/include/SDL_config_nintendods.h	Sat Apr 13 23:03:46 2013 -0400
    44.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    44.3 @@ -1,129 +0,0 @@
    44.4 -/*
    44.5 -  Simple DirectMedia Layer
    44.6 -  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
    44.7 -
    44.8 -  This software is provided 'as-is', without any express or implied
    44.9 -  warranty.  In no event will the authors be held liable for any damages
   44.10 -  arising from the use of this software.
   44.11 -
   44.12 -  Permission is granted to anyone to use this software for any purpose,
   44.13 -  including commercial applications, and to alter it and redistribute it
   44.14 -  freely, subject to the following restrictions:
   44.15 -
   44.16 -  1. The origin of this software must not be misrepresented; you must not
   44.17 -     claim that you wrote the original software. If you use this software
   44.18 -     in a product, an acknowledgment in the product documentation would be
   44.19 -     appreciated but is not required.
   44.20 -  2. Altered source versions must be plainly marked as such, and must not be
   44.21 -     misrepresented as being the original software.
   44.22 -  3. This notice may not be removed or altered from any source distribution.
   44.23 -*/
   44.24 -
   44.25 -#ifndef _SDL_config_nintendods_h
   44.26 -#define _SDL_config_nintendods_h
   44.27 -
   44.28 -#include "SDL_platform.h"
   44.29 -
   44.30 -/* This is a set of defines to configure the SDL features */
   44.31 -
   44.32 -#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
   44.33 -typedef signed char int8_t;
   44.34 -typedef unsigned char uint8_t;
   44.35 -typedef signed short int16_t;
   44.36 -typedef unsigned short uint16_t;
   44.37 -typedef signed int int32_t;
   44.38 -typedef unsigned int uint32_t;
   44.39 -typedef signed long long int64_t;
   44.40 -typedef unsigned long long uint64_t;
   44.41 -
   44.42 -/* LiF: __PTRDIFF_TYPE__ was causing errors of conflicting typedefs with the
   44.43 -   <stdint.h> shipping with devkitARM.  copied a similar ifdef from it. */
   44.44 -#ifndef __PTRDIFF_TYPE__
   44.45 -typedef unsigned long uintptr_t;
   44.46 -#else
   44.47 -typedef unsigned __PTRDIFF_TYPE__ uintptr_t;
   44.48 -#endif
   44.49 -#endif /* !_STDINT_H_ && !HAVE_STDINT_H */
   44.50 -
   44.51 -#define SIZEOF_VOIDP 4
   44.52 -
   44.53 -/* Useful headers */
   44.54 -#define HAVE_SYS_TYPES_H	1
   44.55 -#define HAVE_STDIO_H	1
   44.56 -#define STDC_HEADERS	1
   44.57 -#define HAVE_STRING_H	1
   44.58 -#define HAVE_CTYPE_H	1
   44.59 -
   44.60 -/* C library functions */
   44.61 -#define HAVE_MALLOC	1
   44.62 -#define HAVE_CALLOC	1
   44.63 -#define HAVE_REALLOC	1
   44.64 -#define HAVE_FREE	1
   44.65 -#define HAVE_ALLOCA	1
   44.66 -#define HAVE_GETENV	1
   44.67 -#define HAVE_SETENV	1
   44.68 -#define HAVE_PUTENV	1
   44.69 -#define HAVE_QSORT	1
   44.70 -#define HAVE_ABS	1
   44.71 -#define HAVE_BCOPY	1
   44.72 -#define HAVE_MEMSET	1
   44.73 -#define HAVE_MEMCPY	1
   44.74 -#define HAVE_MEMMOVE	1
   44.75 -#define HAVE_MEMCMP	1
   44.76 -#define HAVE_STRLEN	1
   44.77 -#define HAVE_STRDUP	1
   44.78 -#define HAVE_INDEX	1
   44.79 -#define HAVE_RINDEX	1
   44.80 -#define HAVE_STRCHR	1
   44.81 -#define HAVE_STRRCHR	1
   44.82 -#define HAVE_STRSTR	1
   44.83 -#define HAVE_STRTOL	1
   44.84 -#define HAVE_STRTOD	1
   44.85 -#define HAVE_ATOI	1
   44.86 -#define HAVE_ATOF	1
   44.87 -#define HAVE_STRCMP	1
   44.88 -#define HAVE_STRNCMP	1
   44.89 -#define HAVE_STRICMP	1
   44.90 -#define HAVE_STRCASECMP	1
   44.91 -#define HAVE_SSCANF	1
   44.92 -#define HAVE_SNPRINTF	1
   44.93 -#define HAVE_VSNPRINTF	1
   44.94 -
   44.95 -/* DS isn't that sophisticated */
   44.96 -#define LACKS_SYS_MMAN_H 1
   44.97 -
   44.98 -/* Enable various audio drivers */
   44.99 -#define SDL_AUDIO_DRIVER_NDS	1
  44.100 -/*#define SDL_AUDIO_DRIVER_DUMMY	1 TODO: uncomment this later*/
  44.101 -
  44.102 -/* Enable various input drivers */
  44.103 -#define SDL_JOYSTICK_NDS	1
  44.104 -/*#define SDL_JOYSTICK_DUMMY	1 TODO: uncomment this later*/
  44.105 -
  44.106 -/* DS has no dynamic linking afaik */
  44.107 -#define SDL_LOADSO_DISABLED	1
  44.108 -
  44.109 -/* Enable various threading systems */
  44.110 -/*#define SDL_THREAD_NDS	1*/
  44.111 -#define SDL_THREADS_DISABLED	1
  44.112 -
  44.113 -/* Enable various timer systems */
  44.114 -#define SDL_TIMER_NDS	1
  44.115 -
  44.116 -/* Enable various video drivers */
  44.117 -#define SDL_VIDEO_DRIVER_NDS	1
  44.118 -#ifdef USE_HW_RENDERER
  44.119 -#define SDL_VIDEO_RENDER_NDS	1
  44.120 -#else
  44.121 -#define SDL_VIDEO_RENDER_NDS	0
  44.122 -#endif
  44.123 -
  44.124 -/* Enable system power support */
  44.125 -#define SDL_POWER_NINTENDODS 1
  44.126 -
  44.127 -/* Enable haptic support */
  44.128 -#define SDL_HAPTIC_NDS 1
  44.129 -
  44.130 -#define SDL_BYTEORDER   SDL_LIL_ENDIAN
  44.131 -
  44.132 -#endif /* _SDL_config_nintendods_h */
    45.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.2 +++ b/include/SDL_config_psp.h	Sun Apr 14 11:42:55 2013 -0400
    45.3 @@ -0,0 +1,136 @@
    45.4 +/*
    45.5 +  Simple DirectMedia Layer
    45.6 +  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
    45.7 +
    45.8 +  This software is provided 'as-is', without any express or implied
    45.9 +  warranty.  In no event will the authors be held liable for any damages
   45.10 +  arising from the use of this software.
   45.11 +
   45.12 +  Permission is granted to anyone to use this software for any purpose,
   45.13 +  including commercial applications, and to alter it and redistribute it
   45.14 +  freely, subject to the following restrictions:
   45.15 +
   45.16 +  1. The origin of this software must not be misrepresented; you must not
   45.17 +     claim that you wrote the original software. If you use this software
   45.18 +     in a product, an acknowledgment in the product documentation would be
   45.19 +     appreciated but is not required.
   45.20 +  2. Altered source versions must be plainly marked as such, and must not be
   45.21 +     misrepresented as being the original software.
   45.22 +  3. This notice may not be removed or altered from any source distribution.
   45.23 +*/
   45.24 +
   45.25 +#ifndef _SDL_config_psp_h
   45.26 +#define _SDL_config_psp_h
   45.27 +
   45.28 +#include "SDL_platform.h"
   45.29 +
   45.30 +
   45.31 +
   45.32 +#ifdef __GNUC__
   45.33 +#define HAVE_GCC_SYNC_LOCK_TEST_AND_SET 1
   45.34 +#endif
   45.35 +
   45.36 +#define HAVE_GCC_ATOMICS	1
   45.37 +
   45.38 +#define HAVE_ALLOCA_H		1
   45.39 +#define HAVE_SYS_TYPES_H	1
   45.40 +#define HAVE_STDIO_H	1
   45.41 +#define STDC_HEADERS	1
   45.42 +#define HAVE_STRING_H	1
   45.43 +#define HAVE_INTTYPES_H	1
   45.44 +#define HAVE_STDINT_H	1
   45.45 +#define HAVE_CTYPE_H	1
   45.46 +#define HAVE_MATH_H	1
   45.47 +#define HAVE_SIGNAL_H	1
   45.48 +
   45.49 +/* C library functions */
   45.50 +#define HAVE_MALLOC	1
   45.51 +#define HAVE_CALLOC	1
   45.52 +#define HAVE_REALLOC	1
   45.53 +#define HAVE_FREE	1
   45.54 +#define HAVE_ALLOCA	1
   45.55 +#define HAVE_GETENV	1
   45.56 +#define HAVE_SETENV	1
   45.57 +#define HAVE_PUTENV	1
   45.58 +#define HAVE_SETENV	1
   45.59 +#define HAVE_UNSETENV	1
   45.60 +#define HAVE_QSORT	1
   45.61 +#define HAVE_ABS	1
   45.62 +#define HAVE_BCOPY	1
   45.63 +#define HAVE_MEMSET	1
   45.64 +#define HAVE_MEMCPY	1
   45.65 +#define HAVE_MEMMOVE	1
   45.66 +#define HAVE_MEMCMP	1
   45.67 +#define HAVE_STRLEN	1
   45.68 +#define HAVE_STRLCPY	1
   45.69 +#define HAVE_STRLCAT	1
   45.70 +#define HAVE_STRDUP	1
   45.71 +#define HAVE_STRCHR	1
   45.72 +#define HAVE_STRRCHR	1
   45.73 +#define HAVE_STRSTR	1
   45.74 +#define HAVE_STRTOL	1
   45.75 +#define HAVE_STRTOUL	1
   45.76 +#define HAVE_STRTOLL	1
   45.77 +#define HAVE_STRTOULL	1
   45.78 +#define HAVE_STRTOD	1
   45.79 +#define HAVE_ATOI	1
   45.80 +#define HAVE_ATOF	1
   45.81 +#define HAVE_STRCMP	1
   45.82 +#define HAVE_STRNCMP	1
   45.83 +#define HAVE_STRCASECMP	1
   45.84 +#define HAVE_STRNCASECMP 1
   45.85 +#define HAVE_SSCANF	1
   45.86 +#define HAVE_SNPRINTF	1
   45.87 +#define HAVE_VSNPRINTF	1
   45.88 +#define HAVE_M_PI	1
   45.89 +#define HAVE_ATAN	1
   45.90 +#define HAVE_ATAN2	1
   45.91 +#define HAVE_CEIL	1
   45.92 +#define HAVE_COPYSIGN	1
   45.93 +#define HAVE_COS	1
   45.94 +#define HAVE_COSF	1
   45.95 +#define HAVE_FABS	1
   45.96 +#define HAVE_FLOOR	1
   45.97 +#define HAVE_LOG	1
   45.98 +#define HAVE_POW	1
   45.99 +#define HAVE_SCALBN	1
  45.100 +#define HAVE_SIN	1
  45.101 +#define HAVE_SINF	1
  45.102 +#define HAVE_SQRT	1
  45.103 +#define HAVE_SETJMP	1
  45.104 +#define HAVE_NANOSLEEP	1
  45.105 +//#define HAVE_SYSCONF	1
  45.106 +//#define HAVE_SIGACTION	1
  45.107 +
  45.108 +
  45.109 +/* PSP isn't that sophisticated */
  45.110 +#define LACKS_SYS_MMAN_H 1
  45.111 +
  45.112 +/* Enable the stub thread support (src/thread/psp/\*.c) */
  45.113 +#define SDL_THREAD_PSP	1
  45.114 +
  45.115 +/* Enable the stub timer support (src/timer/psp/\*.c) */
  45.116 +#define SDL_TIMERS_PSP	1
  45.117 +
  45.118 +/* Enable the stub joystick driver (src/joystick/psp/\*.c) */
  45.119 +#define SDL_JOYSTICK_PSP		1
  45.120 +
  45.121 +/* Enable the stub audio driver (src/audio/psp/\*.c) */
  45.122 +#define SDL_AUDIO_DRIVER_PSP	1
  45.123 +
  45.124 +/* PSP video dirver */
  45.125 +#define SDL_VIDEO_DRIVER_PSP   1
  45.126 +
  45.127 +/* PSP render dirver */
  45.128 +#define SDL_VIDEO_RENDER_PSP   1
  45.129 +
  45.130 +#define SDL_POWER_PSP          1
  45.131 +
  45.132 +/* PSP doesn't have haptic device (src/haptic/dummy/\*.c) */
  45.133 +#define SDL_HAPTIC_DISABLED	   1
  45.134 +
  45.135 +/* PSP can't load shared object (src/loadso/dummy/\*.c) */
  45.136 +#define SDL_LOADSO_DISABLED	   1
  45.137 +
  45.138 +
  45.139 +#endif /* _SDL_config_minimal_h */
    46.1 --- a/include/SDL_config_windowsrt.h	Sat Apr 13 23:03:46 2013 -0400
    46.2 +++ b/include/SDL_config_windowsrt.h	Sun Apr 14 11:42:55 2013 -0400
    46.3 @@ -109,7 +109,7 @@
    46.4  //#define HAVE__ULTOA 1	// TODO, WinRT: consider using _ultoa_s instead
    46.5  #define HAVE_STRTOL 1
    46.6  #define HAVE_STRTOUL 1
    46.7 -#define HAVE_STRTOLL 1
    46.8 +//#define HAVE_STRTOLL 1
    46.9  #define HAVE_STRTOD 1
   46.10  #define HAVE_ATOI 1
   46.11  #define HAVE_ATOF 1
   46.12 @@ -123,14 +123,14 @@
   46.13  #define HAVE_ATAN 1
   46.14  #define HAVE_ATAN2 1
   46.15  #define HAVE_CEIL 1
   46.16 -#define HAVE_COPYSIGN 1
   46.17 +//#define HAVE_COPYSIGN 1   // TODO, WinRT: consider using _copysign instead
   46.18  #define HAVE_COS 1
   46.19  #define HAVE_COSF 1
   46.20  #define HAVE_FABS 1
   46.21  #define HAVE_FLOOR 1
   46.22  #define HAVE_LOG 1
   46.23  #define HAVE_POW 1
   46.24 -#define HAVE_SCALBN 1
   46.25 +//#define HAVE_SCALBN 1
   46.26  #define HAVE_SIN 1
   46.27  #define HAVE_SINF 1
   46.28  #define HAVE_SQRT 1
    47.1 --- a/include/SDL_endian.h	Sat Apr 13 23:03:46 2013 -0400
    47.2 +++ b/include/SDL_endian.h	Sun Apr 14 11:42:55 2013 -0400
    47.3 @@ -66,29 +66,24 @@
    47.4  
    47.5  /**
    47.6   *  \file SDL_endian.h
    47.7 - *  
    47.8 - *  Uses inline functions for compilers that support them, and static
    47.9 - *  functions for those that do not.  Because these functions become
   47.10 - *  static for compilers that do not support inline functions, this
   47.11 - *  header should only be included in files that actually use them.
   47.12   */
   47.13  #if defined(__GNUC__) && defined(__i386__) && \
   47.14     !(__GNUC__ == 2 && __GNUC_MINOR__ == 95 /* broken gcc version */)
   47.15 -static __inline__ Uint16
   47.16 +SDL_FORCE_INLINE Uint16
   47.17  SDL_Swap16(Uint16 x)
   47.18  {
   47.19    __asm__("xchgb %b0,%h0": "=q"(x):"0"(x));
   47.20      return x;
   47.21  }
   47.22  #elif defined(__GNUC__) && defined(__x86_64__)
   47.23 -static __inline__ Uint16
   47.24 +SDL_FORCE_INLINE Uint16
   47.25  SDL_Swap16(Uint16 x)
   47.26  {
   47.27    __asm__("xchgb %b0,%h0": "=Q"(x):"0"(x));
   47.28      return x;
   47.29  }
   47.30  #elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))
   47.31 -static __inline__ Uint16
   47.32 +SDL_FORCE_INLINE Uint16
   47.33  SDL_Swap16(Uint16 x)
   47.34  {
   47.35      int result;
   47.36 @@ -97,14 +92,14 @@
   47.37      return (Uint16)result;
   47.38  }
   47.39  #elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) && !defined(__mcoldfire__)
   47.40 -static __inline__ Uint16
   47.41 +SDL_FORCE_INLINE Uint16
   47.42  SDL_Swap16(Uint16 x)
   47.43  {
   47.44    __asm__("rorw #8,%0": "=d"(x): "0"(x):"cc");
   47.45      return x;
   47.46  }
   47.47  #else
   47.48 -static __inline__ Uint16
   47.49 +SDL_FORCE_INLINE Uint16
   47.50  SDL_Swap16(Uint16 x)
   47.51  {
   47.52      return SDL_static_cast(Uint16, ((x << 8) | (x >> 8)));
   47.53 @@ -112,21 +107,21 @@
   47.54  #endif
   47.55  
   47.56  #if defined(__GNUC__) && defined(__i386__)
   47.57 -static __inline__ Uint32
   47.58 +SDL_FORCE_INLINE Uint32
   47.59  SDL_Swap32(Uint32 x)
   47.60  {
   47.61    __asm__("bswap %0": "=r"(x):"0"(x));
   47.62      return x;
   47.63  }
   47.64  #elif defined(__GNUC__) && defined(__x86_64__)
   47.65 -static __inline__ Uint32
   47.66 +SDL_FORCE_INLINE Uint32
   47.67  SDL_Swap32(Uint32 x)
   47.68  {
   47.69    __asm__("bswapl %0": "=r"(x):"0"(x));
   47.70      return x;
   47.71  }
   47.72  #elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))
   47.73 -static __inline__ Uint32
   47.74 +SDL_FORCE_INLINE Uint32
   47.75  SDL_Swap32(Uint32 x)
   47.76  {
   47.77      Uint32 result;
   47.78 @@ -137,14 +132,14 @@
   47.79      return result;
   47.80  }
   47.81  #elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) && !defined(__mcoldfire__)
   47.82 -static __inline__ Uint32
   47.83 +SDL_FORCE_INLINE Uint32
   47.84  SDL_Swap32(Uint32 x)
   47.85  {
   47.86    __asm__("rorw #8,%0\n\tswap %0\n\trorw #8,%0": "=d"(x): "0"(x):"cc");
   47.87      return x;
   47.88  }
   47.89  #else
   47.90 -static __inline__ Uint32
   47.91 +SDL_FORCE_INLINE Uint32
   47.92  SDL_Swap32(Uint32 x)
   47.93  {
   47.94      return SDL_static_cast(Uint32, ((x << 24) | ((x << 8) & 0x00FF0000) |
   47.95 @@ -153,7 +148,7 @@
   47.96  #endif
   47.97  
   47.98  #if defined(__GNUC__) && defined(__i386__)
   47.99 -static __inline__ Uint64
  47.100 +SDL_FORCE_INLINE Uint64
  47.101  SDL_Swap64(Uint64 x)
  47.102  {
  47.103      union
  47.104 @@ -171,14 +166,14 @@
  47.105      return v.u;
  47.106  }
  47.107  #elif defined(__GNUC__) && defined(__x86_64__)
  47.108 -static __inline__ Uint64
  47.109 +SDL_FORCE_INLINE Uint64
  47.110  SDL_Swap64(Uint64 x)
  47.111  {
  47.112    __asm__("bswapq %0": "=r"(x):"0"(x));
  47.113      return x;
  47.114  }
  47.115  #else
  47.116 -static __inline__ Uint64
  47.117 +SDL_FORCE_INLINE Uint64
  47.118  SDL_Swap64(Uint64 x)
  47.119  {
  47.120      Uint32 hi, lo;
  47.121 @@ -195,7 +190,7 @@
  47.122  #endif
  47.123  
  47.124  
  47.125 -static __inline__ float
  47.126 +SDL_FORCE_INLINE float
  47.127  SDL_SwapFloat(float x)
  47.128  {
  47.129      union
    48.1 --- a/include/SDL_error.h	Sat Apr 13 23:03:46 2013 -0400
    48.2 +++ b/include/SDL_error.h	Sun Apr 14 11:42:55 2013 -0400
    48.3 @@ -39,7 +39,8 @@
    48.4  #endif
    48.5  
    48.6  /* Public functions */
    48.7 -extern DECLSPEC void SDLCALL SDL_SetError(const char *fmt, ...);
    48.8 +/* SDL_SetError() unconditionally returns -1. */
    48.9 +extern DECLSPEC int SDLCALL SDL_SetError(const char *fmt, ...);
   48.10  extern DECLSPEC const char *SDLCALL SDL_GetError(void);
   48.11  extern DECLSPEC void SDLCALL SDL_ClearError(void);
   48.12  
   48.13 @@ -62,7 +63,8 @@
   48.14      SDL_UNSUPPORTED,
   48.15      SDL_LASTERROR
   48.16  } SDL_errorcode;
   48.17 -extern DECLSPEC void SDLCALL SDL_Error(SDL_errorcode code);
   48.18 +/* SDL_Error() unconditionally returns -1. */
   48.19 +extern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code);
   48.20  /*@}*//*Internal error functions*/
   48.21  
   48.22  /* Ends C function definitions when using C++ */
    49.1 --- a/include/SDL_events.h	Sat Apr 13 23:03:46 2013 -0400
    49.2 +++ b/include/SDL_events.h	Sun Apr 14 11:42:55 2013 -0400
    49.3 @@ -77,14 +77,6 @@
    49.4      SDL_MOUSEBUTTONUP,          /**< Mouse button released */
    49.5      SDL_MOUSEWHEEL,             /**< Mouse wheel motion */
    49.6  
    49.7 -    /* Tablet or multiple mice input device events */
    49.8 -    SDL_INPUTMOTION    = 0x500, /**< Input moved */
    49.9 -    SDL_INPUTBUTTONDOWN,        /**< Input button pressed */
   49.10 -    SDL_INPUTBUTTONUP,          /**< Input button released */
   49.11 -    SDL_INPUTWHEEL,             /**< Input wheel motion */
   49.12 -    SDL_INPUTPROXIMITYIN,       /**< Input pen entered proximity */
   49.13 -    SDL_INPUTPROXIMITYOUT,      /**< Input pen left proximity */
   49.14 -
   49.15      /* Joystick events */
   49.16      SDL_JOYAXISMOTION  = 0x600, /**< Joystick axis motion */
   49.17      SDL_JOYBALLMOTION,          /**< Joystick trackball motion */
   49.18 @@ -100,13 +92,12 @@
   49.19  	SDL_CONTROLLERBUTTONUP,            /**< Game controller button released */
   49.20  	SDL_CONTROLLERDEVICEADDED,         /**< A new Game controller has been inserted into the system */
   49.21  	SDL_CONTROLLERDEVICEREMOVED,       /**< An opened Game controller has been removed */
   49.22 +	SDL_CONTROLLERDEVICEREMAPPED,      /**< The controller mapping was updated */
   49.23  
   49.24      /* Touch events */
   49.25      SDL_FINGERDOWN      = 0x700,
   49.26      SDL_FINGERUP,
   49.27      SDL_FINGERMOTION,
   49.28 -    SDL_TOUCHBUTTONDOWN,
   49.29 -    SDL_TOUCHBUTTONUP,    
   49.30  
   49.31      /* Gesture events */
   49.32      SDL_DOLLARGESTURE   = 0x800,
   49.33 @@ -131,6 +122,15 @@
   49.34  } SDL_EventType;
   49.35  
   49.36  /**
   49.37 + *  \brief Fields shared by every event
   49.38 + */
   49.39 +typedef struct SDL_GenericEvent
   49.40 +{
   49.41 +    Uint32 type;
   49.42 +    Uint32 timestamp;
   49.43 +} SDL_GenericEvent;
   49.44 +    
   49.45 +/**
   49.46   *  \brief Window state change event data (event.window.*)
   49.47   */
   49.48  typedef struct SDL_WindowEvent
   49.49 @@ -142,8 +142,8 @@
   49.50      Uint8 padding1;
   49.51      Uint8 padding2;
   49.52      Uint8 padding3;
   49.53 -    int data1;          /**< event dependent data */
   49.54 -    int data2;          /**< event dependent data */
   49.55 +    Sint32 data1;       /**< event dependent data */
   49.56 +    Sint32 data2;       /**< event dependent data */
   49.57  } SDL_WindowEvent;
   49.58  
   49.59  /**
   49.60 @@ -171,8 +171,8 @@
   49.61      Uint32 timestamp;
   49.62      Uint32 windowID;                            /**< The window with keyboard focus, if any */
   49.63      char text[SDL_TEXTEDITINGEVENT_TEXT_SIZE];  /**< The editing text */
   49.64 -    int start;                                  /**< The start cursor of selected editing text */
   49.65 -    int length;                                 /**< The length of selected editing text */
   49.66 +    Sint32 start;                               /**< The start cursor of selected editing text */
   49.67 +    Sint32 length;                              /**< The length of selected editing text */
   49.68  } SDL_TextEditingEvent;
   49.69  
   49.70  
   49.71 @@ -196,14 +196,15 @@
   49.72      Uint32 type;        /**< ::SDL_MOUSEMOTION */
   49.73      Uint32 timestamp;
   49.74      Uint32 windowID;    /**< The window with mouse focus, if any */
   49.75 +    Uint32 which;       /**< The mouse instance id, or SDL_TOUCH_MOUSEID */
   49.76      Uint8 state;        /**< The current button state */
   49.77      Uint8 padding1;
   49.78      Uint8 padding2;
   49.79      Uint8 padding3;
   49.80 -    int x;              /**< X coordinate, relative to window */
   49.81 -    int y;              /**< Y coordinate, relative to window */
   49.82 -    int xrel;           /**< The relative motion in the X direction */
   49.83 -    int yrel;           /**< The relative motion in the Y direction */
   49.84 +    Sint32 x;           /**< X coordinate, relative to window */
   49.85 +    Sint32 y;           /**< Y coordinate, relative to window */
   49.86 +    Sint32 xrel;        /**< The relative motion in the X direction */
   49.87 +    Sint32 yrel;        /**< The relative motion in the Y direction */
   49.88  } SDL_MouseMotionEvent;
   49.89  
   49.90  /**
   49.91 @@ -214,12 +215,13 @@
   49.92      Uint32 type;        /**< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP */
   49.93      Uint32 timestamp;
   49.94      Uint32 windowID;    /**< The window with mouse focus, if any */
   49.95 +    Uint32 which;       /**< The mouse instance id, or SDL_TOUCH_MOUSEID */
   49.96      Uint8 button;       /**< The mouse button index */
   49.97      Uint8 state;        /**< ::SDL_PRESSED or ::SDL_RELEASED */
   49.98      Uint8 padding1;
   49.99      Uint8 padding2;
  49.100 -    int x;              /**< X coordinate, relative to window */
  49.101 -    int y;              /**< Y coordinate, relative to window */
  49.102 +    Sint32 x;           /**< X coordinate, relative to window */
  49.103 +    Sint32 y;           /**< Y coordinate, relative to window */
  49.104  } SDL_MouseButtonEvent;
  49.105  
  49.106  /**
  49.107 @@ -230,8 +232,9 @@
  49.108      Uint32 type;        /**< ::SDL_MOUSEWHEEL */
  49.109      Uint32 timestamp;
  49.110      Uint32 windowID;    /**< The window with mouse focus, if any */
  49.111 -    int x;              /**< The amount scrolled horizontally */
  49.112 -    int y;              /**< The amount scrolled vertically */
  49.113 +    Uint32 which;       /**< The mouse instance id, or SDL_TOUCH_MOUSEID */
  49.114 +    Sint32 x;           /**< The amount scrolled horizontally */
  49.115 +    Sint32 y;           /**< The amount scrolled vertically */
  49.116  } SDL_MouseWheelEvent;
  49.117  
  49.118  /**
  49.119 @@ -241,11 +244,13 @@
  49.120  {
  49.121      Uint32 type;        /**< ::SDL_JOYAXISMOTION */
  49.122      Uint32 timestamp;
  49.123 -    Uint8 which;        /**< The joystick instance id */
  49.124 +    SDL_JoystickID which; /**< The joystick instance id */
  49.125      Uint8 axis;         /**< The joystick axis index */
  49.126      Uint8 padding1;
  49.127      Uint8 padding2;
  49.128 -    int value;          /**< The axis value (range: -32768 to 32767) */
  49.129 +    Uint8 padding3;
  49.130 +    Sint16 value;       /**< The axis value (range: -32768 to 32767) */
  49.131 +    Uint16 padding4;
  49.132  } SDL_JoyAxisEvent;
  49.133  
  49.134  /**
  49.135 @@ -254,13 +259,14 @@
  49.136  typedef struct SDL_JoyBallEvent
  49.137  {
  49.138      Uint32 type;        /**< ::SDL_JOYBALLMOTION */
  49.139 -    Uint32 timestamp;
  49.140 -    Uint8 which;        /**< The joystick instance id */
  49.141 +	Uint32 timestamp;
  49.142 +    SDL_JoystickID which; /**< The joystick instance id */
  49.143      Uint8 ball;         /**< The joystick trackball index */
  49.144      Uint8 padding1;
  49.145      Uint8 padding2;
  49.146 -    int xrel;           /**< The relative motion in the X direction */
  49.147 -    int yrel;           /**< The relative motion in the Y direction */
  49.148 +    Uint8 padding3;
  49.149 +    Sint16 xrel;        /**< The relative motion in the X direction */
  49.150 +    Sint16 yrel;        /**< The relative motion in the Y direction */
  49.151  } SDL_JoyBallEvent;
  49.152  
  49.153  /**
  49.154 @@ -269,8 +275,8 @@
  49.155  typedef struct SDL_JoyHatEvent
  49.156  {
  49.157      Uint32 type;        /**< ::SDL_JOYHATMOTION */
  49.158 -    Uint32 timestamp;
  49.159 -    Uint8 which;        /**< The joystick instance id */
  49.160 +	Uint32 timestamp;
  49.161 +    SDL_JoystickID which; /**< The joystick instance id */
  49.162      Uint8 hat;          /**< The joystick hat index */
  49.163      Uint8 value;        /**< The hat position value.
  49.164                           *   \sa ::SDL_HAT_LEFTUP ::SDL_HAT_UP ::SDL_HAT_RIGHTUP
  49.165 @@ -280,6 +286,7 @@
  49.166                           *   Note that zero means the POV is centered.
  49.167                           */
  49.168      Uint8 padding1;
  49.169 +    Uint8 padding2;
  49.170  } SDL_JoyHatEvent;
  49.171  
  49.172  /**
  49.173 @@ -288,11 +295,12 @@
  49.174  typedef struct SDL_JoyButtonEvent
  49.175  {
  49.176      Uint32 type;        /**< ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP */
  49.177 -    Uint32 timestamp;
  49.178 -    Uint8 which;        /**< The joystick instance id */
  49.179 +	Uint32 timestamp;
  49.180 +    SDL_JoystickID which; /**< The joystick instance id */
  49.181      Uint8 button;       /**< The joystick button index */
  49.182      Uint8 state;        /**< ::SDL_PRESSED or ::SDL_RELEASED */
  49.183      Uint8 padding1;
  49.184 +    Uint8 padding2;
  49.185  } SDL_JoyButtonEvent;
  49.186  
  49.187  /**
  49.188 @@ -302,7 +310,7 @@
  49.189  {
  49.190  	Uint32 type;        /**< ::SDL_JOYDEVICEADDED or ::SDL_JOYDEVICEREMOVED */
  49.191  	Uint32 timestamp;
  49.192 -	Uint32 which;        /**< The joystick device index for ADD, instance_id for REMOVE*/
  49.193 +	Sint32 which;       /**< The joystick device index for the ADDED event, instance id for the REMOVED event */
  49.194  } SDL_JoyDeviceEvent;
  49.195  
  49.196  
  49.197 @@ -312,10 +320,14 @@
  49.198  typedef struct SDL_ControllerAxisEvent
  49.199  {
  49.200      Uint32 type;        /**< ::SDL_CONTROLLERAXISMOTION */
  49.201 -    Uint32 timestamp;
  49.202 -    Uint8 which;        /**< The joystick instance id */
  49.203 -    SDL_CONTROLLER_AXIS axis;         /**< The joystick axis index */
  49.204 -    int value;          /**< The axis value (range: -32768 to 32767) */
  49.205 +	Uint32 timestamp;
  49.206 +    SDL_JoystickID which; /**< The joystick instance id */
  49.207 +    Uint8 axis;         /**< The controller axis (SDL_GameControllerAxis) */
  49.208 +    Uint8 padding1;
  49.209 +    Uint8 padding2;
  49.210 +    Uint8 padding3;
  49.211 +    Sint16 value;       /**< The axis value (range: -32768 to 32767) */
  49.212 +    Uint16 padding4;
  49.213  } SDL_ControllerAxisEvent;
  49.214  
  49.215  
  49.216 @@ -325,10 +337,12 @@
  49.217  typedef struct SDL_ControllerButtonEvent
  49.218  {
  49.219      Uint32 type;        /**< ::SDL_CONTROLLERBUTTONDOWN or ::SDL_CONTROLLERBUTTONUP */
  49.220 -    Uint32 timestamp;
  49.221 -    Uint8 which;        /**< The joystick instance id */
  49.222 -    SDL_CONTROLLER_BUTTON button;       /**< The joystick button index */
  49.223 +	Uint32 timestamp;
  49.224 +    SDL_JoystickID which; /**< The joystick instance id */
  49.225 +    Uint8 button;       /**< The controller button (SDL_GameControllerButton) */
  49.226      Uint8 state;        /**< ::SDL_PRESSED or ::SDL_RELEASED */
  49.227 +    Uint8 padding1;
  49.228 +    Uint8 padding2;
  49.229  } SDL_ControllerButtonEvent;
  49.230  
  49.231  
  49.232 @@ -337,83 +351,57 @@
  49.233   */
  49.234  typedef struct SDL_ControllerDeviceEvent
  49.235  {
  49.236 -	Uint32 type;        /**< ::SDL_CONTROLLERDEVICEADDED or ::SDL_CONTROLLERDEVICEREMOVED */
  49.237 +	Uint32 type;        /**< ::SDL_CONTROLLERDEVICEADDED, ::SDL_CONTROLLERDEVICEREMOVED, or ::SDL_CONTROLLERDEVICEREMAPPED */
  49.238  	Uint32 timestamp;
  49.239 -	Uint32 which;        /**< The joystick device index for ADD, instance_id for REMOVE*/
  49.240 +	Sint32 which;       /**< The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event */
  49.241  } SDL_ControllerDeviceEvent;
  49.242  
  49.243  
  49.244  /**
  49.245 - *  \brief Touch finger motion/finger event structure (event.tfinger.*)
  49.246 + *  \brief Touch finger event structure (event.tfinger.*)
  49.247   */
  49.248  typedef struct SDL_TouchFingerEvent
  49.249  {
  49.250 -    Uint32 type;        /**< ::SDL_FINGERMOTION OR 
  49.251 -			   SDL_FINGERDOWN OR SDL_FINGERUP*/
  49.252 +    Uint32 type;        /**< ::SDL_FINGERMOTION or ::SDL_FINGERDOWN or ::SDL_FINGERUP */
  49.253      Uint32 timestamp;
  49.254 -    Uint32 windowID;    /**< The window with mouse focus, if any */
  49.255 -    SDL_TouchID touchId;        /**< The touch device id */
  49.256 +    SDL_TouchID touchId; /**< The touch device id */
  49.257      SDL_FingerID fingerId;
  49.258 -    Uint8 state;        /**< The current button state */
  49.259 -    Uint8 padding1;
  49.260 -    Uint8 padding2;
  49.261 -    Uint8 padding3;
  49.262 -    Uint16 x;
  49.263 -    Uint16 y;
  49.264 -    Sint16 dx;
  49.265 -    Sint16 dy;
  49.266 -    Uint16 pressure;
  49.267 +    float x;            /**< Normalized in the range 0...1 */
  49.268 +    float y;            /**< Normalized in the range 0...1 */
  49.269 +    float dx;           /**< Normalized in the range 0...1 */
  49.270 +    float dy;           /**< Normalized in the range 0...1 */
  49.271 +    float pressure;     /**< Normalized in the range 0...1 */
  49.272  } SDL_TouchFingerEvent;
  49.273  
  49.274  
  49.275  /**
  49.276 - *  \brief Touch finger motion/finger event structure (event.tbutton.*)
  49.277 - */
  49.278 -typedef struct SDL_TouchButtonEvent
  49.279 -{
  49.280 -    Uint32 type;        /**< ::SDL_TOUCHBUTTONUP OR SDL_TOUCHBUTTONDOWN */
  49.281 -    Uint32 timestamp;
  49.282 -    Uint32 windowID;    /**< The window with mouse focus, if any */
  49.283 -    SDL_TouchID touchId;        /**< The touch device index */
  49.284 -    Uint8 state;        /**< The current button state */
  49.285 -    Uint8 button;        /**< The button changing state */
  49.286 -    Uint8 padding1;
  49.287 -    Uint8 padding2;
  49.288 -} SDL_TouchButtonEvent;
  49.289 -
  49.290 -
  49.291 -/**
  49.292   *  \brief Multiple Finger Gesture Event (event.mgesture.*)
  49.293   */
  49.294  typedef struct SDL_MultiGestureEvent
  49.295  {
  49.296      Uint32 type;        /**< ::SDL_MULTIGESTURE */
  49.297      Uint32 timestamp;
  49.298 -    Uint32 windowID;    /**< The window with mouse focus, if any */
  49.299 -    SDL_TouchID touchId;        /**< The touch device index */
  49.300 +    SDL_TouchID touchId; /**< The touch device index */
  49.301      float dTheta;
  49.302      float dDist;
  49.303 -    float x;  /* currently 0...1. Change to screen coords? */
  49.304 +    float x;
  49.305      float y;  
  49.306      Uint16 numFingers;
  49.307      Uint16 padding;
  49.308  } SDL_MultiGestureEvent;
  49.309  
  49.310 +
  49.311  /* (event.dgesture.*) */
  49.312  typedef struct SDL_DollarGestureEvent
  49.313  {
  49.314      Uint32 type;        /**< ::SDL_DOLLARGESTURE */
  49.315      Uint32 timestamp;
  49.316 -    Uint32 windowID;    /**< The window with mouse focus, if any */
  49.317 -    SDL_TouchID touchId;        /**< The touch device index */
  49.318 +    SDL_TouchID touchId; /**< The touch device id */
  49.319      SDL_GestureID gestureId;
  49.320      Uint32 numFingers;
  49.321      float error;
  49.322 -  /*
  49.323 -    //TODO: Enable to give location?
  49.324 -    float x;  //currently 0...1. Change to screen coords?
  49.325 -    float y;  
  49.326 -  */
  49.327 +    float x;            /**< Normalized center of gesture */
  49.328 +    float y;            /**< Normalized center of gesture */
  49.329  } SDL_DollarGestureEvent;
  49.330  
  49.331  
  49.332 @@ -448,7 +436,7 @@
  49.333      Uint32 type;        /**< ::SDL_USEREVENT through ::SDL_NUMEVENTS-1 */
  49.334      Uint32 timestamp;
  49.335      Uint32 windowID;    /**< The associated window if any */
  49.336 -    int code;           /**< User defined event code */
  49.337 +    Sint32 code;        /**< User defined event code */
  49.338      void *data1;        /**< User defined data pointer */
  49.339      void *data2;        /**< User defined data pointer */
  49.340  } SDL_UserEvent;
  49.341 @@ -476,6 +464,7 @@
  49.342  typedef union SDL_Event
  49.343  {
  49.344      Uint32 type;                    /**< Event type, shared with all events */
  49.345 +    SDL_GenericEvent generic;       /**< Generic event data */
  49.346      SDL_WindowEvent window;         /**< Window event data */
  49.347      SDL_KeyboardEvent key;          /**< Keyboard event data */
  49.348      SDL_TextEditingEvent edit;      /**< Text editing event data */
  49.349 @@ -488,16 +477,15 @@
  49.350      SDL_JoyHatEvent jhat;           /**< Joystick hat event data */
  49.351      SDL_JoyButtonEvent jbutton;     /**< Joystick button event data */
  49.352      SDL_JoyDeviceEvent jdevice;     /**< Joystick device change event data */
  49.353 -	SDL_ControllerAxisEvent caxis;		/**< Game Controller button event data */
  49.354 +	SDL_ControllerAxisEvent caxis;		/**< Game Controller axis event data */
  49.355  	SDL_ControllerButtonEvent cbutton;  /**< Game Controller button event data */
  49.356  	SDL_ControllerDeviceEvent cdevice;  /**< Game Controller device event data */
  49.357      SDL_QuitEvent quit;             /**< Quit request event data */
  49.358      SDL_UserEvent user;             /**< Custom event data */
  49.359      SDL_SysWMEvent syswm;           /**< System dependent window event data */
  49.360      SDL_TouchFingerEvent tfinger;   /**< Touch finger event data */
  49.361 -    SDL_TouchButtonEvent tbutton;   /**< Touch button event data */
  49.362 -    SDL_MultiGestureEvent mgesture; /**< Multi Finger Gesture data */
  49.363 -    SDL_DollarGestureEvent dgesture; /**< Multi Finger Gesture data */
  49.364 +    SDL_MultiGestureEvent mgesture; /**< Gesture event data */
  49.365 +    SDL_DollarGestureEvent dgesture; /**< Gesture event data */
  49.366      SDL_DropEvent drop;             /**< Drag and drop event data */
  49.367  
  49.368      /* This is necessary for ABI compatibility between Visual C++ and GCC
    50.1 --- a/include/SDL_gamecontroller.h	Sat Apr 13 23:03:46 2013 -0400
    50.2 +++ b/include/SDL_gamecontroller.h	Sun Apr 14 11:42:55 2013 -0400
    50.3 @@ -59,25 +59,23 @@
    50.4  	SDL_CONTROLLER_BINDTYPE_BUTTON,
    50.5  	SDL_CONTROLLER_BINDTYPE_AXIS,
    50.6  	SDL_CONTROLLER_BINDTYPE_HAT
    50.7 -} SDL_CONTROLLER_BINDTYPE;
    50.8 +} SDL_GameControllerBindType;
    50.9 +
   50.10  /**
   50.11 - *  get the sdl joystick layer binding for this controller button/axis mapping
   50.12 + *  Get the SDL joystick layer binding for this controller button/axis mapping
   50.13   */
   50.14 -struct _SDL_GameControllerHatBind
   50.15 +typedef struct SDL_GameControllerButtonBind
   50.16  {
   50.17 -	int hat;
   50.18 -	int hat_mask;
   50.19 -};
   50.20 -
   50.21 -typedef struct _SDL_GameControllerButtonBind
   50.22 -{
   50.23 -	SDL_CONTROLLER_BINDTYPE m_eBindType;
   50.24 +	SDL_GameControllerBindType bindType;
   50.25  	union
   50.26  	{
   50.27  		int button;
   50.28  		int axis;
   50.29 -		struct _SDL_GameControllerHatBind hat;
   50.30 -	};
   50.31 +		struct {
   50.32 +            int hat;
   50.33 +            int hat_mask;
   50.34 +        } hat;
   50.35 +	} value;
   50.36  
   50.37  } SDL_GameControllerButtonBind;
   50.38  
   50.39 @@ -92,7 +90,7 @@
   50.40   *		}
   50.41   *  }
   50.42   *
   50.43 - *  Using the SDL_HINT_GAMECONTROLLERCONFIG hint you can add support for controllers SDL is unaware of or cause an existing controller to have a different binding. The format is:
   50.44 + *  Using the SDL_HINT_GAMECONTROLLERCONFIG hint or the SDL_GameControllerAddMapping you can add support for controllers SDL is unaware of or cause an existing controller to have a different binding. The format is:
   50.45   *	guid,name,mappings
   50.46   *
   50.47   *  Where GUID is the string value from SDL_JoystickGetGUIDString(), name is the human readable string for the device and mappings are controller mappings to joystick ones.
   50.48 @@ -108,6 +106,26 @@
   50.49   *
   50.50   */
   50.51  
   50.52 +/**
   50.53 + *  Add or update an existing mapping configuration
   50.54 + *
   50.55 + * \return 1 if mapping is added, 0 if updated, -1 on error
   50.56 + */
   50.57 +extern DECLSPEC int SDLCALL SDL_GameControllerAddMapping( const char* mappingString );
   50.58 +
   50.59 +/**
   50.60 + *  Get a mapping string for a GUID
   50.61 + *
   50.62 + *  \return the mapping string.  Must be freed with SDL_free.  Returns NULL if no mapping is available
   50.63 + */
   50.64 +extern DECLSPEC char * SDLCALL SDL_GameControllerMappingForGUID( SDL_JoystickGUID guid );
   50.65 +
   50.66 +/**
   50.67 + *  Get a mapping string for an open GameController
   50.68 + *
   50.69 + *  \return the mapping string.  Must be freed with SDL_free.  Returns NULL if no mapping is available
   50.70 + */
   50.71 +extern DECLSPEC char * SDLCALL SDL_GameControllerMapping( SDL_GameController * gamecontroller );
   50.72  
   50.73  /**
   50.74   *  Is the joystick on this index supported by the game controller interface?
   50.75 @@ -160,6 +178,15 @@
   50.76  extern DECLSPEC int SDLCALL SDL_GameControllerEventState(int state);
   50.77  
   50.78  /**
   50.79 + *  Update the current state of the open game controllers.
   50.80 + *  
   50.81 + *  This is called automatically by the event loop if any game controller
   50.82 + *  events are enabled.
   50.83 + */
   50.84 +extern DECLSPEC void SDLCALL SDL_GameControllerUpdate(void);
   50.85 +
   50.86 +
   50.87 +/**
   50.88   *  The list of axii available from a controller
   50.89   */
   50.90  typedef enum
   50.91 @@ -172,19 +199,24 @@
   50.92  	SDL_CONTROLLER_AXIS_TRIGGERLEFT,
   50.93  	SDL_CONTROLLER_AXIS_TRIGGERRIGHT,
   50.94  	SDL_CONTROLLER_AXIS_MAX
   50.95 -} SDL_CONTROLLER_AXIS;
   50.96 +} SDL_GameControllerAxis;
   50.97  
   50.98  /**
   50.99   *  turn this string into a axis mapping
  50.100   */
  50.101 -extern DECLSPEC SDL_CONTROLLER_AXIS SDLCALL SDL_GameControllerGetAxisFromString(const char *pchString);
  50.102 +extern DECLSPEC SDL_GameControllerAxis SDLCALL SDL_GameControllerGetAxisFromString(const char *pchString);
  50.103  
  50.104  /**
  50.105 - *  get the sdl joystick layer binding for this controller button mapping
  50.106 + *  turn this axis enum into a string mapping
  50.107 + */
  50.108 +extern DECLSPEC const char* SDLCALL SDL_GameControllerGetStringForAxis(SDL_GameControllerAxis axis);
  50.109 +
  50.110 +/**
  50.111 + *  Get the SDL joystick layer binding for this controller button mapping
  50.112   */
  50.113  extern DECLSPEC SDL_GameControllerButtonBind SDLCALL
  50.114  SDL_GameControllerGetBindForAxis(SDL_GameController *gamecontroller,
  50.115 -                                 SDL_CONTROLLER_AXIS button);
  50.116 +                                 SDL_GameControllerAxis axis);
  50.117  
  50.118  /**
  50.119   *  Get the current state of an axis control on a game controller.
  50.120 @@ -195,7 +227,7 @@
  50.121   */
  50.122  extern DECLSPEC Sint16 SDLCALL
  50.123  SDL_GameControllerGetAxis(SDL_GameController *gamecontroller,
  50.124 -                          SDL_CONTROLLER_AXIS axis);
  50.125 +                          SDL_GameControllerAxis axis);
  50.126  
  50.127  /**
  50.128   *  The list of buttons available from a controller
  50.129 @@ -219,20 +251,24 @@
  50.130  	SDL_CONTROLLER_BUTTON_DPAD_LEFT,
  50.131  	SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
  50.132  	SDL_CONTROLLER_BUTTON_MAX
  50.133 -} SDL_CONTROLLER_BUTTON;
  50.134 +} SDL_GameControllerButton;
  50.135  
  50.136  /**
  50.137   *  turn this string into a button mapping
  50.138   */
  50.139 -extern DECLSPEC SDL_CONTROLLER_BUTTON SDLCALL SDL_GameControllerGetButtonFromString(const char *pchString);
  50.140 -
  50.141 +extern DECLSPEC SDL_GameControllerButton SDLCALL SDL_GameControllerGetButtonFromString(const char *pchString);
  50.142  
  50.143  /**
  50.144 - *  get the sdl joystick layer binding for this controller button mapping
  50.145 + *  turn this button enum into a string mapping
  50.146 + */
  50.147 +extern DECLSPEC const char* SDLCALL SDL_GameControllerGetStringForButton(SDL_GameControllerButton button);
  50.148 +
  50.149 +/**
  50.150 + *  Get the SDL joystick layer binding for this controller button mapping
  50.151   */
  50.152  extern DECLSPEC SDL_GameControllerButtonBind SDLCALL
  50.153  SDL_GameControllerGetBindForButton(SDL_GameController *gamecontroller,
  50.154 -                                   SDL_CONTROLLER_BUTTON button);
  50.155 +                                   SDL_GameControllerButton button);
  50.156  
  50.157  
  50.158  /**
  50.159 @@ -241,7 +277,7 @@
  50.160   *  The button indices start at index 0.
  50.161   */
  50.162  extern DECLSPEC Uint8 SDLCALL SDL_GameControllerGetButton(SDL_GameController *gamecontroller,
  50.163 -                                                          SDL_CONTROLLER_BUTTON button);
  50.164 +                                                          SDL_GameControllerButton button);
  50.165  
  50.166  /**
  50.167   *  Close a controller previously opened with SDL_GameControllerOpen().
    51.1 --- a/include/SDL_hints.h	Sat Apr 13 23:03:46 2013 -0400
    51.2 +++ b/include/SDL_hints.h	Sun Apr 14 11:42:55 2013 -0400
    51.3 @@ -197,9 +197,22 @@
    51.4  
    51.5  
    51.6  /**
    51.7 + *  \brief  A variable that lets you disable the detection and use of Xinput gamepad devices
    51.8 + *
    51.9 + *  The variable can be set to the following values:
   51.10 + *    "0"       - Disable XInput timer (only uses direct input)
   51.11 + *    "1"       - Enable XInput timer (the default)
   51.12 + */
   51.13 +#define SDL_HINT_XINPUT_ENABLED "SDL_XINPUT_ENABLED"
   51.14 +
   51.15 +
   51.16 +/**
   51.17   *  \brief  A variable that lets you manually hint extra gamecontroller db entries
   51.18 + *  
   51.19 + *  The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h
   51.20   *
   51.21 - *  The variable expected newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h
   51.22 + *  This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER)
   51.23 + *  You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping()
   51.24   */
   51.25  #define SDL_HINT_GAMECONTROLLERCONFIG "SDL_GAMECONTROLLERCONFIG"
   51.26  
    52.1 --- a/include/SDL_joystick.h	Sat Apr 13 23:03:46 2013 -0400
    52.2 +++ b/include/SDL_joystick.h	Sun Apr 14 11:42:55 2013 -0400
    52.3 @@ -67,7 +67,7 @@
    52.4  	Uint8 data[16];
    52.5  } SDL_JoystickGUID;
    52.6  
    52.7 -typedef int SDL_JoystickID;
    52.8 +typedef Sint32 SDL_JoystickID;
    52.9  
   52.10  
   52.11  /* Function prototypes */
   52.12 @@ -126,7 +126,7 @@
   52.13  extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAttached(SDL_Joystick * joystick);
   52.14  
   52.15  /**
   52.16 - *  Get the instance ID of an opened joystick.
   52.17 + *  Get the instance ID of an opened joystick or -1 if the joystick is invalid.
   52.18   */
   52.19  extern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickInstanceID(SDL_Joystick * joystick);
   52.20  
    53.1 --- a/include/SDL_mutex.h	Sat Apr 13 23:03:46 2013 -0400
    53.2 +++ b/include/SDL_mutex.h	Sun Apr 14 11:42:55 2013 -0400
    53.3 @@ -70,8 +70,15 @@
    53.4   *  
    53.5   *  \return 0, or -1 on error.
    53.6   */
    53.7 -#define SDL_LockMutex(m)	SDL_mutexP(m)
    53.8 -extern DECLSPEC int SDLCALL SDL_mutexP(SDL_mutex * mutex);
    53.9 +#define SDL_mutexP(m)	SDL_LockMutex(m)
   53.10 +extern DECLSPEC int SDLCALL SDL_LockMutex(SDL_mutex * mutex);
   53.11 +
   53.12 +/**
   53.13 + *  Try to lock the mutex
   53.14 + *  
   53.15 + *  \return 0, SDL_MUTEX_TIMEDOUT, or -1 on error
   53.16 + */
   53.17 +extern DECLSPEC int SDLCALL SDL_TryLockMutex(SDL_mutex * mutex);
   53.18  
   53.19  /**
   53.20   *  Unlock the mutex.
   53.21 @@ -81,8 +88,8 @@
   53.22   *  \warning It is an error to unlock a mutex that has not been locked by
   53.23   *           the current thread, and doing so results in undefined behavior.
   53.24   */
   53.25 -#define SDL_UnlockMutex(m)	SDL_mutexV(m)
   53.26 -extern DECLSPEC int SDLCALL SDL_mutexV(SDL_mutex * mutex);
   53.27 +#define SDL_mutexV(m)	SDL_UnlockMutex(m)
   53.28 +extern DECLSPEC int SDLCALL SDL_UnlockMutex(SDL_mutex * mutex);
   53.29  
   53.30  /** 
   53.31   *  Destroy a mutex.
    54.1 --- a/include/SDL_opengl.h	Sat Apr 13 23:03:46 2013 -0400
    54.2 +++ b/include/SDL_opengl.h	Sun Apr 14 11:42:55 2013 -0400
    54.3 @@ -44,10 +44,6 @@
    54.4  #define NO_SDL_GLEXT 1
    54.5  #endif
    54.6  
    54.7 -#ifdef __FreeBSD__  /* !!! FIXME: temp compiler warning fix... */
    54.8 -#define NO_SDL_GLEXT 1
    54.9 -#endif
   54.10 -
   54.11  #ifdef __glext_h_
   54.12  /* Someone has already included glext.h */
   54.13  #define NO_SDL_GLEXT
    55.1 --- a/include/SDL_pixels.h	Sat Apr 13 23:03:46 2013 -0400
    55.2 +++ b/include/SDL_pixels.h	Sun Apr 14 11:42:55 2013 -0400
    55.3 @@ -256,7 +256,7 @@
    55.4      Uint8 r;
    55.5      Uint8 g;
    55.6      Uint8 b;
    55.7 -    Uint8 unused;
    55.8 +    Uint8 a;
    55.9  } SDL_Color;
   55.10  #define SDL_Colour SDL_Color
   55.11  
    56.1 --- a/include/SDL_platform.h	Sat Apr 13 23:03:46 2013 -0400
    56.2 +++ b/include/SDL_platform.h	Sun Apr 14 11:42:55 2013 -0400
    56.3 @@ -138,12 +138,10 @@
    56.4  #endif /* if ! defined(WINAPI_FAMILY_PARTITION) ; else */
    56.5  #endif /* if defined(WIN32) || defined(_WIN32) */
    56.6  
    56.7 -#if defined(__NDS__)
    56.8 -#undef __NINTENDODS__
    56.9 -#define __NINTENDODS__	1
   56.10 +#if defined(__PSP__)
   56.11 +#define __PSP__	1
   56.12  #endif
   56.13  
   56.14 -
   56.15  #include "begin_code.h"
   56.16  /* Set up for C function definitions, even when using C++ */
   56.17  #ifdef __cplusplus
    57.1 --- a/include/SDL_rwops.h	Sat Apr 13 23:03:46 2013 -0400
    57.2 +++ b/include/SDL_rwops.h	Sun Apr 14 11:42:55 2013 -0400
    57.3 @@ -40,6 +40,14 @@
    57.4  /* *INDENT-ON* */
    57.5  #endif
    57.6  
    57.7 +/* RWops Types */
    57.8 +#define SDL_RWOPS_UNKNOWN	0	/* Unknown stream type */
    57.9 +#define SDL_RWOPS_WINFILE	1	/* Win32 file */
   57.10 +#define SDL_RWOPS_STDFILE	2	/* Stdio file */
   57.11 +#define SDL_RWOPS_JNIFILE	3	/* Android asset */
   57.12 +#define SDL_RWOPS_MEMORY	4	/* Memory stream */
   57.13 +#define SDL_RWOPS_MEMORY_RO	5	/* Read-Only memory stream */
   57.14 +
   57.15  /**
   57.16   * This is the read/write operation structure -- very basic.
   57.17   */
   57.18 @@ -54,7 +62,7 @@
   57.19       *  Seek to \c offset relative to \c whence, one of stdio's whence values:
   57.20       *  RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END
   57.21       *  
   57.22 -     *  \return the final offset in the data stream.
   57.23 +     *  \return the final offset in the data stream, or -1 on error.
   57.24       */
   57.25      Sint64 (SDLCALL * seek) (struct SDL_RWops * context, Sint64 offset,
   57.26                               int whence);
   57.27 @@ -130,6 +138,7 @@
   57.28          struct
   57.29          {
   57.30              void *data1;
   57.31 +            int data2;
   57.32          } unknown;
   57.33      } hidden;
   57.34  
    58.1 --- a/include/SDL_scancode.h	Sat Apr 13 23:03:46 2013 -0400
    58.2 +++ b/include/SDL_scancode.h	Sun Apr 14 11:42:55 2013 -0400
    58.3 @@ -38,7 +38,7 @@
    58.4   *  SDL_Event structure.
    58.5   *  
    58.6   *  The values in this enumeration are based on the USB usage page standard:
    58.7 - *  http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
    58.8 + *  http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf
    58.9   */
   58.10  typedef enum
   58.11  {
   58.12 @@ -385,6 +385,9 @@
   58.13      SDL_SCANCODE_EJECT = 281,
   58.14      SDL_SCANCODE_SLEEP = 282,
   58.15      
   58.16 +	SDL_SCANCODE_APP1 = 283,
   58.17 +	SDL_SCANCODE_APP2 = 284,
   58.18 +
   58.19      /*@}*//*Walther keys*/
   58.20  
   58.21      /* Add any other keys here. */
    59.1 --- a/include/SDL_stdinc.h	Sat Apr 13 23:03:46 2013 -0400
    59.2 +++ b/include/SDL_stdinc.h	Sun Apr 14 11:42:55 2013 -0400
    59.3 @@ -30,7 +30,6 @@
    59.4  
    59.5  #include "SDL_config.h"
    59.6  
    59.7 -
    59.8  #ifdef HAVE_SYS_TYPES_H
    59.9  #include <sys/types.h>
   59.10  #endif
   59.11 @@ -182,14 +181,10 @@
   59.12     enums having the size of an int must be enabled.
   59.13     This is "-b" for Borland C/C++ and "-ei" for Watcom C/C++ (v11).
   59.14  */
   59.15 -/* Enable enums always int in CodeWarrior (for MPW use "-enum int") */
   59.16 -#ifdef __MWERKS__
   59.17 -#pragma enumsalwaysint on
   59.18 -#endif
   59.19  
   59.20  /** \cond */
   59.21  #ifndef DOXYGEN_SHOULD_IGNORE_THIS
   59.22 -#if !defined(__NINTENDODS__) && !defined(__ANDROID__) 
   59.23 +#if !defined(__ANDROID__) 
   59.24     /* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */
   59.25  typedef enum
   59.26  {
   59.27 @@ -209,30 +204,6 @@
   59.28  /* *INDENT-ON* */
   59.29  #endif
   59.30  
   59.31 -#ifdef HAVE_MALLOC
   59.32 -#define SDL_malloc	malloc
   59.33 -#else
   59.34 -extern DECLSPEC void *SDLCALL SDL_malloc(size_t size);
   59.35 -#endif
   59.36 -
   59.37 -#ifdef HAVE_CALLOC
   59.38 -#define SDL_calloc	calloc
   59.39 -#else
   59.40 -extern DECLSPEC void *SDLCALL SDL_calloc(size_t nmemb, size_t size);
   59.41 -#endif
   59.42 -
   59.43 -#ifdef HAVE_REALLOC
   59.44 -#define SDL_realloc	realloc
   59.45 -#else
   59.46 -extern DECLSPEC void *SDLCALL SDL_realloc(void *mem, size_t size);
   59.47 -#endif
   59.48 -
   59.49 -#ifdef HAVE_FREE
   59.50 -#define SDL_free	free
   59.51 -#else
   59.52 -extern DECLSPEC void SDLCALL SDL_free(void *mem);
   59.53 -#endif
   59.54 -
   59.55  #if defined(HAVE_ALLOCA) && !defined(alloca)
   59.56  # if defined(HAVE_ALLOCA_H)
   59.57  #  include <alloca.h>
   59.58 @@ -263,380 +234,460 @@
   59.59  #define SDL_stack_free(data)            SDL_free(data)
   59.60  #endif
   59.61  
   59.62 -#ifdef HAVE_GETENV
   59.63 -#define SDL_getenv	getenv
   59.64 -#else
   59.65 -extern DECLSPEC char *SDLCALL SDL_getenv(const char *name);
   59.66 +
   59.67 +/* SDL stdinc inline functions:
   59.68 +
   59.69 +   The theory here is that by default we forcibly inline what we can, and your
   59.70 +   app will use the inline version by default. However we expose a non-inline
   59.71 +   version too, so the symbol is always available in the library even if your app
   59.72 +   bypassed the inline version. The SDL_*_inline versions aren't guaranteed to
   59.73 +   exist, so never call them directly; use SDL_* instead, and trust the system
   59.74 +   to give you the right thing.
   59.75 +
   59.76 +   The benefit here is that you can dlsym() these functions, which you
   59.77 +   couldn't if you had macros, you can link against a foreign build of SDL
   59.78 +   even if you configured differently, and you can drop the unconfigured SDL
   59.79 +   headers into a project without #defining HAVE_MALLOC (etc) and still link.
   59.80 +*/
   59.81 +
   59.82 +extern DECLSPEC void *SDLCALL SDL_malloc(size_t size);
   59.83 +#ifdef HAVE_MALLOC
   59.84 +SDL_FORCE_INLINE void *SDL_malloc_inline(size_t size) { return malloc(size); }
   59.85 +#define SDL_malloc SDL_malloc_inline
   59.86  #endif
   59.87  
   59.88 -/* SDL_putenv() has moved to SDL_compat. */
   59.89 -#ifdef HAVE_SETENV
   59.90 -#define SDL_setenv	setenv
   59.91 -#else
   59.92 -extern DECLSPEC int SDLCALL SDL_setenv(const char *name, const char *value,
   59.93 -                                       int overwrite);
   59.94 +extern DECLSPEC void *SDLCALL SDL_calloc(size_t nmemb, size_t size);
   59.95 +#ifdef HAVE_CALLOC
   59.96 +SDL_FORCE_INLINE void *SDL_calloc_inline(size_t nmemb, size_t size) { return calloc(nmemb, size); }
   59.97 +#define SDL_calloc SDL_calloc_inline
   59.98  #endif
   59.99  
  59.100 -#ifdef HAVE_QSORT
  59.101 -#define SDL_qsort	qsort
  59.102 -#else
  59.103 -extern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size,
  59.104 -                                       int (*compare) (const void *,
  59.105 -                                                       const void *));
  59.106 +extern DECLSPEC void *SDLCALL SDL_realloc(void *mem, size_t size);
  59.107 +#ifdef HAVE_REALLOC
  59.108 +SDL_FORCE_INLINE void *SDL_realloc_inline(void *mem, size_t size) { return realloc(mem, size); }
  59.109 +#define SDL_realloc SDL_realloc_inline
  59.110  #endif
  59.111  
  59.112 -#ifdef HAVE_ABS
  59.113 -#define SDL_abs		abs
  59.114 -#else
  59.115 -#define SDL_abs(X)	((X) < 0 ? -(X) : (X))
  59.116 +extern DECLSPEC void SDLCALL SDL_free(void *mem);
  59.117 +#ifdef HAVE_FREE
  59.118 +SDL_FORCE_INLINE void SDL_free_inline(void *mem) { free(mem); }
  59.119 +#define SDL_free SDL_free_inline
  59.120  #endif
  59.121  
  59.122 -#define SDL_min(x, y)	(((x) < (y)) ? (x) : (y))
  59.123 -#define SDL_max(x, y)	(((x) > (y)) ? (x) : (y))
  59.124 -
  59.125 -#ifdef HAVE_CTYPE_H
  59.126 -#define SDL_isdigit(X)  isdigit(X)
  59.127 -#define SDL_isspace(X)  isspace(X)
  59.128 -#define SDL_toupper(X)  toupper(X)
  59.129 -#define SDL_tolower(X)  tolower(X)
  59.130 -#else
  59.131 -#define SDL_isdigit(X)  (((X) >= '0') && ((X) <= '9'))
  59.132 -#define SDL_isspace(X)  (((X) == ' ') || ((X) == '\t') || ((X) == '\r') || ((X) == '\n'))
  59.133 -#define SDL_toupper(X)  (((X) >= 'a') && ((X) <= 'z') ? ('A'+((X)-'a')) : (X))
  59.134 -#define SDL_tolower(X)  (((X) >= 'A') && ((X) <= 'Z') ? ('a'+((X)-'A')) : (X))
  59.135 +extern DECLSPEC char *SDLCALL SDL_getenv(const char *name);
  59.136 +#ifdef HAVE_GETENV
  59.137 +SDL_FORCE_INLINE char *SDL_getenv_inline(const char *name) { return getenv(name); }
  59.138 +#define SDL_getenv SDL_getenv_inline
  59.139  #endif
  59.140  
  59.141 -#ifdef HAVE_MEMSET
  59.142 -#define SDL_memset      memset
  59.143 -#else
  59.144 -extern DECLSPEC void *SDLCALL SDL_memset(void *dst, int c, size_t len);
  59.145 -#endif
  59.146 -#define SDL_zero(x)	SDL_memset(&(x), 0, sizeof((x)))
  59.147 -#define SDL_zerop(x)	SDL_memset((x), 0, sizeof(*(x)))
  59.148 -
  59.149 -#if defined(__GNUC__) && defined(i386)
  59.150 -#define SDL_memset4(dst, val, len)				\
  59.151 -do {								\
  59.152 -	int u0, u1, u2;						\
  59.153 -	__asm__ __volatile__ (					\
  59.154 -		"cld\n\t"					\
  59.155 -		"rep ; stosl\n\t"				\
  59.156 -		: "=&D" (u0), "=&a" (u1), "=&c" (u2)		\
  59.157 -		: "0" (dst), "1" (val), "2" (SDL_static_cast(Uint32, len))	\
  59.158 -		: "memory" );					\
  59.159 -} while(0)
  59.160 -#endif
  59.161 -#ifndef SDL_memset4
  59.162 -#define SDL_memset4(dst, val, len)		\
  59.163 -do {						\
  59.164 -	unsigned _count = (len);		\
  59.165 -	unsigned _n = (_count + 3) / 4;		\
  59.166 -	Uint32 *_p = SDL_static_cast(Uint32 *, dst);		\
  59.167 -	Uint32 _val = (val);			\
  59.168 -	if (len == 0) break;			\
  59.169 -        switch (_count % 4) {			\
  59.170 -        case 0: do {    *_p++ = _val;		\
  59.171 -        case 3:         *_p++ = _val;		\
  59.172 -        case 2:         *_p++ = _val;		\
  59.173 -        case 1:         *_p++ = _val;		\
  59.174 -		} while ( --_n );		\
  59.175 -	}					\
  59.176 -} while(0)
  59.177 +extern DECLSPEC int SDLCALL SDL_setenv(const char *name, const char *value, int overwrite);
  59.178 +#ifdef HAVE_SETENV
  59.179 +SDL_FORCE_INLINE int SDL_setenv_inline(const char *name, const char *value, int overwrite) { return setenv(name, value, overwrite); }
  59.180 +#define SDL_setenv SDL_setenv_inline
  59.181  #endif
  59.182  
  59.183 -/* We can count on memcpy existing on Mac OS X and being well-tuned. */
  59.184 -#if defined(__MACOSX__)
  59.185 -#define SDL_memcpy      memcpy
  59.186 -#elif defined(__GNUC__) && defined(i386) && !defined(__WIN32__)
  59.187 -#define SDL_memcpy(dst, src, len)					  \
  59.188 -do {									  \
  59.189 -	int u0, u1, u2;						  	  \
  59.190 -	__asm__ __volatile__ (						  \
  59.191 -		"cld\n\t"						  \
  59.192 -		"rep ; movsl\n\t"					  \
  59.193 -		"testb $2,%b4\n\t"					  \
  59.194 -		"je 1f\n\t"						  \
  59.195 -		"movsw\n"						  \
  59.196 -		"1:\ttestb $1,%b4\n\t"					  \
  59.197 -		"je 2f\n\t"						  \
  59.198 -		"movsb\n"						  \
  59.199 -		"2:"							  \
  59.200 -		: "=&c" (u0), "=&D" (u1), "=&S" (u2)			  \
  59.201 -		: "0" (SDL_static_cast(unsigned, len)/4), "q" (len), "1" (dst),"2" (src) \
  59.202 -		: "memory" );						  \
  59.203 -} while(0)
  59.204 -#endif
  59.205 -#ifndef SDL_memcpy
  59.206 -#ifdef HAVE_MEMCPY
  59.207 -#define SDL_memcpy      memcpy
  59.208 -#elif defined(HAVE_BCOPY)
  59.209 -#define SDL_memcpy(d, s, n)	bcopy((s), (d), (n))
  59.210 -#else
  59.211 -extern DECLSPEC void *SDLCALL SDL_memcpy(void *dst, const void *src,
  59.212 -                                         size_t len);
  59.213 -#endif
  59.214 +extern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size, int (*compare) (const void *, const void *));
  59.215 +#ifdef HAVE_QSORT
  59.216 +SDL_FORCE_INLINE void SDL_qsort_inline(void *base, size_t nmemb, size_t size, int (*compare) (const void *, const void *)) { qsort(base, nmemb, size, compare); }
  59.217 +#define SDL_qsort SDL_qsort_inline
  59.218  #endif
  59.219  
  59.220 -/* We can count on memcpy existing on Mac OS X and being well-tuned. */
  59.221 -#if defined(__MACOSX__)
  59.222 -#define SDL_memcpy4(dst, src, len)	SDL_memcpy((dst), (src), (len) << 2)
  59.223 -#elif defined(__GNUC__) && defined(i386)
  59.224 -#define SDL_memcpy4(dst, src, len)				\
  59.225 -do {								\
  59.226 -	int ecx, edi, esi;					\
  59.227 -	__asm__ __volatile__ (					\
  59.228 -		"cld\n\t"					\
  59.229 -		"rep ; movsl"					\
  59.230 -		: "=&c" (ecx), "=&D" (edi), "=&S" (esi)		\
  59.231 -		: "0" (SDL_static_cast(unsigned, len)), "1" (dst), "2" (src)	\
  59.232 -		: "memory" );					\
  59.233 -} while(0)
  59.234 +extern DECLSPEC int SDLCALL SDL_abs(int x);
  59.235 +#ifdef HAVE_ABS
  59.236 +SDL_FORCE_INLINE int SDL_abs_inline(int x) { return abs(x); }
  59.237 +#else
  59.238 +SDL_FORCE_INLINE int SDL_abs_inline(int x) { return ((x) < 0 ? -(x) : (x)); }
  59.239  #endif
  59.240 -#ifndef SDL_memcpy4
  59.241 -#define SDL_memcpy4(dst, src, len)	SDL_memcpy((dst), (src), (len) << 2)
  59.242 +#define SDL_abs SDL_abs_inline
  59.243 +
  59.244 +/* !!! FIXME: these have side effects. You probably shouldn't use them. */
  59.245 +/* !!! FIXME: Maybe we do forceinline functions of SDL_mini, SDL_minf, etc? */
  59.246 +#define SDL_min(x, y) (((x) < (y)) ? (x) : (y))
  59.247 +#define SDL_max(x, y) (((x) > (y)) ? (x) : (y))
  59.248 +
  59.249 +extern DECLSPEC int SDLCALL SDL_isdigit(int x);
  59.250 +extern DECLSPEC int SDLCALL SDL_isspace(int x);
  59.251 +extern DECLSPEC int SDLCALL SDL_toupper(int x);
  59.252 +extern DECLSPEC int SDLCALL SDL_tolower(int x);
  59.253 +#ifdef HAVE_CTYPE_H
  59.254 +SDL_FORCE_INLINE int SDL_isdigit_inline(int x) { return isdigit(x); }
  59.255 +SDL_FORCE_INLINE int SDL_isspace_inline(int x) { return isspace(x); }
  59.256 +SDL_FORCE_INLINE int SDL_toupper_inline(int x) { return toupper(x); }
  59.257 +SDL_FORCE_INLINE int SDL_tolower_inline(int x) { return tolower(x); }
  59.258 +#else
  59.259 +SDL_FORCE_INLINE int SDL_isdigit_inline(int x) { return ((x) >= '0') && ((x) <= '9'); }
  59.260 +SDL_FORCE_INLINE int SDL_isspace_inline(int x) { return ((x) == ' ') || ((x) == '\t') || ((x) == '\r') || ((x) == '\n'); }
  59.261 +SDL_FORCE_INLINE int SDL_toupper_inline(int x) { return ((x) >= 'a') && ((x) <= 'z') ? ('A'+((x)-'a')) : (x); }
  59.262 +SDL_FORCE_INLINE int SDL_tolower_inline(int x) { return ((x) >= 'A') && ((x) <= 'Z') ? ('a'+((x)-'A')) : (x); }
  59.263 +#endif
  59.264 +#define SDL_isdigit SDL_isdigit_inline
  59.265 +#define SDL_isspace SDL_isspace_inline
  59.266 +#define SDL_toupper SDL_toupper_inline
  59.267 +#define SDL_tolower SDL_tolower_inline
  59.268 +
  59.269 +extern DECLSPEC void *SDLCALL SDL_memset(void *dst, int c, size_t len);
  59.270 +#ifdef HAVE_MEMSET
  59.271 +SDL_FORCE_INLINE void *SDL_memset_inline(void *dst, int c, size_t len) { return memset(dst, c, len); }
  59.272 +#define SDL_memset SDL_memset_inline
  59.273  #endif
  59.274  
  59.275 -#ifdef HAVE_MEMMOVE
  59.276 -#define SDL_memmove     memmove
  59.277 +#define SDL_zero(x) SDL_memset(&(x), 0, sizeof((x)))
  59.278 +#define SDL_zerop(x) SDL_memset((x), 0, sizeof(*(x)))
  59.279 +
  59.280 +/* !!! FIXME: does this _really_ beat memset() on any modern platform? */
  59.281 +SDL_FORCE_INLINE void SDL_memset4(void *dst, int val, size_t len)
  59.282 +{
  59.283 +#if defined(__GNUC__) && defined(i386)
  59.284 +    int u0, u1, u2;
  59.285 +    __asm__ __volatile__ (
  59.286 +        "cld \n\t"
  59.287 +        "rep ; stosl \n\t"
  59.288 +        : "=&D" (u0), "=&a" (u1), "=&c" (u2)
  59.289 +        : "0" (dst), "1" (val), "2" (SDL_static_cast(Uint32, len))
  59.290 +        : "memory"
  59.291 +    );
  59.292 +/* !!! FIXME: amd64? */
  59.293  #else
  59.294 -extern DECLSPEC void *SDLCALL SDL_memmove(void *dst, const void *src,
  59.295 -                                          size_t len);
  59.296 +    size_t _n = (len + 3) / 4;
  59.297 +    Uint32 *_p = SDL_static_cast(Uint32 *, dst);
  59.298 +    Uint32 _val = (val);
  59.299 +    if (len == 0)
  59.300 +        return;
  59.301 +    switch (len % 4)
  59.302 +    {
  59.303 +        case 0: do {    *_p++ = _val;
  59.304 +        case 3:         *_p++ = _val;
  59.305 +        case 2:         *_p++ = _val;
  59.306 +        case 1:         *_p++ = _val;
  59.307 +        } while ( --_n );
  59.308 +    }
  59.309 +#endif
  59.310 +}
  59.311 +
  59.312 +
  59.313 +extern DECLSPEC void *SDLCALL SDL_memcpy(void *dst, const void *src, size_t len);
  59.314 +#if defined(__MACOSX__)
  59.315 +SDL_FORCE_INLINE void *SDL_memcpy_inline(void *dst, const void *src, size_t len)
  59.316 +{
  59.317 +    /* We can count on memcpy existing on Mac OS X and being well-tuned. */
  59.318 +    return memcpy(dst, src, len);
  59.319 +}
  59.320 +#define SDL_memcpy SDL_memcpy_inline
  59.321 +#elif defined(__GNUC__) && defined(i386) && !defined(__WIN32__)
  59.322 +SDL_FORCE_INLINE void *SDL_memcpy_inline(void *dst, const void *src, size_t len)
  59.323 +{
  59.324 +    /* !!! FIXME: does this _really_ beat memcpy() on any modern platform? */
  59.325 +    /* !!! FIXME: shouldn't we just force the inputs to ecx/edi/esi instead of this tapdance with outputs? */
  59.326 +    /* !!! FIXME: amd64? */
  59.327 +    int u0, u1, u2;
  59.328 +    __asm__ __volatile__ (
  59.329 +        "cld \n\t"
  59.330 +        "rep ; movsl \n\t"
  59.331 +        "testb $2,%b4 \n\t"
  59.332 +        "je 1f \n\t"
  59.333 +        "movsw \n"
  59.334 +        "1:\ttestb $1,%b4 \n\t"
  59.335 +        "je 2f \n\t"
  59.336 +        "movsb \n"
  59.337 +        "2:"
  59.338 +        : "=&c" (u0), "=&D" (u1), "=&S" (u2)
  59.339 +        : "0" (SDL_static_cast(unsigned, len)/4), "q" (len), "1" (dst), "2" (src)
  59.340 +        : "memory"
  59.341 +    );
  59.342 +    return dst;
  59.343 +}
  59.344 +#define SDL_memcpy SDL_memcpy_inline
  59.345 +#elif defined(HAVE_MEMCPY)
  59.346 +SDL_FORCE_INLINE void *SDL_memcpy_inline(void *dst, const void *src, size_t len)
  59.347 +{
  59.348 +    return memcpy(dst, src, len);
  59.349 +}
  59.350 +#define SDL_memcpy SDL_memcpy_inline
  59.351 +#elif defined(HAVE_BCOPY)  /* !!! FIXME: is there _really_ ever a time where you have bcopy and not memcpy? */
  59.352 +SDL_FORCE_INLINE void *SDL_memcpy_inline(void *dst, const void *src, size_t len)
  59.353 +{
  59.354 +    bcopy(src, dst, len);
  59.355 +    return dst;
  59.356 +}
  59.357 +#define SDL_memcpy SDL_memcpy_inline
  59.358  #endif
  59.359  
  59.360 -#ifdef HAVE_MEMCMP
  59.361 -#define SDL_memcmp      memcmp
  59.362 +
  59.363 +SDL_FORCE_INLINE void *SDL_memcpy4(void *dst, const void *src, size_t dwords)
  59.364 +{
  59.365 +#if defined(__GNUC__) && defined(i386)
  59.366 +    /* !!! FIXME: does this _really_ beat memcpy() on any modern platform? */
  59.367 +    /* !!! FIXME: shouldn't we just force the inputs to ecx/edi/esi instead of this tapdance with outputs? */
  59.368 +    int ecx, edi, esi;
  59.369 +    __asm__ __volatile__ (
  59.370 +        "cld \n\t"
  59.371 +        "rep ; movsl \n\t"
  59.372 +        : "=&c" (ecx), "=&D" (edi), "=&S" (esi)
  59.373 +        : "0" (SDL_static_cast(unsigned, dwords)), "1" (dst), "2" (src)
  59.374 +        : "memory"
  59.375 +    );
  59.376 +    return dst;
  59.377  #else
  59.378 -extern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2,
  59.379 -                                       size_t len);
  59.380 +    return SDL_memcpy(dst, src, dwords * 4);
  59.381 +#endif
  59.382 +}
  59.383 +
  59.384 +extern DECLSPEC void *SDLCALL SDL_memmove(void *dst, const void *src, size_t len);
  59.385 +#ifdef HAVE_MEMMOVE
  59.386 +SDL_FORCE_INLINE void *SDL_memmove_inline(void *dst, const void *src, size_t len) { return memmove(dst, src, len); }
  59.387 +#define SDL_memmove SDL_memmove_inline
  59.388  #endif
  59.389  
  59.390 -#ifdef HAVE_STRLEN
  59.391 -#define SDL_strlen      strlen
  59.392 -#else
  59.393 -extern DECLSPEC size_t SDLCALL SDL_strlen(const char *string);
  59.394 +extern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2, size_t len);
  59.395 +#ifdef HAVE_MEMCMP
  59.396 +SDL_FORCE_INLINE int SDL_memcmp_inline(const void *s1, const void *s2, size_t len) { return memcmp(s1, s2, len); }
  59.397 +#define SDL_memcmp SDL_memcmp_inline
  59.398  #endif
  59.399  
  59.400 -#ifdef HAVE_WCSLEN
  59.401 -#define SDL_wcslen      wcslen
  59.402 -#else
  59.403 -#if !defined(wchar_t) && defined(__NINTENDODS__)
  59.404 -#define wchar_t short           /* TODO: figure out why libnds doesn't have this */
  59.405 -#endif
  59.406 -extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t * string);
  59.407 +extern DECLSPEC size_t SDLCALL SDL_strlen(const char *str);
  59.408 +#ifdef HAVE_STRLEN
  59.409 +SDL_FORCE_INLINE size_t SDL_strlen_inline(const char *str) { return strlen(str); }
  59.410 +#define SDL_strlen SDL_strlen_inline
  59.411  #endif
  59.412  
  59.413 -#ifdef HAVE_WCSLCPY
  59.414 -#define SDL_wcslcpy      wcslcpy
  59.415 -#else
  59.416 -extern DECLSPEC size_t SDLCALL SDL_wcslcpy(wchar_t *dst, const wchar_t *src, size_t maxlen);
  59.417 +extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t *wstr);
  59.418 +#ifdef HAVE_WCSLEN
  59.419 +SDL_FORCE_INLINE size_t SDL_wcslen_inline(const wchar_t *wstr) { return wcslen(wstr); }
  59.420 +#define SDL_wcslen SDL_wcslen_inline
  59.421  #endif
  59.422  
  59.423 -#ifdef HAVE_WCSLCAT
  59.424 -#define SDL_wcslcat      wcslcat
  59.425 -#else
  59.426 -extern DECLSPEC size_t SDLCALL SDL_wcslcat(wchar_t *dst, const wchar_t *src, size_t maxlen);
  59.427 +extern DECLSPEC size_t SDLCALL SDL_wcslcpy(wchar_t *dst, const wchar_t *src, size_t maxlen);
  59.428 +#ifdef HAVE_WCSLCPY
  59.429 +SDL_FORCE_INLINE size_t SDL_wcslcpy_inline(wchar_t *dst, const wchar_t *src, size_t maxlen) { return wcslcpy(dst, src, maxlen); }
  59.430 +#define SDL_wcslcpy SDL_wcslcpy_inline
  59.431  #endif
  59.432  
  59.433 -
  59.434 -#ifdef HAVE_STRLCPY
  59.435 -#define SDL_strlcpy     strlcpy
  59.436 -#else
  59.437 -extern DECLSPEC size_t SDLCALL SDL_strlcpy(char *dst, const char *src,
  59.438 -                                           size_t maxlen);
  59.439 +extern DECLSPEC size_t SDLCALL SDL_wcslcat(wchar_t *dst, const wchar_t *src, size_t maxlen);
  59.440 +#ifdef HAVE_WCSLCAT
  59.441 +SDL_FORCE_INLINE size_t SDL_wcslcat_inline(wchar_t *dst, const wchar_t *src, size_t maxlen) { return wcslcat(dst, src, maxlen); }
  59.442 +#define SDL_wcslcat SDL_wcslcat_inline
  59.443  #endif
  59.444  
  59.445 -extern DECLSPEC size_t SDLCALL SDL_utf8strlcpy(char *dst, const char *src,
  59.446 -                                            size_t dst_bytes);
  59.447 -
  59.448 -#ifdef HAVE_STRLCAT
  59.449 -#define SDL_strlcat    strlcat
  59.450 +extern DECLSPEC size_t SDLCALL SDL_strlcpy(char *dst, const char *src, size_t maxlen);
  59.451 +#ifdef HAVE_STRLCPY
  59.452 +SDL_FORCE_INLINE size_t SDL_strlcpy_inline(char *dst, const char *src, size_t maxlen) { return strlcpy(dst, src, maxlen); }
  59.453 +#define SDL_strlcpy SDL_strlcpy_inline
  59.454  #else
  59.455 -extern DECLSPEC size_t SDLCALL SDL_strlcat(char *dst, const char *src,
  59.456 -                                           size_t maxlen);
  59.457  #endif
  59.458  
  59.459 -#ifdef HAVE_STRDUP
  59.460 -#define SDL_strdup     strdup
  59.461 -#else
  59.462 -extern DECLSPEC char *SDLCALL SDL_strdup(const char *string);
  59.463 +extern DECLSPEC size_t SDLCALL SDL_utf8strlcpy(char *dst, const char *src, size_t dst_bytes);
  59.464 +
  59.465 +extern DECLSPEC size_t SDLCALL SDL_strlcat(char *dst, const char *src, size_t maxlen);
  59.466 +#ifdef HAVE_STRLCAT
  59.467 +SDL_FORCE_INLINE size_t SDL_strlcat_inline(char *dst, const char *src, size_t maxlen) { return strlcat(dst, src, maxlen); }
  59.468 +#define SDL_strlcat SDL_strlcat_inline
  59.469  #endif
  59.470  
  59.471 -#ifdef HAVE__STRREV
  59.472 -#define SDL_strrev      _strrev
  59.473 -#else
  59.474 -extern DECLSPEC char *SDLCALL SDL_strrev(char *string);
  59.475 +extern DECLSPEC char *SDLCALL SDL_strdup(const char *str);
  59.476 +#ifdef HAVE_STRDUP
  59.477 +SDL_FORCE_INLINE char *SDL_strdup_inline(const char *str) { return strdup(str); }
  59.478 +#define SDL_strdup SDL_strdup_inline
  59.479  #endif
  59.480  
  59.481 -#ifdef HAVE__STRUPR
  59.482 -#define SDL_strupr      _strupr
  59.483 -#else
  59.484 -extern DECLSPEC char *SDLCALL SDL_strupr(char *string);
  59.485 +extern DECLSPEC char *SDLCALL SDL_strrev(char *str);
  59.486 +#ifdef HAVE__STRREV
  59.487 +SDL_FORCE_INLINE char *SDL_strrev_inline(char *str) { return _strrev(str); }
  59.488 +#define SDL_strrev SDL_strrev_inline
  59.489  #endif
  59.490  
  59.491 -#ifdef HAVE__STRLWR
  59.492 -#define SDL_strlwr      _strlwr
  59.493 -#else
  59.494 -extern DECLSPEC char *SDLCALL SDL_strlwr(char *string);
  59.495 +extern DECLSPEC char *SDLCALL SDL_strupr(char *str);
  59.496 +#ifdef HAVE__STRUPR
  59.497 +SDL_FORCE_INLINE char *SDL_strupr_inline(char *str) { return _strupr(str); }
  59.498 +#define SDL_strupr SDL_strupr_inline
  59.499  #endif
  59.500  
  59.501 -#ifdef HAVE_STRCHR
  59.502 -#define SDL_strchr      strchr
  59.503 -#elif defined(HAVE_INDEX)
  59.504 -#define SDL_strchr      index
  59.505 -#else
  59.506 -extern DECLSPEC char *SDLCALL SDL_strchr(const char *string, int c);
  59.507 +extern DECLSPEC char *SDLCALL SDL_strlwr(char *str);
  59.508 +#ifdef HAVE__STRLWR
  59.509 +SDL_FORCE_INLINE char *SDL_strlwr_inline(char *str) { return _strlwr(str); }
  59.510 +#define SDL_strlwr SDL_strlwr_inline
  59.511  #endif
  59.512  
  59.513 -#ifdef HAVE_STRRCHR
  59.514 -#define SDL_strrchr     strrchr
  59.515 -#elif defined(HAVE_RINDEX)
  59.516 -#define SDL_strrchr     rindex
  59.517 +extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
  59.518 +#ifdef HAVE_STRCHR
  59.519 +SDL_FORCE_INLINE char *SDL_strchr_inline(const char *str, int c) {
  59.520 +#ifdef __cplusplus
  59.521 +return const_cast<char*>(strchr(str, c));
  59.522  #else
  59.523 -extern DECLSPEC char *SDLCALL SDL_strrchr(const char *string, int c);
  59.524 +return (char*)strchr(str, c);
  59.525 +#endif
  59.526 +}
  59.527 +#define SDL_strchr SDL_strchr_inline
  59.528 +#elif defined(HAVE_INDEX)  /* !!! FIXME: is there anywhere that has this but not strchr? */
  59.529 +SDL_FORCE_INLINE char *SDL_strchr_inline(const char *str, int c) { return index(str, c); }
  59.530 +#define SDL_strchr SDL_strchr_inline
  59.531  #endif
  59.532  
  59.533 -#ifdef HAVE_STRSTR
  59.534 -#define SDL_strstr      strstr
  59.535 +extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
  59.536 +#ifdef HAVE_STRRCHR
  59.537 +SDL_FORCE_INLINE char *SDL_strrchr_inline(const char *str, int c) {
  59.538 +#ifdef __cplusplus
  59.539 +return const_cast<char*>(strrchr(str, c));
  59.540  #else
  59.541 -extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack,
  59.542 -                                         const char *needle);
  59.543 +return (char*)strrchr(str, c);
  59.544 +#endif
  59.545 +}
  59.546 +#define SDL_strrchr SDL_strrchr_inline
  59.547 +#elif defined(HAVE_RINDEX)  /* !!! FIXME: is there anywhere that has this but not strrchr? */
  59.548 +SDL_FORCE_INLINE char *SDL_strrchr_inline(const char *str, int c) {
  59.549 +#ifdef __cplusplus
  59.550 +return const_cast<char*>(rindex(str, c));
  59.551 +#else
  59.552 +return (char*)rindex(str, c);
  59.553 +#endif
  59.554 +}
  59.555 +#define SDL_strrchr SDL_strrchr_inline
  59.556  #endif
  59.557  
  59.558 -#ifdef HAVE_ITOA
  59.559 -#define SDL_itoa        itoa
  59.560 +extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
  59.561 +#ifdef HAVE_STRSTR
  59.562 +SDL_FORCE_INLINE char *SDL_strstr_inline(const char *haystack, const char *needle) {
  59.563 +#ifdef __cplusplus
  59.564 +return const_cast<char*>(strstr(haystack, needle));
  59.565  #else
  59.566 -#define SDL_itoa(value, string, radix)	SDL_ltoa((long)value, string, radix)
  59.567 +return (char*)strstr(haystack, needle);
  59.568 +#endif
  59.569 +}
  59.570 +#define SDL_strstr SDL_strstr_inline
  59.571  #endif
  59.572  
  59.573 +extern DECLSPEC char *SDLCALL SDL_ltoa(long value, char *str, int radix);
  59.574  #ifdef HAVE__LTOA
  59.575 -#define SDL_ltoa        _ltoa
  59.576 -#else
  59.577 -extern DECLSPEC char *SDLCALL SDL_ltoa(long value, char *string, int radix);
  59.578 +SDL_FORCE_INLINE char *SDL_ltoa_inline(long value, char *str, int radix) { return _ltoa(value, str, radix); }
  59.579 +#define SDL_ltoa SDL_ltoa_inline
  59.580  #endif
  59.581  
  59.582 -#ifdef HAVE__UITOA
  59.583 -#define SDL_uitoa       _uitoa
  59.584 +extern DECLSPEC char *SDLCALL SDL_itoa(int value, char *str, int radix);
  59.585 +#ifdef HAVE_ITOA
  59.586 +SDL_FORCE_INLINE char *SDL_itoa_inline(int value, char *str, int radix) { return itoa(value, str, radix); }
  59.587  #else
  59.588 -#define SDL_uitoa(value, string, radix)	SDL_ultoa((long)value, string, radix)
  59.589 +SDL_FORCE_INLINE char *SDL_itoa_inline(int value, char *str, int radix) { return SDL_ltoa((long)value, str, radix); }
  59.590 +#endif
  59.591 +#define SDL_itoa SDL_itoa_inline
  59.592 +
  59.593 +extern DECLSPEC char *SDLCALL SDL_ultoa(unsigned long value, char *str, int radix);
  59.594 +#ifdef HAVE__ULTOA
  59.595 +SDL_FORCE_INLINE char *SDL_ultoa_inline(unsigned long value, char *str, int radix) { return _ultoa(value, str, radix); }
  59.596 +#define SDL_ultoa SDL_ultoa_inline
  59.597  #endif
  59.598  
  59.599 -#ifdef HAVE__ULTOA
  59.600 -#define SDL_ultoa       _ultoa
  59.601 +extern DECLSPEC char *SDLCALL SDL_uitoa(unsigned int value, char *str, int radix);
  59.602 +#ifdef HAVE__UITOA
  59.603 +SDL_FORCE_INLINE char *SDL_uitoa_inline(unsigned int value, char *str, int radix) { return _uitoa(value, str, radix); }
  59.604  #else
  59.605 -extern DECLSPEC char *SDLCALL SDL_ultoa(unsigned long value, char *string,
  59.606 -                                        int radix);
  59.607 +SDL_FORCE_INLINE char *SDL_uitoa_inline(unsigned int value, char *str, int radix) { return SDL_ultoa((unsigned long)value, str, radix); }
  59.608 +#endif
  59.609 +#define SDL_uitoa SDL_uitoa_inline
  59.610 +
  59.611 +
  59.612 +extern DECLSPEC long SDLCALL SDL_strtol(const char *str, char **endp, int base);
  59.613 +#ifdef HAVE_STRTOL
  59.614 +SDL_FORCE_INLINE long SDL_strtol_inline(const char *str, char **endp, int base) { return strtol(str, endp, base); }
  59.615 +#define SDL_strtol SDL_strtol_inline
  59.616  #endif
  59.617  
  59.618 -#ifdef HAVE_STRTOL
  59.619 -#define SDL_strtol      strtol
  59.620 -#else
  59.621 -extern DECLSPEC long SDLCALL SDL_strtol(const char *string, char **endp,
  59.622 -                                        int base);
  59.623 +extern DECLSPEC unsigned long SDLCALL SDL_strtoul(const char *str, char **endp, int base);
  59.624 +#ifdef HAVE_STRTOUL
  59.625 +SDL_FORCE_INLINE unsigned long SDLCALL SDL_strtoul_inline(const char *str, char **endp, int base) { return strtoul(str, endp, base); }
  59.626 +#define SDL_strtoul SDL_strtoul_inline
  59.627  #endif
  59.628  
  59.629 -#ifdef HAVE_STRTOUL
  59.630 -#define SDL_strtoul      strtoul
  59.631 -#else
  59.632 -extern DECLSPEC unsigned long SDLCALL SDL_strtoul(const char *string,
  59.633 -                                                  char **endp, int base);
  59.634 +extern DECLSPEC char *SDLCALL SDL_lltoa(Sint64 value, char *str, int radix);
  59.635 +#ifdef HAVE__I64TOA
  59.636 +SDL_FORCE_INLINE char *SDL_lltoa_inline(Sint64 value, char *str, int radix) { return _i64toa(value, str, radix); }
  59.637 +#define SDL_lltoa SDL_lltoa_inline
  59.638  #endif
  59.639  
  59.640 -#ifdef HAVE__I64TOA
  59.641 -#define SDL_lltoa       _i64toa
  59.642 -#else
  59.643 -extern DECLSPEC char *SDLCALL SDL_lltoa(Sint64 value, char *string,
  59.644 -                                        int radix);
  59.645 +extern DECLSPEC char *SDLCALL SDL_ulltoa(Uint64 value, char *str, int radix);
  59.646 +#ifdef HAVE__UI64TOA
  59.647 +SDL_FORCE_INLINE char *SDL_ulltoa_inline(Uint64 value, char *str, int radix) { return _ui64toa(value, str, radix); }
  59.648 +#define SDL_ulltoa SDL_ulltoa_inline
  59.649  #endif
  59.650  
  59.651 -#ifdef HAVE__UI64TOA
  59.652 -#define SDL_ulltoa      _ui64toa
  59.653 -#else
  59.654 -extern DECLSPEC char *SDLCALL SDL_ulltoa(Uint64 value, char *string,
  59.655 -                                         int radix);
  59.656 +extern DECLSPEC Sint64 SDLCALL SDL_strtoll(const char *str, char **endp, int base);
  59.657 +#ifdef HAVE_STRTOLL
  59.658 +SDL_FORCE_INLINE Sint64 SDL_strtoll_inline(const char *str, char **endp, int base) { return strtoll(str, endp, base); }
  59.659 +#define SDL_strtoll SDL_strtoll_inline
  59.660  #endif
  59.661  
  59.662 -#ifdef HAVE_STRTOLL
  59.663 -#define SDL_strtoll     strtoll
  59.664 -#else
  59.665 -extern DECLSPEC Sint64 SDLCALL SDL_strtoll(const char *string, char **endp,
  59.666 -                                           int base);
  59.667 +extern DECLSPEC Uint64 SDLCALL SDL_strtoull(const char *str, char **endp, int base);
  59.668 +#ifdef HAVE_STRTOULL
  59.669 +SDL_FORCE_INLINE Uint64 SDL_strtoull_inline(const char *str, char **endp, int base) { return strtoull(str, endp, base); }
  59.670 +#define SDL_strtoull SDL_strtoull_inline
  59.671  #endif
  59.672  
  59.673 -#ifdef HAVE_STRTOULL
  59.674 -#define SDL_strtoull     strtoull
  59.675 -#else
  59.676 -extern DECLSPEC Uint64 SDLCALL SDL_strtoull(const char *string, char **endp,
  59.677 -                                            int base);
  59.678 +extern DECLSPEC double SDLCALL SDL_strtod(const char *str, char **endp);
  59.679 +#ifdef HAVE_STRTOD
  59.680 +SDL_FORCE_INLINE double SDL_strtod_inline(const char *str, char **endp) { return strtod(str, endp); }
  59.681 +#define SDL_strtod SDL_strtod_inline
  59.682  #endif
  59.683  
  59.684 -#ifdef HAVE_STRTOD
  59.685 -#define SDL_strtod      strtod
  59.686 +extern DECLSPEC int SDLCALL SDL_atoi(const char *str);
  59.687 +#ifdef HAVE_ATOI
  59.688 +SDL_FORCE_INLINE int SDL_atoi_inline(const char *str) { return atoi(str); }
  59.689  #else
  59.690 -extern DECLSPEC double SDLCALL SDL_strtod(const char *string, char **endp);
  59.691 +SDL_FORCE_INLINE int SDL_atoi_inline(const char *str) { return SDL_strtol(str, NULL, 0); }
  59.692 +#endif
  59.693 +#define SDL_atoi SDL_atoi_inline
  59.694 +
  59.695 +extern DECLSPEC double SDLCALL SDL_atof(const char *str);
  59.696 +#ifdef HAVE_ATOF
  59.697 +SDL_FORCE_INLINE double SDL_atof_inline(const char *str) { return (double) atof(str); }
  59.698 +#else
  59.699 +SDL_FORCE_INLINE double SDL_atof_inline(const char *str) { return SDL_strtod(str, NULL); }
  59.700 +#endif
  59.701 +#define SDL_atof SDL_atof_inline
  59.702 +
  59.703 +
  59.704 +extern DECLSPEC int SDLCALL SDL_strcmp(const char *str1, const char *str2);
  59.705 +#ifdef HAVE_STRCMP
  59.706 +SDL_FORCE_INLINE int SDL_strcmp_inline(const char *str1, const char *str2) { return strcmp(str1, str2); }
  59.707 +#define SDL_strcmp SDL_strcmp_inline
  59.708  #endif
  59.709  
  59.710 -#ifdef HAVE_ATOI
  59.711 -#define SDL_atoi        atoi
  59.712 -#else
  59.713 -#define SDL_atoi(X)     SDL_strtol(X, NULL, 0)
  59.714 +extern DECLSPEC int SDLCALL SDL_strncmp(const char *str1, const char *str2, size_t maxlen);
  59.715 +#ifdef HAVE_STRNCMP
  59.716 +SDL_FORCE_INLINE int SDL_strncmp_inline(const char *str1, const char *str2, size_t maxlen) { return strncmp(str1, str2, maxlen); }
  59.717 +#define SDL_strncmp SDL_strncmp_inline
  59.718  #endif
  59.719  
  59.720 -#ifdef HAVE_ATOF
  59.721 -#define SDL_atof        atof
  59.722 -#else
  59.723 -#define SDL_atof(X)     SDL_strtod(X, NULL)
  59.724 +extern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1, const char *str2);
  59.725 +#ifdef HAVE_STRCASECMP
  59.726 +SDL_FORCE_INLINE int SDL_strcasecmp_inline(const char *str1, const char *str2) { return strcasecmp(str1, str2); }
  59.727 +#define SDL_strcasecmp SDL_strcasecmp_inline
  59.728 +#elif defined(HAVE__STRICMP)
  59.729 +SDL_FORCE_INLINE int SDL_strcasecmp_inline(const char *str1, const char *str2) { return _stricmp(str1, str2); }
  59.730 +#define SDL_strcasecmp SDL_strcasecmp_inline
  59.731  #endif
  59.732  
  59.733 -#ifdef HAVE_STRCMP
  59.734 -#define SDL_strcmp      strcmp
  59.735 -#else
  59.736 -extern DECLSPEC int SDLCALL SDL_strcmp(const char *str1, const char *str2);
  59.737 +extern DECLSPEC int SDLCALL SDL_strncasecmp(const char *str1, const char *str2, size_t len);
  59.738 +#ifdef HAVE_STRNCASECMP
  59.739 +SDL_FORCE_INLINE int SDL_strncasecmp_inline(const char *str1, const char *str2, size_t len) { return strncasecmp(str1, str2, len); }
  59.740 +#define SDL_strncasecmp SDL_strncasecmp_inline
  59.741 +#elif defined(HAVE__STRNICMP)
  59.742 +SDL_FORCE_INLINE int SDL_strncasecmp_inline(const char *str1, const char *str2, size_t len) { return _strnicmp(str1, str2, len); }
  59.743 +#define SDL_strncasecmp SDL_strncasecmp_inline
  59.744  #endif
  59.745  
  59.746 -#ifdef HAVE_STRNCMP
  59.747 -#define SDL_strncmp     strncmp
  59.748 -#else
  59.749 -extern DECLSPEC int SDLCALL SDL_strncmp(const char *str1, const char *str2,
  59.750 -                                        size_t maxlen);
  59.751 +/* Not doing SDL_*_inline functions for these, because of the varargs. */
  59.752 +extern DECLSPEC int SDLCALL SDL_sscanf(const char *text, const char *fmt, ...);
  59.753 +#ifdef HAVE_SSCANF
  59.754 +#define SDL_sscanf sscanf
  59.755  #endif
  59.756  
  59.757 -#ifdef HAVE_STRCASECMP
  59.758 -#define SDL_strcasecmp  strcasecmp
  59.759 -#elif defined(HAVE__STRICMP)
  59.760 -#define SDL_strcasecmp  _stricmp
  59.761 -#else
  59.762 -extern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1,
  59.763 -                                           const char *str2);
  59.764 +extern DECLSPEC int SDLCALL SDL_snprintf(char *text, size_t maxlen, const char *fmt, ...);
  59.765 +#ifdef HAVE_SNPRINTF
  59.766 +#define SDL_snprintf snprintf
  59.767  #endif
  59.768  
  59.769 -#ifdef HAVE_STRNCASECMP
  59.770 -#define SDL_strncasecmp strncasecmp
  59.771 -#elif defined(HAVE__STRNICMP)
  59.772 -#define SDL_strncasecmp _strnicmp
  59.773 -#else
  59.774 -extern DECLSPEC int SDLCALL SDL_strncasecmp(const char *str1,
  59.775 -                                            const char *str2, size_t maxlen);
  59.776 -#endif
  59.777 -
  59.778 -#ifdef HAVE_SSCANF
  59.779 -#define SDL_sscanf      sscanf
  59.780 -#else
  59.781 -extern DECLSPEC int SDLCALL SDL_sscanf(const char *text, const char *fmt,
  59.782 -                                       ...);
  59.783 -#endif
  59.784 -
  59.785 -#ifdef HAVE_SNPRINTF
  59.786 -#define SDL_snprintf    snprintf
  59.787 -#else
  59.788 -extern DECLSPEC int SDLCALL SDL_snprintf(char *text, size_t maxlen,
  59.789 -                                         const char *fmt, ...);
  59.790 -#endif
  59.791 -
  59.792 +extern DECLSPEC int SDLCALL SDL_vsnprintf(char *text, size_t maxlen, const char *fmt, va_list ap);
  59.793  #ifdef HAVE_VSNPRINTF
  59.794 -#define SDL_vsnprintf   vsnprintf
  59.795 -#else
  59.796 -extern DECLSPEC int SDLCALL SDL_vsnprintf(char *text, size_t maxlen,
  59.797 -                                          const char *fmt, va_list ap);
  59.798 +SDL_FORCE_INLINE int SDL_vsnprintf_inline(char *text, size_t maxlen, const char *fmt, va_list ap) { return vsnprintf(text, maxlen, fmt, ap); }
  59.799 +#define SDL_vsnprintf SDL_vsnprintf_inline
  59.800  #endif
  59.801  
  59.802  #ifndef HAVE_M_PI
  59.803 @@ -645,88 +696,94 @@
  59.804  #endif
  59.805  #endif
  59.806  
  59.807 +extern DECLSPEC double SDLCALL SDL_atan(double x);
  59.808  #ifdef HAVE_ATAN
  59.809 -#define SDL_atan        atan
  59.810 -#else
  59.811 -extern DECLSPEC double SDLCALL SDL_atan(double x);
  59.812 +SDL_FORCE_INLINE double SDL_atan_inline(double x) { return atan(x); }
  59.813 +#define SDL_atan SDL_atan_inline
  59.814  #endif
  59.815  
  59.816 +extern DECLSPEC double SDLCALL SDL_atan2(double x, double y);
  59.817  #ifdef HAVE_ATAN2
  59.818 -#define SDL_atan2       atan2
  59.819 -#else
  59.820 -extern DECLSPEC double SDLCALL SDL_atan2(double y, double x);
  59.821 +SDL_FORCE_INLINE double SDL_atan2_inline(double x, double y) { return atan2(x, y); }
  59.822 +#define SDL_atan2 SDL_atan2_inline
  59.823  #endif
  59.824  
  59.825 +extern DECLSPEC double SDLCALL SDL_ceil(double x);
  59.826  #ifdef HAVE_CEIL
  59.827 -#define SDL_ceil        ceil
  59.828 +SDL_FORCE_INLINE double SDL_ceil_inline(double x) { return ceil(x); }
  59.829  #else
  59.830 -#define SDL_ceil(x)     ((double)(int)((x)+0.5))
  59.831 +SDL_FORCE_INLINE double SDL_ceil_inline(double x) { return (double)(int)((x)+0.5); }
  59.832 +#endif
  59.833 +#define SDL_ceil SDL_ceil_inline
  59.834 +
  59.835 +extern DECLSPEC double SDLCALL SDL_copysign(double x, double y);
  59.836 +#ifdef HAVE_COPYSIGN
  59.837 +SDL_FORCE_INLINE double SDL_copysign_inline(double x, double y) { return copysign(x, y); }
  59.838 +#define SDL_copysign SDL_copysign_inline
  59.839  #endif
  59.840  
  59.841 -#ifdef HAVE_COPYSIGN
  59.842 -#define SDL_copysign    copysign
  59.843 -#else
  59.844 -extern DECLSPEC double SDLCALL SDL_copysign(double x, double y);
  59.845 +extern DECLSPEC double SDLCALL SDL_cos(double x);
  59.846 +#ifdef HAVE_COS
  59.847 +SDL_FORCE_INLINE double SDL_cos_inline(double x) { return cos(x); }
  59.848 +#define SDL_cos SDL_cos_inline
  59.849  #endif
  59.850  
  59.851 -#ifdef HAVE_COS
  59.852 -#define SDL_cos         cos
  59.853 +extern DECLSPEC float SDLCALL SDL_cosf(float x);
  59.854 +#ifdef HAVE_COSF
  59.855 +SDL_FORCE_INLINE float SDL_cosf_inline(float x) { return cosf(x); }
  59.856  #else
  59.857 -extern DECLSPEC double SDLCALL SDL_cos(double x);
  59.858 +SDL_FORCE_INLINE float SDL_cosf_inline(float x) { return (float)SDL_cos((double)x); }
  59.859 +#endif
  59.860 +#define SDL_cosf SDL_cosf_inline
  59.861 +
  59.862 +extern DECLSPEC double SDLCALL SDL_fabs(double x);
  59.863 +#ifdef HAVE_FABS
  59.864 +SDL_FORCE_INLINE double SDL_fabs_inline(double x) { return fabs(x); }
  59.865 +#define SDL_fabs SDL_fabs_inline
  59.866  #endif
  59.867  
  59.868 -#ifdef HAVE_COSF
  59.869 -#define SDL_cosf        cosf
  59.870 -#else
  59.871 -#define SDL_cosf(x) (float)SDL_cos((double)x)
  59.872 +extern DECLSPEC double SDLCALL SDL_floor(double x);
  59.873 +#ifdef HAVE_FLOOR
  59.874 +SDL_FORCE_INLINE double SDL_floor_inline(double x) { return floor(x); }
  59.875 +#define SDL_floor SDL_floor_inline
  59.876  #endif
  59.877  
  59.878 -#ifdef HAVE_FABS
  59.879 -#define SDL_fabs        fabs
  59.880 -#else
  59.881 -extern DECLSPEC double SDLCALL SDL_fabs(double x);
  59.882 +extern DECLSPEC double SDLCALL SDL_log(double x);
  59.883 +#ifdef HAVE_LOG
  59.884 +SDL_FORCE_INLINE double SDL_log_inline(double x) { return log(x); }
  59.885 +#define SDL_log SDL_log_inline
  59.886  #endif
  59.887  
  59.888 -#ifdef HAVE_FLOOR
  59.889 -#define SDL_floor       floor
  59.890 -#else
  59.891 -extern DECLSPEC double SDLCALL SDL_floor(double x);
  59.892 +extern DECLSPEC double SDLCALL SDL_pow(double x, double y);
  59.893 +#ifdef HAVE_POW
  59.894 +SDL_FORCE_INLINE double SDL_pow_inline(double x, double y) { return pow(x, y); }
  59.895 +#define SDL_pow SDL_pow_inline
  59.896  #endif
  59.897  
  59.898 -#ifdef HAVE_LOG
  59.899 -#define SDL_log         log
  59.900 -#else
  59.901 -extern DECLSPEC double SDLCALL SDL_log(double x);
  59.902 +extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n);
  59.903 +#ifdef HAVE_SCALBN
  59.904 +SDL_FORCE_INLINE double SDL_scalbn_inline(double x, int n) { return scalbn(x, n); }
  59.905 +#define SDL_scalbn SDL_scalbn_inline
  59.906  #endif
  59.907  
  59.908 -#ifdef HAVE_POW
  59.909 -#define SDL_pow         pow
  59.910 -#else
  59.911 -extern DECLSPEC double SDLCALL SDL_pow(double x, double y);
  59.912 +extern DECLSPEC double SDLCALL SDL_sin(double x);
  59.913 +#ifdef HAVE_SIN
  59.914 +SDL_FORCE_INLINE double SDL_sin_inline(double x) { return sin(x); }
  59.915 +#define SDL_sin SDL_sin_inline
  59.916  #endif
  59.917  
  59.918 -#ifdef HAVE_SCALBN
  59.919 -#define SDL_scalbn      scalbn
  59.920 +extern DECLSPEC float SDLCALL SDL_sinf(float x);
  59.921 +#ifdef HAVE_SINF
  59.922 +SDL_FORCE_INLINE float SDL_sinf_inline(float x) { return sinf(x); }
  59.923  #else
  59.924 -extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n);
  59.925 +SDL_FORCE_INLINE float SDL_sinf_inline(float x) { return (float)SDL_sin((double)x); }
  59.926  #endif
  59.927 +#define SDL_sinf SDL_sinf_inline
  59.928  
  59.929 -#ifdef HAVE_SIN
  59.930 -#define SDL_sin         sin
  59.931 -#else
  59.932 -extern DECLSPEC double SDLCALL SDL_sin(double x);
  59.933 -#endif
  59.934 -
  59.935 -#ifdef HAVE_SINF
  59.936 -#define SDL_sinf        sinf
  59.937 -#else
  59.938 -#define SDL_sinf(x) (float)SDL_sin((double)x)
  59.939 -#endif
  59.940 -
  59.941 +extern DECLSPEC double SDLCALL SDL_sqrt(double x);
  59.942  #ifdef HAVE_SQRT
  59.943 -#define SDL_sqrt        sqrt
  59.944 -#else
  59.945 -extern DECLSPEC double SDLCALL SDL_sqrt(double x);
  59.946 +SDL_FORCE_INLINE double SDL_sqrt_inline(double x) { return sqrt(x); }
  59.947 +#define SDL_sqrt SDL_sqrt_inline
  59.948  #endif
  59.949  
  59.950  /* The SDL implementation of iconv() returns these error codes */
  59.951 @@ -735,16 +792,11 @@
  59.952  #define SDL_ICONV_EILSEQ	(size_t)-3
  59.953  #define SDL_ICONV_EINVAL	(size_t)-4
  59.954  
  59.955 -#if defined(HAVE_ICONV) && defined(HAVE_ICONV_H)
  59.956 -#define SDL_iconv_t     iconv_t
  59.957 -#define SDL_iconv_open  iconv_open
  59.958 -#define SDL_iconv_close iconv_close
  59.959 -#else
  59.960 +/* SDL_iconv_* are now always real symbols/types, not macros or inlined. */
  59.961  typedef struct _SDL_iconv_t *SDL_iconv_t;
  59.962  extern DECLSPEC SDL_iconv_t SDLCALL SDL_iconv_open(const char *tocode,
  59.963                                                     const char *fromcode);
  59.964  extern DECLSPEC int SDLCALL SDL_iconv_close(SDL_iconv_t cd);
  59.965 -#endif
  59.966  extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf,
  59.967                                           size_t * inbytesleft, char **outbuf,
  59.968                                           size_t * outbytesleft);
    60.1 --- a/include/SDL_test_common.h	Sat Apr 13 23:03:46 2013 -0400
    60.2 +++ b/include/SDL_test_common.h	Sun Apr 14 11:42:55 2013 -0400
    60.3 @@ -34,9 +34,9 @@
    60.4  
    60.5  #include "SDL.h"
    60.6  
    60.7 -#ifdef __NDS__
    60.8 -#define DEFAULT_WINDOW_WIDTH  256
    60.9 -#define DEFAULT_WINDOW_HEIGHT (2*192)
   60.10 +#if defined(__PSP__)
   60.11 +#define DEFAULT_WINDOW_WIDTH  480
   60.12 +#define DEFAULT_WINDOW_HEIGHT 272
   60.13  #else
   60.14  #define DEFAULT_WINDOW_WIDTH  640
   60.15  #define DEFAULT_WINDOW_HEIGHT 480
    61.1 --- a/include/SDL_test_images.h	Sat Apr 13 23:03:46 2013 -0400
    61.2 +++ b/include/SDL_test_images.h	Sun Apr 14 11:42:55 2013 -0400
    61.3 @@ -53,11 +53,7 @@
    61.4    int width;
    61.5    int height;
    61.6    unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */ 
    61.7 -#if (defined(__GNUC__) && (__GNUC__ <= 2))
    61.8 -  unsigned char pixel_data[0];
    61.9 -#else
   61.10 -  unsigned char pixel_data[];
   61.11 -#endif
   61.12 +  const char *pixel_data;
   61.13  } SDLTest_SurfaceImage_t;
   61.14  
   61.15  /* Test images */
    62.1 --- a/include/SDL_touch.h	Sat Apr 13 23:03:46 2013 -0400
    62.2 +++ b/include/SDL_touch.h	Sun Apr 14 11:42:55 2013 -0400
    62.3 @@ -40,77 +40,42 @@
    62.4  /* *INDENT-ON* */
    62.5  #endif
    62.6  
    62.7 -
    62.8  typedef Sint64 SDL_TouchID;
    62.9  typedef Sint64 SDL_FingerID;
   62.10  
   62.11 +typedef struct SDL_Finger
   62.12 +{
   62.13 +    SDL_FingerID id;
   62.14 +    float x;
   62.15 +    float y;
   62.16 +    float pressure;
   62.17 +} SDL_Finger;
   62.18  
   62.19 -struct SDL_Finger {
   62.20 -  SDL_FingerID id;
   62.21 -  Uint16 x;
   62.22 -  Uint16 y;
   62.23 -  Uint16 pressure;
   62.24 -  Uint16 xdelta;
   62.25 -  Uint16 ydelta;
   62.26 -  Uint16 last_x, last_y,last_pressure;  /* the last reported coordinates */
   62.27 -  SDL_bool down;
   62.28 -};
   62.29 -
   62.30 -typedef struct SDL_Touch SDL_Touch;
   62.31 -typedef struct SDL_Finger SDL_Finger;
   62.32 -
   62.33 -
   62.34 -struct SDL_Touch {
   62.35 -  
   62.36 -  /* Free the touch when it's time */
   62.37 -  void (*FreeTouch) (SDL_Touch * touch);
   62.38 -  
   62.39 -  /* data common for tablets */
   62.40 -  float pressure_max, pressure_min;
   62.41 -  float x_max,x_min;
   62.42 -  float y_max,y_min;
   62.43 -  Uint16 xres,yres,pressureres;
   62.44 -  float native_xres,native_yres,native_pressureres;
   62.45 -  float tilt_x;                 /* for future use */
   62.46 -  float tilt_y;                 /* for future use */
   62.47 -  float rotation;               /* for future use */
   62.48 -  
   62.49 -  /* Data common to all touch */
   62.50 -  SDL_TouchID id;
   62.51 -  SDL_Window *focus;
   62.52 -  
   62.53 -  char *name;
   62.54 -  Uint8 buttonstate;
   62.55 -  SDL_bool relative_mode;
   62.56 -  SDL_bool flush_motion;
   62.57 -
   62.58 -  int num_fingers;
   62.59 -  int max_fingers;
   62.60 -  SDL_Finger** fingers;
   62.61 -    
   62.62 -  void *driverdata;
   62.63 -};
   62.64 -
   62.65 +/* Used as the device ID for mouse events simulated with touch input */
   62.66 +#define SDL_TOUCH_MOUSEID ((Uint32)-1)
   62.67  
   62.68  
   62.69  /* Function prototypes */
   62.70  
   62.71  /**
   62.72 - *  \brief Get the touch object at the given id.
   62.73 - *
   62.74 - *
   62.75 + *  \brief Get the number of registered touch devices.
   62.76   */
   62.77 -  extern DECLSPEC SDL_Touch* SDLCALL SDL_GetTouch(SDL_TouchID id);
   62.78 -
   62.79 -
   62.80 +extern DECLSPEC int SDLCALL SDL_GetNumTouchDevices();
   62.81  
   62.82  /**
   62.83 - *  \brief Get the finger object of the given touch, at the given id.
   62.84 - *
   62.85 - *
   62.86 + *  \brief Get the touch ID with the given index, or 0 if the index is invalid.
   62.87   */
   62.88 -  extern 
   62.89 -  DECLSPEC SDL_Finger* SDLCALL SDL_GetFinger(SDL_Touch *touch, SDL_FingerID id);
   62.90 +extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index);
   62.91 +
   62.92 +/**
   62.93 + *  \brief Get the number of active fingers for a given touch device.
   62.94 + */
   62.95 +extern DECLSPEC int SDLCALL SDL_GetNumTouchFingers(SDL_TouchID touchID);
   62.96 +
   62.97 +/**
   62.98 + *  \brief Get the finger object of the given touch, with the given index.
   62.99 + */
  62.100 +extern DECLSPEC SDL_Finger * SDLCALL SDL_GetTouchFinger(SDL_TouchID touchID, int index);
  62.101  
  62.102  /* Ends C function definitions when using C++ */
  62.103  #ifdef __cplusplus
    63.1 --- a/include/SDL_video.h	Sat Apr 13 23:03:46 2013 -0400
    63.2 +++ b/include/SDL_video.h	Sun Apr 14 11:42:55 2013 -0400
    63.3 @@ -504,6 +504,9 @@
    63.4  /**
    63.5   *  \brief Get the position of a window.
    63.6   *  
    63.7 + *  \param x        Pointer to variable for storing the x position, may be NULL
    63.8 + *  \param y        Pointer to variable for storing the y position, may be NULL
    63.9 + *
   63.10   *  \sa SDL_SetWindowPosition()
   63.11   */
   63.12  extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window,
   63.13 @@ -512,6 +515,9 @@
   63.14  /**
   63.15   *  \brief Set the size of a window's client area.
   63.16   *  
   63.17 + *  \param w        The width of the window, must be >0
   63.18 + *  \param h        The height of the window, must be >0
   63.19 + *
   63.20   *  \note You can't change the size of a fullscreen window, it automatically
   63.21   *        matches the size of the display mode.
   63.22   *  
   63.23 @@ -523,6 +529,9 @@
   63.24  /**
   63.25   *  \brief Get the size of a window's client area.
   63.26   *  
   63.27 + *  \param w        Pointer to variable for storing the width, may be NULL
   63.28 + *  \param h        Pointer to variable for storing the height, may be NULL
   63.29 + *  
   63.30   *  \sa SDL_SetWindowSize()
   63.31   */
   63.32  extern DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_Window * window, int *w,
   63.33 @@ -530,6 +539,9 @@
   63.34      
   63.35  /**
   63.36   *  \brief Set the minimum size of a window's client area.
   63.37 + *  
   63.38 + *  \param min_w     The minimum width of the window, must be >0
   63.39 + *  \param min_h     The minimum height of the window, must be >0
   63.40   *
   63.41   *  \note You can't change the minimum size of a fullscreen window, it
   63.42   *        automatically matches the size of the display mode.
   63.43 @@ -542,7 +554,10 @@
   63.44      
   63.45  /**
   63.46   *  \brief Get the minimum size of a window's client area.
   63.47 - *
   63.48 + *  
   63.49 + *  \param w        Pointer to variable for storing the minimum width, may be NULL
   63.50 + *  \param h        Pointer to variable for storing the minimum height, may be NULL
   63.51 + *  
   63.52   *  \sa SDL_GetWindowMaximumSize()
   63.53   *  \sa SDL_SetWindowMinimumSize()
   63.54   */
   63.55 @@ -552,6 +567,9 @@
   63.56  /**
   63.57   *  \brief Set the maximum size of a window's client area.
   63.58   *
   63.59 + *  \param max_w     The maximum width of the window, must be >0
   63.60 + *  \param max_h     The maximum height of the window, must be >0
   63.61 + *
   63.62   *  \note You can't change the maximum size of a fullscreen window, it
   63.63   *        automatically matches the size of the display mode.
   63.64   *
   63.65 @@ -563,6 +581,9 @@
   63.66      
   63.67  /**
   63.68   *  \brief Get the maximum size of a window's client area.
   63.69 + *  
   63.70 + *  \param w        Pointer to variable for storing the maximum width, may be NULL
   63.71 + *  \param h        Pointer to variable for storing the maximum height, may be NULL
   63.72   *
   63.73   *  \sa SDL_GetWindowMinimumSize()
   63.74   *  \sa SDL_SetWindowMaximumSize()
   63.75 @@ -673,7 +694,7 @@
   63.76   *  \sa SDL_UpdateWindowSurfaceRect()
   63.77   */
   63.78  extern DECLSPEC int SDLCALL SDL_UpdateWindowSurfaceRects(SDL_Window * window,
   63.79 -                                                         SDL_Rect * rects,
   63.80 +                                                         const SDL_Rect * rects,
   63.81                                                           int numrects);
   63.82  
   63.83  /**
    64.1 --- a/include/begin_code.h	Sat Apr 13 23:03:46 2013 -0400
    64.2 +++ b/include/begin_code.h	Sun Apr 14 11:42:55 2013 -0400
    64.3 @@ -128,6 +128,16 @@
    64.4  #define __inline__
    64.5  #endif
    64.6  
    64.7 +#ifndef SDL_FORCE_INLINE
    64.8 +#if defined(_MSC_VER)
    64.9 +#define SDL_FORCE_INLINE __forceinline
   64.10 +#elif ( (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__) )
   64.11 +#define SDL_FORCE_INLINE __attribute__((always_inline)) static inline
   64.12 +#else
   64.13 +#define SDL_FORCE_INLINE static __inline__
   64.14 +#endif
   64.15 +#endif
   64.16 +
   64.17  /* Apparently this is needed by several Windows compilers */
   64.18  #if !defined(__MACH__)
   64.19  #ifndef NULL
    65.1 --- a/src/SDL.c	Sat Apr 13 23:03:46 2013 -0400
    65.2 +++ b/src/SDL.c	Sun Apr 14 11:42:55 2013 -0400
    65.3 @@ -68,14 +68,9 @@
    65.4  
    65.5  /* Private helper to check if a system needs init. */
    65.6  static SDL_bool
    65.7 -SDL_PrivateShouldInitSubsystem(Uint32 flags, Uint32 subsystem)
    65.8 +SDL_PrivateShouldInitSubsystem(Uint32 subsystem)
    65.9  {
   65.10 -    int subsystem_index;
   65.11 -    if ((flags & subsystem) == 0) {
   65.12 -      return SDL_FALSE;
   65.13 -    }
   65.14 -
   65.15 -    subsystem_index = SDL_MostSignificantBitIndex32(subsystem);
   65.16 +    int subsystem_index = SDL_MostSignificantBitIndex32(subsystem);
   65.17      SDL_assert(SDL_SubsystemRefCount[subsystem_index] < 255);
   65.18      return (SDL_SubsystemRefCount[subsystem_index] == 0);
   65.19  }
   65.20 @@ -105,41 +100,44 @@
   65.21  #endif
   65.22  
   65.23      /* Initialize the timer subsystem */
   65.24 -    if (SDL_PrivateShouldInitSubsystem(flags, SDL_INIT_TIMER)) {
   65.25 +    if ((flags & SDL_INIT_TIMER) ){
   65.26  #if !SDL_TIMERS_DISABLED
   65.27 -        if (SDL_TimerInit() < 0) {
   65.28 -            return (-1);
   65.29 +        if (SDL_PrivateShouldInitSubsystem(SDL_INIT_TIMER)) {
   65.30 +            if (SDL_TimerInit() < 0) {
   65.31 +                return (-1);
   65.32 +            }
   65.33          }
   65.34          SDL_PrivateSubsystemRefCountIncr(SDL_INIT_TIMER);
   65.35  #else
   65.36 -        SDL_SetError("SDL not built with timer support");
   65.37 -        return (-1);
   65.38 +        return SDL_SetError("SDL not built with timer support");
   65.39  #endif
   65.40      }
   65.41  
   65.42      /* Initialize the video/event subsystem */
   65.43 -    if (SDL_PrivateShouldInitSubsystem(flags, SDL_INIT_VIDEO)) {
   65.44 +    if ((flags & SDL_INIT_VIDEO) ){
   65.45  #if !SDL_VIDEO_DISABLED
   65.46 -        if (SDL_VideoInit(NULL) < 0) {
   65.47 -            return (-1);
   65.48 +        if (SDL_PrivateShouldInitSubsystem(SDL_INIT_VIDEO)) {
   65.49 +            if (SDL_VideoInit(NULL) < 0) {
   65.50 +                return (-1);
   65.51 +            }
   65.52          }
   65.53          SDL_PrivateSubsystemRefCountIncr(SDL_INIT_VIDEO);
   65.54  #else
   65.55 -        SDL_SetError("SDL not built with video support");
   65.56 -        return (-1);
   65.57 +        return SDL_SetError("SDL not built with video support");
   65.58  #endif
   65.59      }
   65.60  
   65.61      /* Initialize the audio subsystem */
   65.62 -    if (SDL_PrivateShouldInitSubsystem(flags, SDL_INIT_AUDIO)) {
   65.63 +    if ((flags & SDL_INIT_AUDIO) ){
   65.64  #if !SDL_AUDIO_DISABLED
   65.65 -        if (SDL_AudioInit(NULL) < 0) {
   65.66 -            return (-1);
   65.67 +        if (SDL_PrivateShouldInitSubsystem(SDL_INIT_AUDIO)) {
   65.68 +            if (SDL_AudioInit(NULL) < 0) {
   65.69 +                return (-1);
   65.70 +            }
   65.71          }
   65.72          SDL_PrivateSubsystemRefCountIncr(SDL_INIT_AUDIO);
   65.73  #else
   65.74 -        SDL_SetError("SDL not built with audio support");
   65.75 -        return (-1);
   65.76 +        return SDL_SetError("SDL not built with audio support");
   65.77  #endif
   65.78      }
   65.79  
   65.80 @@ -149,40 +147,43 @@
   65.81      }
   65.82  
   65.83      /* Initialize the joystick subsystem */
   65.84 -    if (SDL_PrivateShouldInitSubsystem(flags, SDL_INIT_JOYSTICK)) {
   65.85 +    if ((flags & SDL_INIT_JOYSTICK) ){
   65.86  #if !SDL_JOYSTICK_DISABLED
   65.87 -        if (SDL_JoystickInit() < 0) {
   65.88 -            return (-1);
   65.89 +        if (SDL_PrivateShouldInitSubsystem(SDL_INIT_JOYSTICK)) {
   65.90 +           if (SDL_JoystickInit() < 0) {
   65.91 +               return (-1);
   65.92 +           }
   65.93          }
   65.94          SDL_PrivateSubsystemRefCountIncr(SDL_INIT_JOYSTICK);
   65.95  #else
   65.96 -        SDL_SetError("SDL not built with joystick support");
   65.97 -        return (-1);
   65.98 +        return SDL_SetError("SDL not built with joystick support");
   65.99  #endif
  65.100      }
  65.101  
  65.102 -    if (SDL_PrivateShouldInitSubsystem(flags, SDL_INIT_GAMECONTROLLER)) {
  65.103 +    if ((flags & SDL_INIT_GAMECONTROLLER) ){
  65.104  #if !SDL_JOYSTICK_DISABLED
  65.105 -        if (SDL_GameControllerInit() < 0) {
  65.106 -            return (-1);
  65.107 +        if (SDL_PrivateShouldInitSubsystem(SDL_INIT_GAMECONTROLLER)) {
  65.108 +            if (SDL_GameControllerInit() < 0) {
  65.109 +                return (-1);
  65.110 +            }
  65.111          }
  65.112          SDL_PrivateSubsystemRefCountIncr(SDL_INIT_GAMECONTROLLER);
  65.113  #else
  65.114 -        SDL_SetError("SDL not built with joystick support");
  65.115 -        return (-1);
  65.116 +        return SDL_SetError("SDL not built with joystick support");
  65.117  #endif
  65.118      }
  65.119  
  65.120      /* Initialize the haptic subsystem */
  65.121 -    if (SDL_PrivateShouldInitSubsystem(flags, SDL_INIT_HAPTIC)) {
  65.122 +    if ((flags & SDL_INIT_HAPTIC) ){
  65.123  #if !SDL_HAPTIC_DISABLED
  65.124 -        if (SDL_HapticInit() < 0) {
  65.125 -            return (-1);
  65.126 +        if (SDL_PrivateShouldInitSubsystem(SDL_INIT_HAPTIC)) {
  65.127 +            if (SDL_HapticInit() < 0) {
  65.128 +                return (-1);
  65.129 +            }
  65.130          }
  65.131          SDL_PrivateSubsystemRefCountIncr(SDL_INIT_HAPTIC);
  65.132  #else
  65.133 -        SDL_SetError("SDL not built with haptic (force feedback) support");
  65.134 -        return (-1);
  65.135 +        return SDL_SetError("SDL not built with haptic (force feedback) support");
  65.136  #endif
  65.137      }
  65.138  
  65.139 @@ -383,8 +384,6 @@
  65.140      return "Mac OS X";
  65.141  #elif __NETBSD__
  65.142      return "NetBSD";
  65.143 -#elif __NDS__
  65.144 -    return "Nintendo DS";
  65.145  #elif __OPENBSD__
  65.146      return "OpenBSD";
  65.147  #elif __OS2__
  65.148 @@ -401,6 +400,8 @@
  65.149      return "Windows";
  65.150  #elif __IPHONEOS__
  65.151      return "iPhone OS";
  65.152 +#elif __PSP__
  65.153 +    return "PlayStation Portable";
  65.154  #else
  65.155      return "Unknown (see SDL_platform.h)";
  65.156  #endif
  65.157 @@ -429,4 +430,4 @@
  65.158  
  65.159  #endif /* __WIN32__ */
  65.160  
  65.161 -/* vi: set ts=4 sw=4 expandtab: */
  65.162 +/* vi: set sts=4 ts=4 sw=4 expandtab: */
    66.1 --- a/src/SDL_error.c	Sat Apr 13 23:03:46 2013 -0400
    66.2 +++ b/src/SDL_error.c	Sun Apr 14 11:42:55 2013 -0400
    66.3 @@ -49,14 +49,14 @@
    66.4  
    66.5  /* Public functions */
    66.6  
    66.7 -void
    66.8 +int
    66.9  SDL_SetError(const char *fmt, ...)
   66.10  {
   66.11      va_list ap;
   66.12      SDL_error *error;
   66.13  
   66.14      /* Ignore call if invalid format pointer was passed */
   66.15 -    if (fmt == NULL) return;
   66.16 +    if (fmt == NULL) return -1;
   66.17      
   66.18      /* Copy in the key, mark error as valid */
   66.19      error = SDL_GetErrBuf();
   66.20 @@ -112,6 +112,8 @@
   66.21  
   66.22      /* If we are in debug mode, print out an error message */
   66.23      SDL_LogError(SDL_LOG_CATEGORY_ERROR, "%s", SDL_GetError());
   66.24 +
   66.25 +    return -1;
   66.26  }
   66.27  
   66.28  /* This function has a bit more overhead than most error functions
   66.29 @@ -216,28 +218,22 @@
   66.30  }
   66.31  
   66.32  /* Very common errors go here */
   66.33 -void
   66.34 +int
   66.35  SDL_Error(SDL_errorcode code)
   66.36  {
   66.37      switch (code) {
   66.38      case SDL_ENOMEM:
   66.39 -        SDL_SetError("Out of memory");
   66.40 -        break;
   66.41 +        return SDL_SetError("Out of memory");
   66.42      case SDL_EFREAD:
   66.43 -        SDL_SetError("Error reading from datastream");
   66.44 -        break;
   66.45 +        return SDL_SetError("Error reading from datastream");
   66.46      case SDL_EFWRITE:
   66.47 -        SDL_SetError("Error writing to datastream");
   66.48 -        break;
   66.49 +        return SDL_SetError("Error writing to datastream");
   66.50      case SDL_EFSEEK:
   66.51 -        SDL_SetError("Error seeking in datastream");
   66.52 -        break;
   66.53 +        return SDL_SetError("Error seeking in datastream");
   66.54      case SDL_UNSUPPORTED:
   66.55 -        SDL_SetError("That operation is not supported");
   66.56 -        break;
   66.57 +        return SDL_SetError("That operation is not supported");
   66.58      default:
   66.59 -        SDL_SetError("Unknown SDL error");
   66.60 -        break;
   66.61 +        return SDL_SetError("Unknown SDL error");
   66.62      }
   66.63  }
   66.64  
    67.1 --- a/src/SDL_log.c	Sat Apr 13 23:03:46 2013 -0400
    67.2 +++ b/src/SDL_log.c	Sun Apr 14 11:42:55 2013 -0400
    67.3 @@ -327,6 +327,20 @@
    67.4              return;
    67.5          }
    67.6      }
    67.7 +#elif defined(__PSP__)
    67.8 +//Simple Log System for PSP
    67.9 +	{
   67.10 +		unsigned int length;
   67.11 +		char*		 output;
   67.12 +		FILE*		 pFile;
   67.13 +		length = SDL_strlen(SDL_priority_prefixes[priority]) + 2 + SDL_strlen(message) + 1;
   67.14 +        output = SDL_stack_alloc(char, length);
   67.15 +		SDL_snprintf(output, length, "%s: %s", SDL_priority_prefixes[priority], message);
   67.16 +		pFile = fopen ("SDL_Log.txt", "a");
   67.17 +		fwrite (output, strlen (output), 1, pFile);
   67.18 +		SDL_stack_free(output);
   67.19 +		fclose (pFile);
   67.20 +	}
   67.21  #endif
   67.22  #if HAVE_STDIO_H
   67.23      fprintf(stderr, "%s: %s\n", SDL_priority_prefixes[priority], message);
    68.1 --- a/src/atomic/SDL_atomic.c	Sat Apr 13 23:03:46 2013 -0400
    68.2 +++ b/src/atomic/SDL_atomic.c	Sun Apr 14 11:42:55 2013 -0400
    68.3 @@ -27,6 +27,8 @@
    68.4     doesn't have that compiler.  That way we always have a working set of
    68.5     atomic operations built into the library.
    68.6  */
    68.7 +#undef SDL_AtomicCAS
    68.8 +#undef SDL_AtomicCASPtr
    68.9   
   68.10  /* 
   68.11    If any of the operations are not provided then we must emulate some
   68.12 @@ -69,8 +71,8 @@
   68.13      SDL_AtomicUnlock(&locks[index]);
   68.14  }
   68.15  
   68.16 -SDL_bool
   68.17 -SDL_AtomicCAS_(SDL_atomic_t *a, int oldval, int newval)
   68.18 +DECLSPEC SDL_bool SDLCALL
   68.19 +SDL_AtomicCAS(SDL_atomic_t *a, int oldval, int newval)
   68.20  {
   68.21      SDL_bool retval = SDL_FALSE;
   68.22  
   68.23 @@ -84,8 +86,8 @@
   68.24      return retval;
   68.25  }
   68.26  
   68.27 -SDL_bool
   68.28 -SDL_AtomicCASPtr_(void **a, void *oldval, void *newval)
   68.29 +DECLSPEC SDL_bool SDLCALL
   68.30 +SDL_AtomicCASPtr(void **a, void *oldval, void *newval)
   68.31  {
   68.32      SDL_bool retval = SDL_FALSE;
   68.33  
    69.1 --- a/src/atomic/SDL_spinlock.c	Sat Apr 13 23:03:46 2013 -0400
    69.2 +++ b/src/atomic/SDL_spinlock.c	Sun Apr 14 11:42:55 2013 -0400
    69.3 @@ -41,13 +41,13 @@
    69.4          /* Race condition on first lock... */
    69.5          _spinlock_mutex = SDL_CreateMutex();
    69.6      }
    69.7 -    SDL_mutexP(_spinlock_mutex);
    69.8 +    SDL_LockMutex(_spinlock_mutex);
    69.9      if (*lock == 0) {
   69.10          *lock = 1;
   69.11 -        SDL_mutexV(_spinlock_mutex);
   69.12 +        SDL_UnlockMutex(_spinlock_mutex);
   69.13          return SDL_TRUE;
   69.14      } else {
   69.15 -        SDL_mutexV(_spinlock_mutex);
   69.16 +        SDL_UnlockMutex(_spinlock_mutex);
   69.17          return SDL_FALSE;
   69.18      }
   69.19  
    70.1 --- a/src/audio/SDL_audio.c	Sat Apr 13 23:03:46 2013 -0400
    70.2 +++ b/src/audio/SDL_audio.c	Sun Apr 14 11:42:55 2013 -0400
    70.3 @@ -66,7 +66,7 @@
    70.4  extern AudioBootStrap NDSAUD_bootstrap;
    70.5  extern AudioBootStrap FUSIONSOUND_bootstrap;
    70.6  extern AudioBootStrap ANDROIDAUD_bootstrap;
    70.7 -
    70.8 +extern AudioBootStrap PSPAUD_bootstrap;
    70.9  
   70.10  /* Available audio drivers */
   70.11  static const AudioBootStrap *const bootstrap[] = {
   70.12 @@ -121,15 +121,15 @@
   70.13  #if SDL_AUDIO_DRIVER_DUMMY
   70.14      &DUMMYAUD_bootstrap,
   70.15  #endif
   70.16 -#if SDL_AUDIO_DRIVER_NDS
   70.17 -    &NDSAUD_bootstrap,
   70.18 -#endif
   70.19  #if SDL_AUDIO_DRIVER_FUSIONSOUND
   70.20      &FUSIONSOUND_bootstrap,
   70.21  #endif
   70.22  #if SDL_AUDIO_DRIVER_ANDROID
   70.23      &ANDROIDAUD_bootstrap,
   70.24  #endif
   70.25 +#if SDL_AUDIO_DRIVER_PSP
   70.26 +    &PSPAUD_bootstrap,
   70.27 +#endif
   70.28      NULL
   70.29  };
   70.30  
   70.31 @@ -191,7 +191,7 @@
   70.32  static int
   70.33  SDL_AudioOpenDevice_Default(_THIS, const char *devname, int iscapture)
   70.34  {
   70.35 -    return 0;
   70.36 +    return -1;
   70.37  }
   70.38  
   70.39  static void
   70.40 @@ -200,7 +200,7 @@
   70.41      if (device->thread && (SDL_ThreadID() == device->threadid)) {
   70.42          return;
   70.43      }
   70.44 -    SDL_mutexP(device->mixer_lock);
   70.45 +    SDL_LockMutex(device->mixer_lock);
   70.46  }
   70.47  
   70.48  static void
   70.49 @@ -209,7 +209,7 @@
   70.50      if (device->thread && (SDL_ThreadID() == device->threadid)) {
   70.51          return;
   70.52      }
   70.53 -    SDL_mutexV(device->mixer_lock);
   70.54 +    SDL_UnlockMutex(device->mixer_lock);
   70.55  }
   70.56  
   70.57  
   70.58 @@ -407,9 +407,9 @@
   70.59                  }
   70.60  
   70.61                  /* Read from the callback into the _input_ stream */
   70.62 -                SDL_mutexP(device->mixer_lock);
   70.63 +                SDL_LockMutex(device->mixer_lock);
   70.64                  (*fill) (udata, istream, istream_len);
   70.65 -                SDL_mutexV(device->mixer_lock);
   70.66 +                SDL_UnlockMutex(device->mixer_lock);
   70.67  
   70.68                  /* Convert the audio if necessary and write to the streamer */
   70.69                  if (device->convert.needed) {
   70.70 @@ -480,9 +480,9 @@
   70.71                  }
   70.72              }
   70.73  
   70.74 -            SDL_mutexP(device->mixer_lock);
   70.75 +            SDL_LockMutex(device->mixer_lock);
   70.76              (*fill) (udata, stream, stream_len);
   70.77 -            SDL_mutexV(device->mixer_lock);
   70.78 +            SDL_UnlockMutex(device->mixer_lock);
   70.79  
   70.80              /* Convert the audio if necessary */
   70.81              if (device->convert.needed) {
   70.82 @@ -940,7 +940,7 @@
   70.83           ((!iscapture) && (current_audio.outputDevices == NULL)) )
   70.84          SDL_GetNumAudioDevices(iscapture);
   70.85  
   70.86 -    if (!current_audio.impl.OpenDevice(device, devname, iscapture)) {
   70.87 +    if (current_audio.impl.OpenDevice(device, devname, iscapture) < 0) {
   70.88          close_audio_device(device);
   70.89          return 0;
   70.90      }
    71.1 --- a/src/audio/SDL_audiocvt.c	Sat Apr 13 23:03:46 2013 -0400
    71.2 +++ b/src/audio/SDL_audiocvt.c	Sun Apr 14 11:42:55 2013 -0400
    71.3 @@ -970,28 +970,23 @@
    71.4  
    71.5      /* Sanity check target pointer */
    71.6      if (cvt == NULL) {
    71.7 -        SDL_InvalidParamError("cvt");
    71.8 -        return -1;
    71.9 +        return SDL_InvalidParamError("cvt");
   71.10      }
   71.11      
   71.12      /* there are no unsigned types over 16 bits, so catch this up front. */
   71.13      if ((SDL_AUDIO_BITSIZE(src_fmt) > 16) && (!SDL_AUDIO_ISSIGNED(src_fmt))) {
   71.14 -        SDL_SetError("Invalid source format");
   71.15 -        return -1;
   71.16 +        return SDL_SetError("Invalid source format");
   71.17      }
   71.18      if ((SDL_AUDIO_BITSIZE(dst_fmt) > 16) && (!SDL_AUDIO_ISSIGNED(dst_fmt))) {
   71.19 -        SDL_SetError("Invalid destination format");
   71.20 -        return -1;
   71.21 +        return SDL_SetError("Invalid destination format");
   71.22      }
   71.23  
   71.24      /* prevent possible divisions by zero, etc. */
   71.25      if ((src_channels == 0) || (dst_channels == 0)) {
   71.26 -        SDL_SetError("Source or destination channels is zero");
   71.27 -        return -1;
   71.28 +        return SDL_SetError("Source or destination channels is zero");
   71.29      }
   71.30      if ((src_rate == 0) || (dst_rate == 0)) {
   71.31 -        SDL_SetError("Source or destination rate is zero");
   71.32 -        return -1;
   71.33 +        return SDL_SetError("Source or destination rate is zero");
   71.34      }
   71.35  #ifdef DEBUG_CONVERT
   71.36      printf("Build format %04x->%04x, channels %u->%u, rate %d->%d\n",
    72.1 --- a/src/audio/SDL_wave.c	Sat Apr 13 23:03:46 2013 -0400
    72.2 +++ b/src/audio/SDL_wave.c	Sun Apr 14 11:42:55 2013 -0400
    72.3 @@ -134,8 +134,7 @@
    72.4          MS_ADPCM_state.wavefmt.channels * sizeof(Sint16);
    72.5      *audio_buf = (Uint8 *) SDL_malloc(*audio_len);
    72.6      if (*audio_buf == NULL) {
    72.7 -        SDL_Error(SDL_ENOMEM);
    72.8 -        return (-1);
    72.9 +        return SDL_OutOfMemory();
   72.10      }
   72.11      decoded = *audio_buf;
   72.12  
   72.13 @@ -359,8 +358,7 @@
   72.14          IMA_ADPCM_state.wavefmt.channels * sizeof(Sint16);
   72.15      *audio_buf = (Uint8 *) SDL_malloc(*audio_len);
   72.16      if (*audio_buf == NULL) {
   72.17 -        SDL_Error(SDL_ENOMEM);
   72.18 -        return (-1);
   72.19 +        return SDL_OutOfMemory();
   72.20      }
   72.21      decoded = *audio_buf;
   72.22  
   72.23 @@ -620,14 +618,12 @@
   72.24      chunk->length = SDL_ReadLE32(src);
   72.25      chunk->data = (Uint8 *) SDL_malloc(chunk->length);
   72.26      if (chunk->data == NULL) {
   72.27 -        SDL_Error(SDL_ENOMEM);
   72.28 -        return (-1);
   72.29 +        return SDL_OutOfMemory();
   72.30      }
   72.31      if (SDL_RWread(src, chunk->data, chunk->length, 1) != 1) {
   72.32 -        SDL_Error(SDL_EFREAD);
   72.33          SDL_free(chunk->data);
   72.34          chunk->data = NULL;
   72.35 -        return (-1);
   72.36 +        return SDL_Error(SDL_EFREAD);
   72.37      }
   72.38      return (chunk->length);
   72.39  }
    73.1 --- a/src/audio/alsa/SDL_alsa_audio.c	Sat Apr 13 23:03:46 2013 -0400
    73.2 +++ b/src/audio/alsa/SDL_alsa_audio.c	Sun Apr 14 11:42:55 2013 -0400
    73.3 @@ -482,8 +482,7 @@
    73.4      this->hidden = (struct SDL_PrivateAudioData *)
    73.5          SDL_malloc((sizeof *this->hidden));
    73.6      if (this->hidden == NULL) {
    73.7 -        SDL_OutOfMemory();
    73.8 -        return 0;
    73.9 +        return SDL_OutOfMemory();
   73.10      }
   73.11      SDL_memset(this->hidden, 0, (sizeof *this->hidden));
   73.12  
   73.13 @@ -495,9 +494,8 @@
   73.14  
   73.15      if (status < 0) {
   73.16          ALSA_CloseDevice(this);
   73.17 -        SDL_SetError("ALSA: Couldn't open audio device: %s",
   73.18 -                     ALSA_snd_strerror(status));
   73.19 -        return 0;
   73.20 +        return SDL_SetError("ALSA: Couldn't open audio device: %s",
   73.21 +                            ALSA_snd_strerror(status));
   73.22      }
   73.23  
   73.24      this->hidden->pcm_handle = pcm_handle;
   73.25 @@ -507,9 +505,8 @@
   73.26      status = ALSA_snd_pcm_hw_params_any(pcm_handle, hwparams);
   73.27      if (status < 0) {
   73.28          ALSA_CloseDevice(this);
   73.29 -        SDL_SetError("ALSA: Couldn't get hardware config: %s",
   73.30 -                     ALSA_snd_strerror(status));
   73.31 -        return 0;
   73.32 +        return SDL_SetError("ALSA: Couldn't get hardware config: %s",
   73.33 +                            ALSA_snd_strerror(status));
   73.34      }
   73.35  
   73.36      /* SDL only uses interleaved sample output */
   73.37 @@ -517,9 +514,8 @@
   73.38                                                 SND_PCM_ACCESS_RW_INTERLEAVED);
   73.39      if (status < 0) {
   73.40          ALSA_CloseDevice(this);
   73.41 -        SDL_SetError("ALSA: Couldn't set interleaved access: %s",
   73.42 +        return SDL_SetError("ALSA: Couldn't set interleaved access: %s",