merged: might need to check main.c in the iOS template to make sure no changes were abandoned.
authorEric Wing <ewing . public |-at-| gmail . com>
Tue, 01 Feb 2011 00:37:02 -0800
changeset 52792c500f37abcf
parent 5278 067973aec4d8
parent 5128 f2c2f0ecba5f
child 5280 b1b0811a1ccc
merged: might need to check main.c in the iOS template to make sure no changes were abandoned.
README.RISCOS
Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj
src/SDL_android.cpp
src/SDL_android.h
src/joystick/riscos/SDL_sysjoystick.c
src/thread/riscos/SDL_syscond.c
src/thread/riscos/SDL_sysmutex.c
src/thread/riscos/SDL_sysmutex_c.h
src/thread/riscos/SDL_syssem.c
src/thread/riscos/SDL_systhread.c
src/thread/riscos/SDL_systhread_c.h
src/timer/SDL_systimer.h
src/timer/riscos/SDL_systimer.c
src/video/riscos/SDL_riscosASM.S
src/video/riscos/SDL_riscosFullScreenVideo.c
src/video/riscos/SDL_riscosevents.c
src/video/riscos/SDL_riscosevents_c.h
src/video/riscos/SDL_riscosmouse.c
src/video/riscos/SDL_riscosmouse_c.h
src/video/riscos/SDL_riscossprite.c
src/video/riscos/SDL_riscostask.c
src/video/riscos/SDL_riscostask.h
src/video/riscos/SDL_riscosvideo.c
src/video/riscos/SDL_riscosvideo.h
src/video/riscos/SDL_wimppoll.c
src/video/riscos/SDL_wimpvideo.c
     1.1 --- a/Android.mk	Mon Jan 31 07:36:12 2011 -0800
     1.2 +++ b/Android.mk	Tue Feb 01 00:37:02 2011 -0800
     1.3 @@ -12,30 +12,31 @@
     1.4  
     1.5  LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
     1.6  
     1.7 -LOCAL_SRC_FILES := src/SDL_android.cpp \
     1.8 +LOCAL_SRC_FILES := \
     1.9  	$(subst $(LOCAL_PATH)/,, \
    1.10  	$(wildcard $(LOCAL_PATH)/src/*.c) \
    1.11  	$(wildcard $(LOCAL_PATH)/src/audio/*.c) \
    1.12 +	$(wildcard $(LOCAL_PATH)/src/audio/android/*.c) \
    1.13 +	$(wildcard $(LOCAL_PATH)/src/audio/dummy/*.c) \
    1.14  	$(LOCAL_PATH)/src/atomic/SDL_atomic.c \
    1.15  	$(LOCAL_PATH)/src/atomic/SDL_spinlock.c.arm \
    1.16 +	$(wildcard $(LOCAL_PATH)/src/core/android/*.cpp) \
    1.17  	$(wildcard $(LOCAL_PATH)/src/cpuinfo/*.c) \
    1.18  	$(wildcard $(LOCAL_PATH)/src/events/*.c) \
    1.19  	$(wildcard $(LOCAL_PATH)/src/file/*.c) \
    1.20 +	$(wildcard $(LOCAL_PATH)/src/haptic/*.c) \
    1.21 +	$(wildcard $(LOCAL_PATH)/src/haptic/dummy/*.c) \
    1.22  	$(wildcard $(LOCAL_PATH)/src/joystick/*.c) \
    1.23 -	$(wildcard $(LOCAL_PATH)/src/haptic/*.c) \
    1.24 +	$(wildcard $(LOCAL_PATH)/src/joystick/android/*.c) \
    1.25 +	$(wildcard $(LOCAL_PATH)/src/loadso/dlopen/*.c) \
    1.26 +	$(wildcard $(LOCAL_PATH)/src/power/*.c) \
    1.27  	$(wildcard $(LOCAL_PATH)/src/stdlib/*.c) \
    1.28  	$(wildcard $(LOCAL_PATH)/src/thread/*.c) \
    1.29 +	$(wildcard $(LOCAL_PATH)/src/thread/pthread/*.c) \
    1.30  	$(wildcard $(LOCAL_PATH)/src/timer/*.c) \
    1.31 +	$(wildcard $(LOCAL_PATH)/src/timer/unix/*.c) \
    1.32  	$(wildcard $(LOCAL_PATH)/src/video/*.c) \
    1.33 -	$(wildcard $(LOCAL_PATH)/src/power/*.c) \
    1.34 -	$(wildcard $(LOCAL_PATH)/src/audio/android/*.c) \
    1.35 -	$(wildcard $(LOCAL_PATH)/src/audio/dummy/*.c) \
    1.36 -	$(wildcard $(LOCAL_PATH)/src/video/android/*.c) \
    1.37 -	$(wildcard $(LOCAL_PATH)/src/joystick/android/*.c) \
    1.38 -	$(wildcard $(LOCAL_PATH)/src/haptic/dummy/*.c) \
    1.39 -	$(wildcard $(LOCAL_PATH)/src/thread/pthread/*.c) \
    1.40 -	$(wildcard $(LOCAL_PATH)/src/timer/unix/*.c) \
    1.41 -	$(wildcard $(LOCAL_PATH)/src/loadso/dlopen/*.c))
    1.42 +	$(wildcard $(LOCAL_PATH)/src/video/android/*.c))
    1.43  
    1.44  LOCAL_LDLIBS := -ldl -lGLESv1_CM -llog
    1.45  
     2.1 --- a/README	Mon Jan 31 07:36:12 2011 -0800
     2.2 +++ b/README	Tue Feb 01 00:37:02 2011 -0800
     2.3 @@ -3,7 +3,7 @@
     2.4  
     2.5                                    (SDL)
     2.6  
     2.7 -                                Version 1.2
     2.8 +                                Version 1.3
     2.9  
    2.10  ---
    2.11  http://www.libsdl.org/
    2.12 @@ -12,10 +12,9 @@
    2.13  level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
    2.14  and 2D framebuffer across multiple platforms.
    2.15  
    2.16 -The current version supports Linux, Windows, Windows CE, BeOS, MacOS,
    2.17 -Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX.
    2.18 -The code contains support for AIX, OSF/Tru64, RISC OS, and SymbianOS,
    2.19 -but these are not officially supported.
    2.20 +The current version supports Windows, Windows CE, Mac OS X, Linux, FreeBSD,
    2.21 +NetBSD, OpenBSD, BSD/OS, Solaris, QNX, iOS, and Android. The code contains
    2.22 +support for other operating systems but those are not officially supported.
    2.23  
    2.24  SDL is written in C, but works with C++ natively, and has bindings to
    2.25  several other languages, including Ada, C#, Eiffel, Erlang, Euphoria,
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/README.Platforms	Tue Feb 01 00:37:02 2011 -0800
     3.3 @@ -0,0 +1,34 @@
     3.4 +
     3.5 +This is a list of the platforms SDL supports, and who maintains them.
     3.6 +
     3.7 +Officially supported platforms
     3.8 +==============================
     3.9 +(code compiles, and thoroughly tested for release)
    3.10 +==============================
    3.11 +Windows XP
    3.12 +Windows Vista
    3.13 +Windows 7
    3.14 +Mac OS X 10.4+
    3.15 +Linux 2.6+
    3.16 +iOS 3.2+
    3.17 +Android 1.6+
    3.18 +
    3.19 +Unofficially supported platforms
    3.20 +================================
    3.21 +(code compiles, but not thoroughly tested)
    3.22 +================================
    3.23 +Windows CE
    3.24 +FreeBSD
    3.25 +NetBSD
    3.26 +OpenBSD
    3.27 +Solaris
    3.28 +
    3.29 +Platforms supported by volunteers
    3.30 +=================================
    3.31 +Pandora - maintained by Scott Smith <pickle136@sbcglobal.net>
    3.32 +
    3.33 +Platforms that need maintainers
    3.34 +===============================
    3.35 +Nintendo DS
    3.36 +QNX
    3.37 +Haiku
     4.1 --- a/README.RISCOS	Mon Jan 31 07:36:12 2011 -0800
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,129 +0,0 @@
     4.4 -Readme for RISC OS port of SDL
     4.5 -==============================
     4.6 -
     4.7 -This document last updated on 2nd Februrary 2006
     4.8 -
     4.9 -This is a RISC OS port of the Simple Direct Media Layer (SDL) by Alan Buckley with contributions from Peter Naulls.
    4.10 -
    4.11 -Details of the SDL can be found at http://www.libsdl.org.
    4.12 -
    4.13 -The source code including the RISC OS version can be obtained from:
    4.14 -
    4.15 -http://www.libsdl.org.
    4.16 -
    4.17 -Pre built libraries and many games and applications compiled for RISC OS using this library can be downloaded from The Unix Porting Project at http://www.riscos.info/unix/.
    4.18 -
    4.19 -This is released under the LGPL see the file COPYING for details.
    4.20 -
    4.21 -
    4.22 -Compiling applications under RISC OS
    4.23 -====================================
    4.24 -
    4.25 -Add -ISDL: for the C compiler flags if you include the files in the SDL directory. e.g. #include "SDL/SDL.h"
    4.26 -Add -ISDL:SDL for the C compiler flags if you include the files directly. e.g. #include "SDL/SDL.h"
    4.27 -
    4.28 -Add -LSDL: -lSDL to the link stage of compilation.
    4.29 -
    4.30 -For example, to compile the testbitmap.c sample you could use:
    4.31 -
    4.32 -gcc -ISDL:SDL -LSDL: -lSDL testbitmap.c -otestbitmap
    4.33 -
    4.34 -
    4.35 -RISC OS port of SDL runtime information
    4.36 -=======================================
    4.37 -
    4.38 -Runtime requirements
    4.39 ---------------------
    4.40 -
    4.41 -This library currently needs a minimum of RISC OS 3.6. The source code for the library (and a lot of the programs built with it) also need long file names.
    4.42 -
    4.43 -To use the audio you also need 16 bit sound and to have installed the DigitalRender module by Andreas Dehmel version 0.51 available from his
    4.44 -web site: http://home.t-online.de/~zarquon
    4.45 -This is loaded when needed by UnixLib.
    4.46 -
    4.47 -Note: As most programs ported from other OSes use high resolution graphics and a memory back buffer a machine with a StrongARM processor and 1 or 2MB of VRAM (or a better machine) is recomended.
    4.48 -
    4.49 -
    4.50 -RISC OS runtime parameters
    4.51 ---------------------------
    4.52 -
    4.53 -Several environmental variables have been defined to make porting programs easier (i.e. By setting these variable you do not need to have source code differences between OSes).
    4.54 -
    4.55 -They are all defined on an application basis.
    4.56 -
    4.57 -The <appname> used below is found as follows:
    4.58 -1. Use the name of the program unless it is !RunImage
    4.59 -2. Check the folder specification for the folder !RunImage is run from. If it is a folder name use that name, otherwise if it is an environmental variable of the form <XXX$Dir> use the value of XXX.
    4.60 -
    4.61 -The variables are:
    4.62 -
    4.63 -SDL$<appname>$TaskName
    4.64 -
    4.65 -The name of the task for RISC OS. If omitted then <appname> is used for the task name,
    4.66 -
    4.67 -SDL$<appname>$BackBuffer
    4.68 -
    4.69 -Set to 1 to use a system memory back buffer for the screen in full screen mode. Some programs on other systems assume their is always a back buffer even though the SDL specification specifies this is not the case. The current RISC OS implementation uses direct writes to the screen if a hardware fullscreen is requested.
    4.70 -
    4.71 -Set to 2 to use an ARM code full word copy. This is faster than the standard back buffer, but uses aligned words only so it is possible (but unlikely) for it to corrupt the screen for 8bpp and 16bpp modes.
    4.72 -
    4.73 -Set to 3 to use a RISC OS sprite as the back buffer. This is usually the slowest for most SDL applications, however it may be useful in the future as Sprite acceleration is added to various hardware that runs RISC OS.
    4.74 -
    4.75 -SDL$<appname>$CloseAction - set the action for the close icon. Again as programs don't match the specification you can set this to 0 to remove the close icon from the main window for applications where this does not affect the program.
    4.76 -
    4.77 -
    4.78 -RISC OS SDL port API notes
    4.79 -==========================
    4.80 -
    4.81 -Current level of implementation
    4.82 --------------------------------
    4.83 -
    4.84 -The following list is an overview of how much of the SDL is implemented. The areas match the main areas of the SDL.
    4.85 -
    4.86 -video - Mostly done. Doesn't cover gamma, YUV-overlay or OpenGL.
    4.87 -Window Manager - Mostly done. SetIcon/IconifyWindow not implemented.
    4.88 -Events - Mostly done. Resize and some joystick events missing.
    4.89 -Joystick - Currently assumes a single joystick with 4 buttons.
    4.90 -Audio - Done
    4.91 -Threads - Done
    4.92 -Timers - Done
    4.93 -
    4.94 -Thread support can be removed by defining DISABLE_THREADS and recompiling the library.
    4.95 -
    4.96 -SDL API notes
    4.97 --------------
    4.98 -
    4.99 -This section contains additional notes on some specific commands.
   4.100 -
   4.101 -SDL_SetVideoMode
   4.102 -  On RISC OS a fullscreen mode directly accesses the screen. This can be modified by the environmental variable (SDL$<appname>$BackBuffer) or by using the SDL_SWSURFACE flag to write to an offscreen buffer that is updated using SDL_UpdateRects.
   4.103 -  Open GL is not supported so SDL_OPENGL and SDL_OPENGLBLIT flags fail.
   4.104 -  SDL_RESIZEABLE and SDL_NOFRAME flags are not supported.
   4.105 -
   4.106 -SDL_SetColors
   4.107 -  In a wimp mode the screen colours are not changed for a hardware palette instead the RISC OS sprite colour mapping is used to get the best matching colours.
   4.108 -
   4.109 -SDL_CreateCursor
   4.110 -   Inverted colour is not supported.
   4.111 -
   4.112 -SDL_WM_ToggleFullScreen
   4.113 -   Currently this won't work if the application starts up in Fullscreen mode.
   4.114 -   Toggling to fullscreen will only work if the monitor is set up to support the exact screen size requested.
   4.115 -
   4.116 -SDL_EnableUNICODE
   4.117 -   Unicode translation used here is only really accurate for 7 bit characters.
   4.118 -
   4.119 -SDL_NumJoysticks/JoystickName etc.
   4.120 -   Hardcoded to expect only 1 joystick with 4 buttons if the Joystick module is loaded.
   4.121 -
   4.122 -SDL_GetTicks
   4.123 -   Timer used has only a centisecond accuracy. This applies to other time related functions.
   4.124 -   
   4.125 -SDL_Delay
   4.126 -   Modified to poll keyboard/mouse during the delay on the event thread.
   4.127 -
   4.128 -
   4.129 -Notes on current implementation
   4.130 --------------------------------
   4.131 -
   4.132 -Keyboard and mouse are polled so if too long a time is spent between a call to SDL_PumpEvents, functions that use it, or SDL_Delay events can be missed.
     5.1 --- a/VisualC/SDL/SDL_VS2005.vcproj	Mon Jan 31 07:36:12 2011 -0800
     5.2 +++ b/VisualC/SDL/SDL_VS2005.vcproj	Tue Feb 01 00:37:02 2011 -0800
     5.3 @@ -29,7 +29,7 @@
     5.4  			<Tool
     5.5  				Name="VCPreBuildEventTool"
     5.6  				Description="Making sure basic SDL headers are in place..."
     5.7 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
     5.8 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadf00d&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
     5.9  			/>
    5.10  			<Tool
    5.11  				Name="VCCustomBuildTool"
    5.12 @@ -207,7 +207,7 @@
    5.13  			<Tool
    5.14  				Name="VCPreBuildEventTool"
    5.15  				Description="Making sure basic SDL headers are in place..."
    5.16 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    5.17 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadf00d&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    5.18  			/>
    5.19  			<Tool
    5.20  				Name="VCCustomBuildTool"
    5.21 @@ -648,10 +648,6 @@
    5.22  			>
    5.23  		</File>
    5.24  		<File
    5.25 -			RelativePath="..\..\src\atomic\SDL_spinlock.c"
    5.26 -			>
    5.27 -		</File>
    5.28 -		<File
    5.29  			RelativePath="..\..\src\audio\SDL_audio.c"
    5.30  			>
    5.31  		</File>
    5.32 @@ -1048,6 +1044,10 @@
    5.33  			>
    5.34  		</File>
    5.35  		<File
    5.36 +			RelativePath="..\..\src\atomic\SDL_spinlock.c"
    5.37 +			>
    5.38 +		</File>
    5.39 +		<File
    5.40  			RelativePath="..\..\src\stdlib\SDL_stdlib.c"
    5.41  			>
    5.42  		</File>
    5.43 @@ -1164,6 +1164,22 @@
    5.44  			>
    5.45  		</File>
    5.46  		<File
    5.47 +			RelativePath="..\..\src\events\SDL_windowevents.c"
    5.48 +			>
    5.49 +		</File>
    5.50 +		<File
    5.51 +			RelativePath="..\..\src\events\SDL_windowevents_c.h"
    5.52 +			>
    5.53 +		</File>
    5.54 +		<File
    5.55 +			RelativePath="..\..\src\core\windows\SDL_windows.c"
    5.56 +			>
    5.57 +		</File>
    5.58 +		<File
    5.59 +			RelativePath="..\..\src\core\windows\SDL_windows.h"
    5.60 +			>
    5.61 +		</File>
    5.62 +		<File
    5.63  			RelativePath="..\..\src\video\windows\SDL_windowsclipboard.c"
    5.64  			>
    5.65  		</File>
    5.66 @@ -1244,14 +1260,6 @@
    5.67  			>
    5.68  		</File>
    5.69  		<File
    5.70 -			RelativePath="..\..\src\events\SDL_windowevents.c"
    5.71 -			>
    5.72 -		</File>
    5.73 -		<File
    5.74 -			RelativePath="..\..\src\events\SDL_windowevents_c.h"
    5.75 -			>
    5.76 -		</File>
    5.77 -		<File
    5.78  			RelativePath="..\..\src\video\SDL_yuv_mmx.c"
    5.79  			>
    5.80  		</File>
     6.1 --- a/VisualC/SDL/SDL_VS2008.vcproj	Mon Jan 31 07:36:12 2011 -0800
     6.2 +++ b/VisualC/SDL/SDL_VS2008.vcproj	Tue Feb 01 00:37:02 2011 -0800
     6.3 @@ -30,7 +30,7 @@
     6.4  			<Tool
     6.5  				Name="VCPreBuildEventTool"
     6.6  				Description="Making sure basic SDL headers are in place..."
     6.7 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
     6.8 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadfood&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
     6.9  			/>
    6.10  			<Tool
    6.11  				Name="VCCustomBuildTool"
    6.12 @@ -201,7 +201,7 @@
    6.13  			<Tool
    6.14  				Name="VCPreBuildEventTool"
    6.15  				Description="Making sure basic SDL headers are in place..."
    6.16 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    6.17 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadfood&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    6.18  			/>
    6.19  			<Tool
    6.20  				Name="VCCustomBuildTool"
    6.21 @@ -1151,6 +1151,22 @@
    6.22  			>
    6.23  		</File>
    6.24  		<File
    6.25 +			RelativePath="..\..\src\events\SDL_windowevents.c"
    6.26 +			>
    6.27 +		</File>
    6.28 +		<File
    6.29 +			RelativePath="..\..\src\events\SDL_windowevents_c.h"
    6.30 +			>
    6.31 +		</File>
    6.32 +		<File
    6.33 +			RelativePath="..\..\src\core\windows\SDL_windows.c"
    6.34 +			>
    6.35 +		</File>
    6.36 +		<File
    6.37 +			RelativePath="..\..\src\core\windows\SDL_windows.h"
    6.38 +			>
    6.39 +		</File>
    6.40 +		<File
    6.41  			RelativePath="..\..\src\video\windows\SDL_windowsclipboard.c"
    6.42  			>
    6.43  		</File>
    6.44 @@ -1231,14 +1247,6 @@
    6.45  			>
    6.46  		</File>
    6.47  		<File
    6.48 -			RelativePath="..\..\src\events\SDL_windowevents.c"
    6.49 -			>
    6.50 -		</File>
    6.51 -		<File
    6.52 -			RelativePath="..\..\src\events\SDL_windowevents_c.h"
    6.53 -			>
    6.54 -		</File>
    6.55 -		<File
    6.56  			RelativePath="..\..\src\video\SDL_yuv_mmx.c"
    6.57  			>
    6.58  		</File>
     7.1 --- a/VisualC/SDL/SDL_VS2010.vcxproj	Mon Jan 31 07:36:12 2011 -0800
     7.2 +++ b/VisualC/SDL/SDL_VS2010.vcxproj	Tue Feb 01 00:37:02 2011 -0800
     7.3 @@ -74,14 +74,12 @@
     7.4    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     7.5      <PreBuildEvent>
     7.6        <Message>Making sure basic SDL headers are in place...</Message>
     7.7 -      <Command>if exist "$(ProjectDir)\..\..\include\SDL_config.h" goto SDLCONFIGOKAY
     7.8 -echo Copying SDL_config_windows.h to SDL_config.h...
     7.9 -copy "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
    7.10 -:SDLCONFIGOKAY
    7.11 +      <Command>echo Copying SDL_config_windows.h to SDL_config.h...
    7.12 +copy /Y "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
    7.13  
    7.14  if exist "$(ProjectDir)\..\..\include\SDL_revision.h" goto SDLREVISIONOKAY
    7.15  echo Creating stub SDL_revision.h file...
    7.16 -echo #define SDL_REVISION 0 &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
    7.17 +echo #define SDL_REVISION "hg-0:baadf00d" &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
    7.18  :SDLREVISIONOKAY
    7.19  </Command>
    7.20      </PreBuildEvent>
    7.21 @@ -154,14 +152,12 @@
    7.22    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    7.23      <PreBuildEvent>
    7.24        <Message>Making sure basic SDL headers are in place...</Message>
    7.25 -      <Command>if exist "$(ProjectDir)\..\..\include\SDL_config.h" goto SDLCONFIGOKAY
    7.26 -echo Copying SDL_config_windows.h to SDL_config.h...
    7.27 -copy "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
    7.28 -:SDLCONFIGOKAY
    7.29 +      <Command>echo Copying SDL_config_windows.h to SDL_config.h...
    7.30 +copy /Y "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
    7.31  
    7.32  if exist "$(ProjectDir)\..\..\include\SDL_revision.h" goto SDLREVISIONOKAY
    7.33  echo Creating stub SDL_revision.h file...
    7.34 -echo #define SDL_REVISION 0 &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
    7.35 +echo #define SDL_REVISION "hg-0:baadf00d" &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
    7.36  :SDLREVISIONOKAY
    7.37  </Command>
    7.38      </PreBuildEvent>
    7.39 @@ -272,6 +268,7 @@
    7.40      <ClInclude Include="..\..\include\SDL_types.h" />
    7.41      <ClInclude Include="..\..\include\SDL_version.h" />
    7.42      <ClInclude Include="..\..\include\SDL_video.h" />
    7.43 +    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    7.44      <ClInclude Include="..\..\src\events\blank_cursor.h" />
    7.45      <ClInclude Include="..\..\src\events\default_cursor.h" />
    7.46      <ClInclude Include="..\..\src\audio\windx5\directx.h" />
    7.47 @@ -345,6 +342,7 @@
    7.48      <ClInclude Include="..\..\src\video\windows\wmmsg.h" />
    7.49    </ItemGroup>
    7.50    <ItemGroup>
    7.51 +    <ClCompile Include="..\..\src\core\windows\SDL_windows.c" />
    7.52      <ClCompile Include="..\..\src\events\SDL_clipboardevents.c" />
    7.53      <ClCompile Include="..\..\src\events\SDL_gesture.c" />
    7.54      <ClCompile Include="..\..\src\events\SDL_touch.c" />
     8.1 --- a/VisualC/SDLmain/SDLmain_VS2005.vcproj	Mon Jan 31 07:36:12 2011 -0800
     8.2 +++ b/VisualC/SDLmain/SDLmain_VS2005.vcproj	Tue Feb 01 00:37:02 2011 -0800
     8.3 @@ -29,7 +29,7 @@
     8.4  			<Tool
     8.5  				Name="VCPreBuildEventTool"
     8.6  				Description="Making sure basic SDL headers are in place..."
     8.7 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
     8.8 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadf00d&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
     8.9  			/>
    8.10  			<Tool
    8.11  				Name="VCCustomBuildTool"
    8.12 @@ -164,7 +164,7 @@
    8.13  			<Tool
    8.14  				Name="VCPreBuildEventTool"
    8.15  				Description="Making sure basic SDL headers are in place..."
    8.16 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    8.17 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadf00d&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    8.18  			/>
    8.19  			<Tool
    8.20  				Name="VCCustomBuildTool"
    8.21 @@ -299,7 +299,7 @@
    8.22  			<Tool
    8.23  				Name="VCPreBuildEventTool"
    8.24  				Description="Making sure basic SDL headers are in place..."
    8.25 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    8.26 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadf00d&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    8.27  			/>
    8.28  			<Tool
    8.29  				Name="VCCustomBuildTool"
     9.1 --- a/VisualC/SDLmain/SDLmain_VS2008.vcproj	Mon Jan 31 07:36:12 2011 -0800
     9.2 +++ b/VisualC/SDLmain/SDLmain_VS2008.vcproj	Tue Feb 01 00:37:02 2011 -0800
     9.3 @@ -30,7 +30,7 @@
     9.4  			<Tool
     9.5  				Name="VCPreBuildEventTool"
     9.6  				Description="Making sure basic SDL headers are in place..."
     9.7 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
     9.8 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadf00d&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
     9.9  			/>
    9.10  			<Tool
    9.11  				Name="VCCustomBuildTool"
    9.12 @@ -165,7 +165,7 @@
    9.13  			<Tool
    9.14  				Name="VCPreBuildEventTool"
    9.15  				Description="Making sure basic SDL headers are in place..."
    9.16 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    9.17 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadf00d&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    9.18  			/>
    9.19  			<Tool
    9.20  				Name="VCCustomBuildTool"
    9.21 @@ -300,7 +300,7 @@
    9.22  			<Tool
    9.23  				Name="VCPreBuildEventTool"
    9.24  				Description="Making sure basic SDL headers are in place..."
    9.25 -				CommandLine="if exist &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot; goto SDLCONFIGOKAY&#x0D;&#x0A;echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;:SDLCONFIGOKAY&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION 0 &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    9.26 +				CommandLine="echo Copying SDL_config_windows.h to SDL_config.h...&#x0D;&#x0A;copy /Y &quot;$(ProjectDir)\..\..\include\SDL_config_windows.h&quot; &quot;$(ProjectDir)\..\..\include\SDL_config.h&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot; goto SDLREVISIONOKAY&#x0D;&#x0A;echo Creating stub SDL_revision.h file...&#x0D;&#x0A;echo #define SDL_REVISION &quot;hg-0:baadf00d&quot; &gt;&quot;$(ProjectDir)\..\..\include\SDL_revision.h&quot;&#x0D;&#x0A;:SDLREVISIONOKAY&#x0D;&#x0A;"
    9.27  			/>
    9.28  			<Tool
    9.29  				Name="VCCustomBuildTool"
    10.1 --- a/VisualC/SDLmain/SDLmain_VS2010.vcxproj	Mon Jan 31 07:36:12 2011 -0800
    10.2 +++ b/VisualC/SDLmain/SDLmain_VS2010.vcxproj	Tue Feb 01 00:37:02 2011 -0800
    10.3 @@ -101,14 +101,12 @@
    10.4    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    10.5      <PreBuildEvent>
    10.6        <Message>Making sure basic SDL headers are in place...</Message>
    10.7 -      <Command>if exist "$(ProjectDir)\..\..\include\SDL_config.h" goto SDLCONFIGOKAY
    10.8 -echo Copying SDL_config_windows.h to SDL_config.h...
    10.9 -copy "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
   10.10 -:SDLCONFIGOKAY
   10.11 +      <Command>echo Copying SDL_config_windows.h to SDL_config.h...
   10.12 +copy /Y "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
   10.13  
   10.14  if exist "$(ProjectDir)\..\..\include\SDL_revision.h" goto SDLREVISIONOKAY
   10.15  echo Creating stub SDL_revision.h file...
   10.16 -echo #define SDL_REVISION 0 &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
   10.17 +echo #define SDL_REVISION "hg-0:baadf00d" &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
   10.18  :SDLREVISIONOKAY</Command>
   10.19      </PreBuildEvent>
   10.20      <ClCompile>
   10.21 @@ -154,14 +152,12 @@
   10.22    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_NoSTDIO|Win32'">
   10.23      <PreBuildEvent>
   10.24        <Message>Making sure basic SDL headers are in place...</Message>
   10.25 -      <Command>if exist "$(ProjectDir)\..\..\include\SDL_config.h" goto SDLCONFIGOKAY
   10.26 -echo Copying SDL_config_windows.h to SDL_config.h...
   10.27 -copy "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
   10.28 -:SDLCONFIGOKAY
   10.29 +      <Command>echo Copying SDL_config_windows.h to SDL_config.h...
   10.30 +copy /Y "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
   10.31  
   10.32  if exist "$(ProjectDir)\..\..\include\SDL_revision.h" goto SDLREVISIONOKAY
   10.33  echo Creating stub SDL_revision.h file...
   10.34 -echo #define SDL_REVISION 0 &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
   10.35 +echo #define SDL_REVISION "hg-0:baadf00d" &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
   10.36  :SDLREVISIONOKAY</Command>
   10.37      </PreBuildEvent>
   10.38      <ClCompile>
   10.39 @@ -207,14 +203,12 @@
   10.40    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
   10.41      <PreBuildEvent>
   10.42        <Message>Making sure basic SDL headers are in place...</Message>
   10.43 -      <Command>if exist "$(ProjectDir)\..\..\include\SDL_config.h" goto SDLCONFIGOKAY
   10.44 -echo Copying SDL_config_windows.h to SDL_config.h...
   10.45 -copy "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
   10.46 -:SDLCONFIGOKAY
   10.47 +      <Command>echo Copying SDL_config_windows.h to SDL_config.h...
   10.48 +copy /Y "$(ProjectDir)\..\..\include\SDL_config_windows.h" "$(ProjectDir)\..\..\include\SDL_config.h"
   10.49  
   10.50  if exist "$(ProjectDir)\..\..\include\SDL_revision.h" goto SDLREVISIONOKAY
   10.51  echo Creating stub SDL_revision.h file...
   10.52 -echo #define SDL_REVISION 0 &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
   10.53 +echo #define SDL_REVISION "hg-0:baadf00d" &gt;"$(ProjectDir)\..\..\include\SDL_revision.h"
   10.54  :SDLREVISIONOKAY</Command>
   10.55      </PreBuildEvent>
   10.56      <ClCompile>
   10.57 @@ -261,4 +255,4 @@
   10.58    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   10.59    <ImportGroup Label="ExtensionTargets">
   10.60    </ImportGroup>
   10.61 -</Project>
   10.62 +</Project>

    11.1 --- a/VisualCE/SDL.sln	Mon Jan 31 07:36:12 2011 -0800
    11.2 +++ b/VisualCE/SDL.sln	Tue Feb 01 00:37:02 2011 -0800
    11.3 @@ -1,6 +1,6 @@
    11.4  
    11.5 -Microsoft Visual Studio Solution File, Format Version 9.00
    11.6 -# Visual Studio 2005
    11.7 +Microsoft Visual Studio Solution File, Format Version 10.00
    11.8 +# Visual Studio 2008
    11.9  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL", "SDL\SDL.vcproj", "{C598024D-8030-4F9C-AB76-69BF4CA0645F}"
   11.10  EndProject
   11.11  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDLmain", "SDLmain\SDLmain.vcproj", "{5AC88B84-5EAA-4C1E-948D-332DA34227F6}"
    12.1 --- a/VisualCE/SDL/SDL.vcproj	Mon Jan 31 07:36:12 2011 -0800
    12.2 +++ b/VisualCE/SDL/SDL.vcproj	Tue Feb 01 00:37:02 2011 -0800
    12.3 @@ -1,10 +1,11 @@
    12.4  <?xml version="1.0" encoding="windows-1251"?>
    12.5  <VisualStudioProject
    12.6  	ProjectType="Visual C++"
    12.7 -	Version="8,00"
    12.8 +	Version="9.00"
    12.9  	Name="SDL"
   12.10  	ProjectGUID="{C598024D-8030-4F9C-AB76-69BF4CA0645F}"
   12.11  	RootNamespace="SDL"
   12.12 +	TargetFrameworkVersion="131072"
   12.13  	>
   12.14  	<Platforms>
   12.15  		<Platform
   12.16 @@ -93,6 +94,8 @@
   12.17  				StackCommitSize="4096"
   12.18  				EntryPointSymbol="_DllMainCRTStartup"
   12.19  				BaseAddress="0x00100000"
   12.20 +				RandomizedBaseAddress="1"
   12.21 +				DataExecutionPrevention="0"
   12.22  				ImportLibrary="$(PlatformName)\$(ConfigurationName)/SDL.lib"
   12.23  			/>
   12.24  			<Tool
   12.25 @@ -107,6 +110,9 @@
   12.26  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDL.bsc"
   12.27  			/>
   12.28  			<Tool
   12.29 +				Name="VCFxCopTool"
   12.30 +			/>
   12.31 +			<Tool
   12.32  				Name="VCCodeSignTool"
   12.33  			/>
   12.34  			<Tool
   12.35 @@ -195,6 +201,8 @@
   12.36  				StackCommitSize="4096"
   12.37  				EntryPointSymbol="_DllMainCRTStartup"
   12.38  				BaseAddress="0x00100000"
   12.39 +				RandomizedBaseAddress="1"
   12.40 +				DataExecutionPrevention="0"
   12.41  				ImportLibrary="$(PlatformName)\$(ConfigurationName)/SDL.lib"
   12.42  			/>
   12.43  			<Tool
   12.44 @@ -209,6 +217,9 @@
   12.45  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDL.bsc"
   12.46  			/>
   12.47  			<Tool
   12.48 +				Name="VCFxCopTool"
   12.49 +			/>
   12.50 +			<Tool
   12.51  				Name="VCCodeSignTool"
   12.52  			/>
   12.53  			<Tool
   12.54 @@ -296,6 +307,8 @@
   12.55  				StackCommitSize="4096"
   12.56  				EntryPointSymbol="_DllMainCRTStartup"
   12.57  				BaseAddress="0x00100000"
   12.58 +				RandomizedBaseAddress="1"
   12.59 +				DataExecutionPrevention="0"
   12.60  				ImportLibrary="$(PlatformName)\$(ConfigurationName)/SDL.lib"
   12.61  			/>
   12.62  			<Tool
   12.63 @@ -310,6 +323,9 @@
   12.64  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDL.bsc"
   12.65  			/>
   12.66  			<Tool
   12.67 +				Name="VCFxCopTool"
   12.68 +			/>
   12.69 +			<Tool
   12.70  				Name="VCCodeSignTool"
   12.71  			/>
   12.72  			<Tool
   12.73 @@ -396,6 +412,8 @@
   12.74  				StackCommitSize="4096"
   12.75  				EntryPointSymbol="_DllMainCRTStartup"
   12.76  				BaseAddress="0x00100000"
   12.77 +				RandomizedBaseAddress="1"
   12.78 +				DataExecutionPrevention="0"
   12.79  				ImportLibrary="$(PlatformName)\$(ConfigurationName)/SDL.lib"
   12.80  			/>
   12.81  			<Tool
   12.82 @@ -410,6 +428,9 @@
   12.83  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDL.bsc"
   12.84  			/>
   12.85  			<Tool
   12.86 +				Name="VCFxCopTool"
   12.87 +			/>
   12.88 +			<Tool
   12.89  				Name="VCCodeSignTool"
   12.90  			/>
   12.91  			<Tool
   12.92 @@ -500,6 +521,8 @@
   12.93  				StackCommitSize="4096"
   12.94  				EntryPointSymbol="_DllMainCRTStartup"
   12.95  				BaseAddress="0x00100000"
   12.96 +				RandomizedBaseAddress="1"
   12.97 +				DataExecutionPrevention="0"
   12.98  				ImportLibrary="$(PlatformName)\$(ConfigurationName)/SDL.lib"
   12.99  			/>
  12.100  			<Tool
  12.101 @@ -514,6 +537,9 @@
  12.102  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDL.bsc"
  12.103  			/>
  12.104  			<Tool
  12.105 +				Name="VCFxCopTool"
  12.106 +			/>
  12.107 +			<Tool
  12.108  				Name="VCCodeSignTool"
  12.109  			/>
  12.110  			<Tool
  12.111 @@ -606,6 +632,8 @@
  12.112  				LinkTimeCodeGeneration="1"
  12.113  				EntryPointSymbol="_DllMainCRTStartup"
  12.114  				BaseAddress="0x00100000"
  12.115 +				RandomizedBaseAddress="1"
  12.116 +				DataExecutionPrevention="0"
  12.117  				ImportLibrary="$(PlatformName)\$(ConfigurationName)/SDL.lib"
  12.118  			/>
  12.119  			<Tool
  12.120 @@ -620,6 +648,9 @@
  12.121  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDL.bsc"
  12.122  			/>
  12.123  			<Tool
  12.124 +				Name="VCFxCopTool"
  12.125 +			/>
  12.126 +			<Tool
  12.127  				Name="VCCodeSignTool"
  12.128  			/>
  12.129  			<Tool
  12.130 @@ -643,1294 +674,238 @@
  12.131  			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
  12.132  			>
  12.133  			<File
  12.134 +				RelativePath="..\..\src\libm\e_atan2.c"
  12.135 +				>
  12.136 +			</File>
  12.137 +			<File
  12.138 +				RelativePath="..\..\src\libm\e_log.c"
  12.139 +				>
  12.140 +			</File>
  12.141 +			<File
  12.142 +				RelativePath="..\..\src\libm\e_pow.c"
  12.143 +				>
  12.144 +			</File>
  12.145 +			<File
  12.146 +				RelativePath="..\..\src\libm\e_rem_pio2.c"
  12.147 +				>
  12.148 +			</File>
  12.149 +			<File
  12.150 +				RelativePath="..\..\src\libm\e_sqrt.c"
  12.151 +				>
  12.152 +			</File>
  12.153 +			<File
  12.154 +				RelativePath="..\..\src\libm\k_cos.c"
  12.155 +				>
  12.156 +			</File>
  12.157 +			<File
  12.158 +				RelativePath="..\..\src\libm\k_rem_pio2.c"
  12.159 +				>
  12.160 +			</File>
  12.161 +			<File
  12.162 +				RelativePath="..\..\src\libm\k_sin.c"
  12.163 +				>
  12.164 +			</File>
  12.165 +			<File
  12.166 +				RelativePath="..\..\src\libm\s_atan.c"
  12.167 +				>
  12.168 +			</File>
  12.169 +			<File
  12.170 +				RelativePath="..\..\src\libm\s_copysign.c"
  12.171 +				>
  12.172 +			</File>
  12.173 +			<File
  12.174 +				RelativePath="..\..\src\libm\s_cos.c"
  12.175 +				>
  12.176 +			</File>
  12.177 +			<File
  12.178 +				RelativePath="..\..\src\libm\s_fabs.c"
  12.179 +				>
  12.180 +			</File>
  12.181 +			<File
  12.182 +				RelativePath="..\..\src\libm\s_floor.c"
  12.183 +				>
  12.184 +			</File>
  12.185 +			<File
  12.186 +				RelativePath="..\..\src\libm\s_scalbn.c"
  12.187 +				>
  12.188 +			</File>
  12.189 +			<File
  12.190 +				RelativePath="..\..\src\libm\s_sin.c"
  12.191 +				>
  12.192 +			</File>
  12.193 +			<File
  12.194  				RelativePath="..\..\src\SDL.c"
  12.195  				>
  12.196 -				<FileConfiguration
  12.197 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.198 -					>
  12.199 -					<Tool
  12.200 -						Name="VCCLCompilerTool"
  12.201 -						AdditionalIncludeDirectories=""
  12.202 -						UsePrecompiledHeader="0"
  12.203 -					/>
  12.204 -				</FileConfiguration>
  12.205 -				<FileConfiguration
  12.206 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.207 -					>
  12.208 -					<Tool
  12.209 -						Name="VCCLCompilerTool"
  12.210 -						AdditionalIncludeDirectories=""
  12.211 -						UsePrecompiledHeader="0"
  12.212 -					/>
  12.213 -				</FileConfiguration>
  12.214 -				<FileConfiguration
  12.215 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.216 -					>
  12.217 -					<Tool
  12.218 -						Name="VCCLCompilerTool"
  12.219 -						AdditionalIncludeDirectories=""
  12.220 -						UsePrecompiledHeader="0"
  12.221 -					/>
  12.222 -				</FileConfiguration>
  12.223 -				<FileConfiguration
  12.224 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.225 -					>
  12.226 -					<Tool
  12.227 -						Name="VCCLCompilerTool"
  12.228 -						AdditionalIncludeDirectories=""
  12.229 -						UsePrecompiledHeader="0"
  12.230 -					/>
  12.231 -				</FileConfiguration>
  12.232 -				<FileConfiguration
  12.233 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.234 -					>
  12.235 -					<Tool
  12.236 -						Name="VCCLCompilerTool"
  12.237 -						AdditionalIncludeDirectories=""
  12.238 -						UsePrecompiledHeader="0"
  12.239 -					/>
  12.240 -				</FileConfiguration>
  12.241 -				<FileConfiguration
  12.242 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.243 -					>
  12.244 -					<Tool
  12.245 -						Name="VCCLCompilerTool"
  12.246 -						AdditionalIncludeDirectories=""
  12.247 -						UsePrecompiledHeader="0"
  12.248 -					/>
  12.249 -				</FileConfiguration>
  12.250 +			</File>
  12.251 +			<File
  12.252 +				RelativePath="..\..\src\video\SDL_alphamult.c"
  12.253 +				>
  12.254  			</File>
  12.255  			<File
  12.256 -				RelativePath="..\..\src\events\SDL_active.c"
  12.257 +				RelativePath="..\..\src\SDL_assert.c"
  12.258  				>
  12.259 -				<FileConfiguration
  12.260 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.261 -					>
  12.262 -					<Tool
  12.263 -						Name="VCCLCompilerTool"
  12.264 -						AdditionalIncludeDirectories=""
  12.265 -						UsePrecompiledHeader="0"
  12.266 -					/>
  12.267 -				</FileConfiguration>
  12.268 -				<FileConfiguration
  12.269 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.270 -					>
  12.271 -					<Tool
  12.272 -						Name="VCCLCompilerTool"
  12.273 -						AdditionalIncludeDirectories=""
  12.274 -						UsePrecompiledHeader="0"
  12.275 -					/>
  12.276 -				</FileConfiguration>
  12.277 -				<FileConfiguration
  12.278 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.279 -					>
  12.280 -					<Tool
  12.281 -						Name="VCCLCompilerTool"
  12.282 -						AdditionalIncludeDirectories=""
  12.283 -						UsePrecompiledHeader="0"
  12.284 -					/>
  12.285 -				</FileConfiguration>
  12.286 -				<FileConfiguration
  12.287 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.288 -					>
  12.289 -					<Tool
  12.290 -						Name="VCCLCompilerTool"
  12.291 -						AdditionalIncludeDirectories=""
  12.292 -						UsePrecompiledHeader="0"
  12.293 -					/>
  12.294 -				</FileConfiguration>
  12.295 -				<FileConfiguration
  12.296 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.297 -					>
  12.298 -					<Tool
  12.299 -						Name="VCCLCompilerTool"
  12.300 -						AdditionalIncludeDirectories=""
  12.301 -						UsePrecompiledHeader="0"
  12.302 -					/>
  12.303 -				</FileConfiguration>
  12.304 -				<FileConfiguration
  12.305 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.306 -					>
  12.307 -					<Tool
  12.308 -						Name="VCCLCompilerTool"
  12.309 -						AdditionalIncludeDirectories=""
  12.310 -						UsePrecompiledHeader="0"
  12.311 -					/>
  12.312 -				</FileConfiguration>
  12.313 +			</File>
  12.314 +			<File
  12.315 +				RelativePath="..\..\src\atomic\SDL_atomic.c"
  12.316 +				>
  12.317  			</File>
  12.318  			<File
  12.319  				RelativePath="..\..\src\audio\SDL_audio.c"
  12.320  				>
  12.321 -				<FileConfiguration
  12.322 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.323 -					>
  12.324 -					<Tool
  12.325 -						Name="VCCLCompilerTool"
  12.326 -						AdditionalIncludeDirectories=""
  12.327 -						UsePrecompiledHeader="0"
  12.328 -					/>
  12.329 -				</FileConfiguration>
  12.330 -				<FileConfiguration
  12.331 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.332 -					>
  12.333 -					<Tool
  12.334 -						Name="VCCLCompilerTool"
  12.335 -						AdditionalIncludeDirectories=""
  12.336 -						UsePrecompiledHeader="0"
  12.337 -					/>
  12.338 -				</FileConfiguration>
  12.339 -				<FileConfiguration
  12.340 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.341 -					>
  12.342 -					<Tool
  12.343 -						Name="VCCLCompilerTool"
  12.344 -						AdditionalIncludeDirectories=""
  12.345 -						UsePrecompiledHeader="0"
  12.346 -					/>
  12.347 -				</FileConfiguration>
  12.348 -				<FileConfiguration
  12.349 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.350 -					>
  12.351 -					<Tool
  12.352 -						Name="VCCLCompilerTool"
  12.353 -						AdditionalIncludeDirectories=""
  12.354 -						UsePrecompiledHeader="0"
  12.355 -					/>
  12.356 -				</FileConfiguration>
  12.357 -				<FileConfiguration
  12.358 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.359 -					>
  12.360 -					<Tool
  12.361 -						Name="VCCLCompilerTool"
  12.362 -						AdditionalIncludeDirectories=""
  12.363 -						UsePrecompiledHeader="0"
  12.364 -					/>
  12.365 -				</FileConfiguration>
  12.366 -				<FileConfiguration
  12.367 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.368 -					>
  12.369 -					<Tool
  12.370 -						Name="VCCLCompilerTool"
  12.371 -						AdditionalIncludeDirectories=""
  12.372 -						UsePrecompiledHeader="0"
  12.373 -					/>
  12.374 -				</FileConfiguration>
  12.375  			</File>
  12.376  			<File
  12.377  				RelativePath="..\..\src\audio\SDL_audiocvt.c"
  12.378  				>
  12.379 -				<FileConfiguration
  12.380 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.381 -					>
  12.382 -					<Tool
  12.383 -						Name="VCCLCompilerTool"
  12.384 -						AdditionalIncludeDirectories=""
  12.385 -						UsePrecompiledHeader="0"
  12.386 -					/>
  12.387 -				</FileConfiguration>
  12.388 -				<FileConfiguration
  12.389 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.390 -					>
  12.391 -					<Tool
  12.392 -						Name="VCCLCompilerTool"
  12.393 -						AdditionalIncludeDirectories=""
  12.394 -						UsePrecompiledHeader="0"
  12.395 -					/>
  12.396 -				</FileConfiguration>
  12.397 -				<FileConfiguration
  12.398 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.399 -					>
  12.400 -					<Tool
  12.401 -						Name="VCCLCompilerTool"
  12.402 -						AdditionalIncludeDirectories=""
  12.403 -						UsePrecompiledHeader="0"
  12.404 -					/>
  12.405 -				</FileConfiguration>
  12.406 -				<FileConfiguration
  12.407 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.408 -					>
  12.409 -					<Tool
  12.410 -						Name="VCCLCompilerTool"
  12.411 -						AdditionalIncludeDirectories=""
  12.412 -						UsePrecompiledHeader="0"
  12.413 -					/>
  12.414 -				</FileConfiguration>
  12.415 -				<FileConfiguration
  12.416 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.417 -					>
  12.418 -					<Tool
  12.419 -						Name="VCCLCompilerTool"
  12.420 -						AdditionalIncludeDirectories=""
  12.421 -						UsePrecompiledHeader="0"
  12.422 -					/>
  12.423 -				</FileConfiguration>
  12.424 -				<FileConfiguration
  12.425 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.426 -					>
  12.427 -					<Tool
  12.428 -						Name="VCCLCompilerTool"
  12.429 -						AdditionalIncludeDirectories=""
  12.430 -						UsePrecompiledHeader="0"
  12.431 -					/>
  12.432 -				</FileConfiguration>
  12.433  			</File>
  12.434  			<File
  12.435  				RelativePath="..\..\src\audio\SDL_audiodev.c"
  12.436  				>
  12.437 -				<FileConfiguration
  12.438 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.439 -					>
  12.440 -					<Tool
  12.441 -						Name="VCCLCompilerTool"
  12.442 -						AdditionalIncludeDirectories=""
  12.443 -						UsePrecompiledHeader="0"
  12.444 -					/>
  12.445 -				</FileConfiguration>
  12.446 -				<FileConfiguration
  12.447 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.448 -					>
  12.449 -					<Tool
  12.450 -						Name="VCCLCompilerTool"
  12.451 -						AdditionalIncludeDirectories=""
  12.452 -						UsePrecompiledHeader="0"
  12.453 -					/>
  12.454 -				</FileConfiguration>
  12.455 -				<FileConfiguration
  12.456 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.457 -					>
  12.458 -					<Tool
  12.459 -						Name="VCCLCompilerTool"
  12.460 -						AdditionalIncludeDirectories=""
  12.461 -						UsePrecompiledHeader="0"
  12.462 -					/>
  12.463 -				</FileConfiguration>
  12.464 -				<FileConfiguration
  12.465 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.466 -					>
  12.467 -					<Tool
  12.468 -						Name="VCCLCompilerTool"
  12.469 -						AdditionalIncludeDirectories=""
  12.470 -						UsePrecompiledHeader="0"
  12.471 -					/>
  12.472 -				</FileConfiguration>
  12.473 -				<FileConfiguration
  12.474 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.475 -					>
  12.476 -					<Tool
  12.477 -						Name="VCCLCompilerTool"
  12.478 -						AdditionalIncludeDirectories=""
  12.479 -						UsePrecompiledHeader="0"
  12.480 -					/>
  12.481 -				</FileConfiguration>
  12.482 -				<FileConfiguration
  12.483 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.484 -					>
  12.485 -					<Tool
  12.486 -						Name="VCCLCompilerTool"
  12.487 -						AdditionalIncludeDirectories=""
  12.488 -						UsePrecompiledHeader="0"
  12.489 -					/>
  12.490 -				</FileConfiguration>
  12.491 +			</File>
  12.492 +			<File
  12.493 +				RelativePath="..\..\src\audio\SDL_audiotypecvt.c"
  12.494 +				>
  12.495 +			</File>
  12.496 +			<File
  12.497 +				RelativePath="..\..\src\video\SDL_blendfillrect.c"
  12.498 +				>
  12.499 +			</File>
  12.500 +			<File
  12.501 +				RelativePath="..\..\src\video\SDL_blendline.c"
  12.502 +				>
  12.503 +			</File>
  12.504 +			<File
  12.505 +				RelativePath="..\..\src\video\SDL_blendpoint.c"
  12.506 +				>
  12.507 +			</File>
  12.508 +			<File
  12.509 +				RelativePath="..\..\src\video\SDL_blendrect.c"
  12.510 +				>
  12.511  			</File>
  12.512  			<File
  12.513  				RelativePath="..\..\src\video\SDL_blit.c"
  12.514  				>
  12.515 -				<FileConfiguration
  12.516 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.517 -					>
  12.518 -					<Tool
  12.519 -						Name="VCCLCompilerTool"
  12.520 -						AdditionalIncludeDirectories=""
  12.521 -						UsePrecompiledHeader="0"
  12.522 -					/>
  12.523 -				</FileConfiguration>
  12.524 -				<FileConfiguration
  12.525 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.526 -					>
  12.527 -					<Tool
  12.528 -						Name="VCCLCompilerTool"
  12.529 -						AdditionalIncludeDirectories=""
  12.530 -						UsePrecompiledHeader="0"
  12.531 -					/>
  12.532 -				</FileConfiguration>
  12.533 -				<FileConfiguration
  12.534 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.535 -					>
  12.536 -					<Tool
  12.537 -						Name="VCCLCompilerTool"
  12.538 -						AdditionalIncludeDirectories=""
  12.539 -						UsePrecompiledHeader="0"
  12.540 -					/>
  12.541 -				</FileConfiguration>
  12.542 -				<FileConfiguration
  12.543 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.544 -					>
  12.545 -					<Tool
  12.546 -						Name="VCCLCompilerTool"
  12.547 -						AdditionalIncludeDirectories=""
  12.548 -						UsePrecompiledHeader="0"
  12.549 -					/>
  12.550 -				</FileConfiguration>
  12.551 -				<FileConfiguration
  12.552 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.553 -					>
  12.554 -					<Tool
  12.555 -						Name="VCCLCompilerTool"
  12.556 -						AdditionalIncludeDirectories=""
  12.557 -						UsePrecompiledHeader="0"
  12.558 -					/>
  12.559 -				</FileConfiguration>
  12.560 -				<FileConfiguration
  12.561 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.562 -					>
  12.563 -					<Tool
  12.564 -						Name="VCCLCompilerTool"
  12.565 -						AdditionalIncludeDirectories=""
  12.566 -						UsePrecompiledHeader="0"
  12.567 -					/>
  12.568 -				</FileConfiguration>
  12.569  			</File>
  12.570  			<File
  12.571  				RelativePath="..\..\src\video\SDL_blit_0.c"
  12.572  				>
  12.573 -				<FileConfiguration
  12.574 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.575 -					>
  12.576 -					<Tool
  12.577 -						Name="VCCLCompilerTool"
  12.578 -						AdditionalIncludeDirectories=""
  12.579 -						UsePrecompiledHeader="0"
  12.580 -					/>
  12.581 -				</FileConfiguration>
  12.582 -				<FileConfiguration
  12.583 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.584 -					>
  12.585 -					<Tool
  12.586 -						Name="VCCLCompilerTool"
  12.587 -						AdditionalIncludeDirectories=""
  12.588 -						UsePrecompiledHeader="0"
  12.589 -					/>
  12.590 -				</FileConfiguration>
  12.591 -				<FileConfiguration
  12.592 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.593 -					>
  12.594 -					<Tool
  12.595 -						Name="VCCLCompilerTool"
  12.596 -						AdditionalIncludeDirectories=""
  12.597 -						UsePrecompiledHeader="0"
  12.598 -					/>
  12.599 -				</FileConfiguration>
  12.600 -				<FileConfiguration
  12.601 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.602 -					>
  12.603 -					<Tool
  12.604 -						Name="VCCLCompilerTool"
  12.605 -						AdditionalIncludeDirectories=""
  12.606 -						UsePrecompiledHeader="0"
  12.607 -					/>
  12.608 -				</FileConfiguration>
  12.609 -				<FileConfiguration
  12.610 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.611 -					>
  12.612 -					<Tool
  12.613 -						Name="VCCLCompilerTool"
  12.614 -						AdditionalIncludeDirectories=""
  12.615 -						UsePrecompiledHeader="0"
  12.616 -					/>
  12.617 -				</FileConfiguration>
  12.618 -				<FileConfiguration
  12.619 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.620 -					>
  12.621 -					<Tool
  12.622 -						Name="VCCLCompilerTool"
  12.623 -						AdditionalIncludeDirectories=""
  12.624 -						UsePrecompiledHeader="0"
  12.625 -					/>
  12.626 -				</FileConfiguration>
  12.627  			</File>
  12.628  			<File
  12.629  				RelativePath="..\..\src\video\SDL_blit_1.c"
  12.630  				>
  12.631 -				<FileConfiguration
  12.632 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.633 -					>
  12.634 -					<Tool
  12.635 -						Name="VCCLCompilerTool"
  12.636 -						AdditionalIncludeDirectories=""
  12.637 -						UsePrecompiledHeader="0"
  12.638 -					/>
  12.639 -				</FileConfiguration>
  12.640 -				<FileConfiguration
  12.641 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.642 -					>
  12.643 -					<Tool
  12.644 -						Name="VCCLCompilerTool"
  12.645 -						AdditionalIncludeDirectories=""
  12.646 -						UsePrecompiledHeader="0"
  12.647 -					/>
  12.648 -				</FileConfiguration>
  12.649 -				<FileConfiguration
  12.650 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.651 -					>
  12.652 -					<Tool
  12.653 -						Name="VCCLCompilerTool"
  12.654 -						AdditionalIncludeDirectories=""
  12.655 -						UsePrecompiledHeader="0"
  12.656 -					/>
  12.657 -				</FileConfiguration>
  12.658 -				<FileConfiguration
  12.659 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.660 -					>
  12.661 -					<Tool
  12.662 -						Name="VCCLCompilerTool"
  12.663 -						AdditionalIncludeDirectories=""
  12.664 -						UsePrecompiledHeader="0"
  12.665 -					/>
  12.666 -				</FileConfiguration>
  12.667 -				<FileConfiguration
  12.668 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.669 -					>
  12.670 -					<Tool
  12.671 -						Name="VCCLCompilerTool"
  12.672 -						AdditionalIncludeDirectories=""
  12.673 -						UsePrecompiledHeader="0"
  12.674 -					/>
  12.675 -				</FileConfiguration>
  12.676 -				<FileConfiguration
  12.677 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.678 -					>
  12.679 -					<Tool
  12.680 -						Name="VCCLCompilerTool"
  12.681 -						AdditionalIncludeDirectories=""
  12.682 -						UsePrecompiledHeader="0"
  12.683 -					/>
  12.684 -				</FileConfiguration>
  12.685  			</File>
  12.686  			<File
  12.687  				RelativePath="..\..\src\video\SDL_blit_A.c"
  12.688  				>
  12.689 -				<FileConfiguration
  12.690 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.691 -					>
  12.692 -					<Tool
  12.693 -						Name="VCCLCompilerTool"
  12.694 -						AdditionalIncludeDirectories=""
  12.695 -						UsePrecompiledHeader="0"
  12.696 -					/>
  12.697 -				</FileConfiguration>
  12.698 -				<FileConfiguration
  12.699 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.700 -					>
  12.701 -					<Tool
  12.702 -						Name="VCCLCompilerTool"
  12.703 -						AdditionalIncludeDirectories=""
  12.704 -						UsePrecompiledHeader="0"
  12.705 -					/>
  12.706 -				</FileConfiguration>
  12.707 -				<FileConfiguration
  12.708 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.709 -					>
  12.710 -					<Tool
  12.711 -						Name="VCCLCompilerTool"
  12.712 -						AdditionalIncludeDirectories=""
  12.713 -						UsePrecompiledHeader="0"
  12.714 -					/>
  12.715 -				</FileConfiguration>
  12.716 -				<FileConfiguration
  12.717 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.718 -					>
  12.719 -					<Tool
  12.720 -						Name="VCCLCompilerTool"
  12.721 -						AdditionalIncludeDirectories=""
  12.722 -						UsePrecompiledHeader="0"
  12.723 -					/>
  12.724 -				</FileConfiguration>
  12.725 -				<FileConfiguration
  12.726 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.727 -					>
  12.728 -					<Tool
  12.729 -						Name="VCCLCompilerTool"
  12.730 -						AdditionalIncludeDirectories=""
  12.731 -						UsePrecompiledHeader="0"
  12.732 -					/>
  12.733 -				</FileConfiguration>
  12.734 -				<FileConfiguration
  12.735 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.736 -					>
  12.737 -					<Tool
  12.738 -						Name="VCCLCompilerTool"
  12.739 -						AdditionalIncludeDirectories=""
  12.740 -						UsePrecompiledHeader="0"
  12.741 -					/>
  12.742 -				</FileConfiguration>
  12.743 +			</File>
  12.744 +			<File
  12.745 +				RelativePath="..\..\src\video\SDL_blit_auto.c"
  12.746 +				>
  12.747 +			</File>
  12.748 +			<File
  12.749 +				RelativePath="..\..\src\video\SDL_blit_copy.c"
  12.750 +				>
  12.751  			</File>
  12.752  			<File
  12.753  				RelativePath="..\..\src\video\SDL_blit_N.c"
  12.754  				>
  12.755 -				<FileConfiguration
  12.756 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.757 -					>
  12.758 -					<Tool
  12.759 -						Name="VCCLCompilerTool"
  12.760 -						AdditionalIncludeDirectories=""
  12.761 -						UsePrecompiledHeader="0"
  12.762 -					/>
  12.763 -				</FileConfiguration>
  12.764 -				<FileConfiguration
  12.765 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.766 -					>
  12.767 -					<Tool
  12.768 -						Name="VCCLCompilerTool"
  12.769 -						AdditionalIncludeDirectories=""
  12.770 -						UsePrecompiledHeader="0"
  12.771 -					/>
  12.772 -				</FileConfiguration>
  12.773 -				<FileConfiguration
  12.774 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.775 -					>
  12.776 -					<Tool
  12.777 -						Name="VCCLCompilerTool"
  12.778 -						AdditionalIncludeDirectories=""
  12.779 -						UsePrecompiledHeader="0"
  12.780 -					/>
  12.781 -				</FileConfiguration>
  12.782 -				<FileConfiguration
  12.783 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.784 -					>
  12.785 -					<Tool
  12.786 -						Name="VCCLCompilerTool"
  12.787 -						AdditionalIncludeDirectories=""
  12.788 -						UsePrecompiledHeader="0"
  12.789 -					/>
  12.790 -				</FileConfiguration>
  12.791 -				<FileConfiguration
  12.792 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.793 -					>
  12.794 -					<Tool
  12.795 -						Name="VCCLCompilerTool"
  12.796 -						AdditionalIncludeDirectories=""
  12.797 -						UsePrecompiledHeader="0"
  12.798 -					/>
  12.799 -				</FileConfiguration>
  12.800 -				<FileConfiguration
  12.801 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.802 -					>
  12.803 -					<Tool
  12.804 -						Name="VCCLCompilerTool"
  12.805 -						AdditionalIncludeDirectories=""
  12.806 -						UsePrecompiledHeader="0"
  12.807 -					/>
  12.808 -				</FileConfiguration>
  12.809 +			</File>
  12.810 +			<File
  12.811 +				RelativePath="..\..\src\video\SDL_blit_slow.c"
  12.812 +				>
  12.813  			</File>
  12.814  			<File
  12.815  				RelativePath="..\..\src\video\SDL_bmp.c"
  12.816  				>
  12.817 -				<FileConfiguration
  12.818 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.819 -					>
  12.820 -					<Tool
  12.821 -						Name="VCCLCompilerTool"
  12.822 -						AdditionalIncludeDirectories=""
  12.823 -						UsePrecompiledHeader="0"
  12.824 -					/>
  12.825 -				</FileConfiguration>
  12.826 -				<FileConfiguration
  12.827 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.828 -					>
  12.829 -					<Tool
  12.830 -						Name="VCCLCompilerTool"
  12.831 -						AdditionalIncludeDirectories=""
  12.832 -						UsePrecompiledHeader="0"
  12.833 -					/>
  12.834 -				</FileConfiguration>
  12.835 -				<FileConfiguration
  12.836 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.837 -					>
  12.838 -					<Tool
  12.839 -						Name="VCCLCompilerTool"
  12.840 -						AdditionalIncludeDirectories=""
  12.841 -						UsePrecompiledHeader="0"
  12.842 -					/>
  12.843 -				</FileConfiguration>
  12.844 -				<FileConfiguration
  12.845 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.846 -					>
  12.847 -					<Tool
  12.848 -						Name="VCCLCompilerTool"
  12.849 -						AdditionalIncludeDirectories=""
  12.850 -						UsePrecompiledHeader="0"
  12.851 -					/>
  12.852 -				</FileConfiguration>
  12.853 -				<FileConfiguration
  12.854 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.855 -					>
  12.856 -					<Tool
  12.857 -						Name="VCCLCompilerTool"
  12.858 -						AdditionalIncludeDirectories=""
  12.859 -						UsePrecompiledHeader="0"
  12.860 -					/>
  12.861 -				</FileConfiguration>
  12.862 -				<FileConfiguration
  12.863 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.864 -					>
  12.865 -					<Tool
  12.866 -						Name="VCCLCompilerTool"
  12.867 -						AdditionalIncludeDirectories=""
  12.868 -						UsePrecompiledHeader="0"
  12.869 -					/>
  12.870 -				</FileConfiguration>
  12.871 +			</File>
  12.872 +			<File
  12.873 +				RelativePath="..\..\src\video\windows\SDL_ceddrawrender.c"
  12.874 +				>
  12.875 +			</File>
  12.876 +			<File
  12.877 +				RelativePath="..\..\src\video\SDL_clipboard.c"
  12.878 +				>
  12.879 +			</File>
  12.880 +			<File
  12.881 +				RelativePath="..\..\src\events\SDL_clipboardevents.c"
  12.882 +				>
  12.883 +			</File>
  12.884 +			<File
  12.885 +				RelativePath="..\..\src\SDL_compat.c"
  12.886 +				>
  12.887  			</File>
  12.888  			<File
  12.889  				RelativePath="..\..\src\cpuinfo\SDL_cpuinfo.c"
  12.890  				>
  12.891 -				<FileConfiguration
  12.892 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.893 -					>
  12.894 -					<Tool
  12.895 -						Name="VCCLCompilerTool"
  12.896 -						AdditionalIncludeDirectories=""
  12.897 -						UsePrecompiledHeader="0"
  12.898 -					/>
  12.899 -				</FileConfiguration>
  12.900 -				<FileConfiguration
  12.901 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.902 -					>
  12.903 -					<Tool
  12.904 -						Name="VCCLCompilerTool"
  12.905 -						AdditionalIncludeDirectories=""
  12.906 -						UsePrecompiledHeader="0"
  12.907 -					/>
  12.908 -				</FileConfiguration>
  12.909 -				<FileConfiguration
  12.910 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.911 -					>
  12.912 -					<Tool
  12.913 -						Name="VCCLCompilerTool"
  12.914 -						AdditionalIncludeDirectories=""
  12.915 -						UsePrecompiledHeader="0"
  12.916 -					/>
  12.917 -				</FileConfiguration>
  12.918 -				<FileConfiguration
  12.919 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.920 -					>
  12.921 -					<Tool
  12.922 -						Name="VCCLCompilerTool"
  12.923 -						AdditionalIncludeDirectories=""
  12.924 -						UsePrecompiledHeader="0"
  12.925 -					/>
  12.926 -				</FileConfiguration>
  12.927 -				<FileConfiguration
  12.928 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.929 -					>
  12.930 -					<Tool
  12.931 -						Name="VCCLCompilerTool"
  12.932 -						AdditionalIncludeDirectories=""
  12.933 -						UsePrecompiledHeader="0"
  12.934 -					/>
  12.935 -				</FileConfiguration>
  12.936 -				<FileConfiguration
  12.937 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.938 -					>
  12.939 -					<Tool
  12.940 -						Name="VCCLCompilerTool"
  12.941 -						AdditionalIncludeDirectories=""
  12.942 -						UsePrecompiledHeader="0"
  12.943 -					/>
  12.944 -				</FileConfiguration>
  12.945  			</File>
  12.946  			<File
  12.947 -				RelativePath="..\..\src\video\SDL_cursor.c"
  12.948 +				RelativePath="..\..\src\video\windows\SDL_d3drender.c"
  12.949  				>
  12.950 -				<FileConfiguration
  12.951 -					Name="Debug|Smartphone 2003 (ARMV4)"
  12.952 -					>
  12.953 -					<Tool
  12.954 -						Name="VCCLCompilerTool"
  12.955 -						AdditionalIncludeDirectories=""
  12.956 -						UsePrecompiledHeader="0"
  12.957 -					/>
  12.958 -				</FileConfiguration>
  12.959 -				<FileConfiguration
  12.960 -					Name="Debug|Pocket PC 2003 (ARMV4)"
  12.961 -					>
  12.962 -					<Tool
  12.963 -						Name="VCCLCompilerTool"
  12.964 -						AdditionalIncludeDirectories=""
  12.965 -						UsePrecompiledHeader="0"
  12.966 -					/>
  12.967 -				</FileConfiguration>
  12.968 -				<FileConfiguration
  12.969 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.970 -					>
  12.971 -					<Tool
  12.972 -						Name="VCCLCompilerTool"
  12.973 -						AdditionalIncludeDirectories=""
  12.974 -						UsePrecompiledHeader="0"
  12.975 -					/>
  12.976 -				</FileConfiguration>
  12.977 -				<FileConfiguration
  12.978 -					Name="Release|Smartphone 2003 (ARMV4)"
  12.979 -					>
  12.980 -					<Tool
  12.981 -						Name="VCCLCompilerTool"
  12.982 -						AdditionalIncludeDirectories=""
  12.983 -						UsePrecompiledHeader="0"
  12.984 -					/>
  12.985 -				</FileConfiguration>
  12.986 -				<FileConfiguration
  12.987 -					Name="Release|Pocket PC 2003 (ARMV4)"
  12.988 -					>
  12.989 -					<Tool
  12.990 -						Name="VCCLCompilerTool"
  12.991 -						AdditionalIncludeDirectories=""
  12.992 -						UsePrecompiledHeader="0"
  12.993 -					/>
  12.994 -				</FileConfiguration>
  12.995 -				<FileConfiguration
  12.996 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  12.997 -					>
  12.998 -					<Tool
  12.999 -						Name="VCCLCompilerTool"
 12.1000 -						AdditionalIncludeDirectories=""
 12.1001 -						UsePrecompiledHeader="0"
 12.1002 -					/>
 12.1003 -				</FileConfiguration>
 12.1004  			</File>
 12.1005  			<File
 12.1006  				RelativePath="..\..\src\audio\windib\SDL_dibaudio.c"
 12.1007  				>
 12.1008 -				<FileConfiguration
 12.1009 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1010 -					>
 12.1011 -					<Tool
 12.1012 -						Name="VCCLCompilerTool"
 12.1013 -						AdditionalIncludeDirectories=""
 12.1014 -						UsePrecompiledHeader="0"
 12.1015 -					/>
 12.1016 -				</FileConfiguration>
 12.1017 -				<FileConfiguration
 12.1018 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1019 -					>
 12.1020 -					<Tool
 12.1021 -						Name="VCCLCompilerTool"
 12.1022 -						AdditionalIncludeDirectories=""
 12.1023 -						UsePrecompiledHeader="0"
 12.1024 -					/>
 12.1025 -				</FileConfiguration>
 12.1026 -				<FileConfiguration
 12.1027 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1028 -					>
 12.1029 -					<Tool
 12.1030 -						Name="VCCLCompilerTool"
 12.1031 -						AdditionalIncludeDirectories=""
 12.1032 -						UsePrecompiledHeader="0"
 12.1033 -					/>
 12.1034 -				</FileConfiguration>
 12.1035 -				<FileConfiguration
 12.1036 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1037 -					>
 12.1038 -					<Tool
 12.1039 -						Name="VCCLCompilerTool"
 12.1040 -						AdditionalIncludeDirectories=""
 12.1041 -						UsePrecompiledHeader="0"
 12.1042 -					/>
 12.1043 -				</FileConfiguration>
 12.1044 -				<FileConfiguration
 12.1045 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1046 -					>
 12.1047 -					<Tool
 12.1048 -						Name="VCCLCompilerTool"
 12.1049 -						AdditionalIncludeDirectories=""
 12.1050 -						UsePrecompiledHeader="0"
 12.1051 -					/>
 12.1052 -				</FileConfiguration>
 12.1053 -				<FileConfiguration
 12.1054 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1055 -					>
 12.1056 -					<Tool
 12.1057 -						Name="VCCLCompilerTool"
 12.1058 -						AdditionalIncludeDirectories=""
 12.1059 -						UsePrecompiledHeader="0"
 12.1060 -					/>
 12.1061 -				</FileConfiguration>
 12.1062 -			</File>
 12.1063 -			<File
 12.1064 -				RelativePath="..\..\src\video\windib\SDL_dibevents.c"
 12.1065 -				>
 12.1066 -				<FileConfiguration
 12.1067 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1068 -					>
 12.1069 -					<Tool
 12.1070 -						Name="VCCLCompilerTool"
 12.1071 -						AdditionalIncludeDirectories=""
 12.1072 -						UsePrecompiledHeader="0"
 12.1073 -					/>
 12.1074 -				</FileConfiguration>
 12.1075 -				<FileConfiguration
 12.1076 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1077 -					>
 12.1078 -					<Tool
 12.1079 -						Name="VCCLCompilerTool"
 12.1080 -						AdditionalIncludeDirectories=""
 12.1081 -						UsePrecompiledHeader="0"
 12.1082 -					/>
 12.1083 -				</FileConfiguration>
 12.1084 -				<FileConfiguration
 12.1085 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1086 -					>
 12.1087 -					<Tool
 12.1088 -						Name="VCCLCompilerTool"
 12.1089 -						AdditionalIncludeDirectories=""
 12.1090 -						UsePrecompiledHeader="0"
 12.1091 -					/>
 12.1092 -				</FileConfiguration>
 12.1093 -				<FileConfiguration
 12.1094 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1095 -					>
 12.1096 -					<Tool
 12.1097 -						Name="VCCLCompilerTool"
 12.1098 -						AdditionalIncludeDirectories=""
 12.1099 -						UsePrecompiledHeader="0"
 12.1100 -					/>
 12.1101 -				</FileConfiguration>
 12.1102 -				<FileConfiguration
 12.1103 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1104 -					>
 12.1105 -					<Tool
 12.1106 -						Name="VCCLCompilerTool"
 12.1107 -						AdditionalIncludeDirectories=""
 12.1108 -						UsePrecompiledHeader="0"
 12.1109 -					/>
 12.1110 -				</FileConfiguration>
 12.1111 -				<FileConfiguration
 12.1112 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1113 -					>
 12.1114 -					<Tool
 12.1115 -						Name="VCCLCompilerTool"
 12.1116 -						AdditionalIncludeDirectories=""
 12.1117 -						UsePrecompiledHeader="0"
 12.1118 -					/>
 12.1119 -				</FileConfiguration>
 12.1120 -			</File>
 12.1121 -			<File
 12.1122 -				RelativePath="..\..\src\video\windib\SDL_dibvideo.c"
 12.1123 -				>
 12.1124 -				<FileConfiguration
 12.1125 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1126 -					>
 12.1127 -					<Tool
 12.1128 -						Name="VCCLCompilerTool"
 12.1129 -						AdditionalIncludeDirectories=""
 12.1130 -						UsePrecompiledHeader="0"
 12.1131 -					/>
 12.1132 -				</FileConfiguration>
 12.1133 -				<FileConfiguration
 12.1134 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1135 -					>
 12.1136 -					<Tool
 12.1137 -						Name="VCCLCompilerTool"
 12.1138 -						AdditionalIncludeDirectories=""
 12.1139 -						UsePrecompiledHeader="0"
 12.1140 -					/>
 12.1141 -				</FileConfiguration>
 12.1142 -				<FileConfiguration
 12.1143 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1144 -					>
 12.1145 -					<Tool
 12.1146 -						Name="VCCLCompilerTool"
 12.1147 -						AdditionalIncludeDirectories=""
 12.1148 -						UsePrecompiledHeader="0"
 12.1149 -					/>
 12.1150 -				</FileConfiguration>
 12.1151 -				<FileConfiguration
 12.1152 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1153 -					>
 12.1154 -					<Tool
 12.1155 -						Name="VCCLCompilerTool"
 12.1156 -						AdditionalIncludeDirectories=""
 12.1157 -						UsePrecompiledHeader="0"
 12.1158 -					/>
 12.1159 -				</FileConfiguration>
 12.1160 -				<FileConfiguration
 12.1161 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1162 -					>
 12.1163 -					<Tool
 12.1164 -						Name="VCCLCompilerTool"
 12.1165 -						AdditionalIncludeDirectories=""
 12.1166 -						UsePrecompiledHeader="0"
 12.1167 -					/>
 12.1168 -				</FileConfiguration>
 12.1169 -				<FileConfiguration
 12.1170 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1171 -					>
 12.1172 -					<Tool
 12.1173 -						Name="VCCLCompilerTool"
 12.1174 -						AdditionalIncludeDirectories=""
 12.1175 -						UsePrecompiledHeader="0"
 12.1176 -					/>
 12.1177 -				</FileConfiguration>
 12.1178  			</File>
 12.1179  			<File
 12.1180  				RelativePath="..\..\src\audio\disk\SDL_diskaudio.c"
 12.1181  				>
 12.1182  			</File>
 12.1183  			<File
 12.1184 +				RelativePath="..\..\src\video\SDL_drawline.c"
 12.1185 +				>
 12.1186 +			</File>
 12.1187 +			<File
 12.1188 +				RelativePath="..\..\src\video\SDL_drawpoint.c"
 12.1189 +				>
 12.1190 +			</File>
 12.1191 +			<File
 12.1192 +				RelativePath="..\..\src\video\SDL_drawrect.c"
 12.1193 +				>
 12.1194 +			</File>
 12.1195 +			<File
 12.1196  				RelativePath="..\..\src\audio\dummy\SDL_dummyaudio.c"
 12.1197  				>
 12.1198  			</File>
 12.1199  			<File
 12.1200  				RelativePath="..\..\src\SDL_error.c"
 12.1201  				>
 12.1202 -				<FileConfiguration
 12.1203 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1204 -					>
 12.1205 -					<Tool
 12.1206 -						Name="VCCLCompilerTool"
 12.1207 -						AdditionalIncludeDirectories=""
 12.1208 -						UsePrecompiledHeader="0"
 12.1209 -					/>
 12.1210 -				</FileConfiguration>
 12.1211 -				<FileConfiguration
 12.1212 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1213 -					>
 12.1214 -					<Tool
 12.1215 -						Name="VCCLCompilerTool"
 12.1216 -						AdditionalIncludeDirectories=""
 12.1217 -						UsePrecompiledHeader="0"
 12.1218 -					/>
 12.1219 -				</FileConfiguration>
 12.1220 -				<FileConfiguration
 12.1221 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1222 -					>
 12.1223 -					<Tool
 12.1224 -						Name="VCCLCompilerTool"
 12.1225 -						AdditionalIncludeDirectories=""
 12.1226 -						UsePrecompiledHeader="0"
 12.1227 -					/>
 12.1228 -				</FileConfiguration>
 12.1229 -				<FileConfiguration
 12.1230 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1231 -					>
 12.1232 -					<Tool
 12.1233 -						Name="VCCLCompilerTool"
 12.1234 -						AdditionalIncludeDirectories=""
 12.1235 -						UsePrecompiledHeader="0"
 12.1236 -					/>
 12.1237 -				</FileConfiguration>
 12.1238 -				<FileConfiguration
 12.1239 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1240 -					>
 12.1241 -					<Tool
 12.1242 -						Name="VCCLCompilerTool"
 12.1243 -						AdditionalIncludeDirectories=""
 12.1244 -						UsePrecompiledHeader="0"
 12.1245 -					/>
 12.1246 -				</FileConfiguration>
 12.1247 -				<FileConfiguration
 12.1248 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1249 -					>
 12.1250 -					<Tool
 12.1251 -						Name="VCCLCompilerTool"
 12.1252 -						AdditionalIncludeDirectories=""
 12.1253 -						UsePrecompiledHeader="0"
 12.1254 -					/>
 12.1255 -				</FileConfiguration>
 12.1256  			</File>
 12.1257  			<File
 12.1258  				RelativePath="..\..\src\events\SDL_events.c"
 12.1259  				>
 12.1260 -				<FileConfiguration
 12.1261 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1262 -					>
 12.1263 -					<Tool
 12.1264 -						Name="VCCLCompilerTool"
 12.1265 -						AdditionalIncludeDirectories=""
 12.1266 -						UsePrecompiledHeader="0"
 12.1267 -					/>
 12.1268 -				</FileConfiguration>
 12.1269 -				<FileConfiguration
 12.1270 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1271 -					>
 12.1272 -					<Tool
 12.1273 -						Name="VCCLCompilerTool"
 12.1274 -						AdditionalIncludeDirectories=""
 12.1275 -						UsePrecompiledHeader="0"
 12.1276 -					/>
 12.1277 -				</FileConfiguration>
 12.1278 -				<FileConfiguration
 12.1279 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1280 -					>
 12.1281 -					<Tool
 12.1282 -						Name="VCCLCompilerTool"
 12.1283 -						AdditionalIncludeDirectories=""
 12.1284 -						UsePrecompiledHeader="0"
 12.1285 -					/>
 12.1286 -				</FileConfiguration>
 12.1287 -				<FileConfiguration
 12.1288 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1289 -					>
 12.1290 -					<Tool
 12.1291 -						Name="VCCLCompilerTool"
 12.1292 -						AdditionalIncludeDirectories=""
 12.1293 -						UsePrecompiledHeader="0"
 12.1294 -					/>
 12.1295 -				</FileConfiguration>
 12.1296 -				<FileConfiguration
 12.1297 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1298 -					>
 12.1299 -					<Tool
 12.1300 -						Name="VCCLCompilerTool"
 12.1301 -						AdditionalIncludeDirectories=""
 12.1302 -						UsePrecompiledHeader="0"
 12.1303 -					/>
 12.1304 -				</FileConfiguration>
 12.1305 -				<FileConfiguration
 12.1306 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1307 -					>
 12.1308 -					<Tool
 12.1309 -						Name="VCCLCompilerTool"
 12.1310 -						AdditionalIncludeDirectories=""
 12.1311 -						UsePrecompiledHeader="0"
 12.1312 -					/>
 12.1313 -				</FileConfiguration>
 12.1314 -			</File>
 12.1315 -			<File
 12.1316 -				RelativePath="..\..\src\events\SDL_expose.c"
 12.1317 -				>
 12.1318 -				<FileConfiguration
 12.1319 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1320 -					>
 12.1321 -					<Tool
 12.1322 -						Name="VCCLCompilerTool"
 12.1323 -						AdditionalIncludeDirectories=""
 12.1324 -						UsePrecompiledHeader="0"
 12.1325 -					/>
 12.1326 -				</FileConfiguration>
 12.1327 -				<FileConfiguration
 12.1328 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1329 -					>
 12.1330 -					<Tool
 12.1331 -						Name="VCCLCompilerTool"
 12.1332 -						AdditionalIncludeDirectories=""
 12.1333 -						UsePrecompiledHeader="0"
 12.1334 -					/>
 12.1335 -				</FileConfiguration>
 12.1336 -				<FileConfiguration
 12.1337 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1338 -					>
 12.1339 -					<Tool
 12.1340 -						Name="VCCLCompilerTool"
 12.1341 -						AdditionalIncludeDirectories=""
 12.1342 -						UsePrecompiledHeader="0"
 12.1343 -					/>
 12.1344 -				</FileConfiguration>
 12.1345 -				<FileConfiguration
 12.1346 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1347 -					>
 12.1348 -					<Tool
 12.1349 -						Name="VCCLCompilerTool"
 12.1350 -						AdditionalIncludeDirectories=""
 12.1351 -						UsePrecompiledHeader="0"
 12.1352 -					/>
 12.1353 -				</FileConfiguration>
 12.1354 -				<FileConfiguration
 12.1355 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1356 -					>
 12.1357 -					<Tool
 12.1358 -						Name="VCCLCompilerTool"
 12.1359 -						AdditionalIncludeDirectories=""
 12.1360 -						UsePrecompiledHeader="0"
 12.1361 -					/>
 12.1362 -				</FileConfiguration>
 12.1363 -				<FileConfiguration
 12.1364 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1365 -					>
 12.1366 -					<Tool
 12.1367 -						Name="VCCLCompilerTool"
 12.1368 -						AdditionalIncludeDirectories=""
 12.1369 -						UsePrecompiledHeader="0"
 12.1370 -					/>
 12.1371 -				</FileConfiguration>
 12.1372  			</File>
 12.1373  			<File
 12.1374  				RelativePath="..\..\src\SDL_fatal.c"
 12.1375  				>
 12.1376 -				<FileConfiguration
 12.1377 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1378 -					>
 12.1379 -					<Tool
 12.1380 -						Name="VCCLCompilerTool"
 12.1381 -						AdditionalIncludeDirectories=""
 12.1382 -						UsePrecompiledHeader="0"
 12.1383 -					/>
 12.1384 -				</FileConfiguration>
 12.1385 -				<FileConfiguration
 12.1386 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1387 -					>
 12.1388 -					<Tool
 12.1389 -						Name="VCCLCompilerTool"
 12.1390 -						AdditionalIncludeDirectories=""
 12.1391 -						UsePrecompiledHeader="0"
 12.1392 -					/>
 12.1393 -				</FileConfiguration>
 12.1394 -				<FileConfiguration
 12.1395 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1396 -					>
 12.1397 -					<Tool
 12.1398 -						Name="VCCLCompilerTool"
 12.1399 -						AdditionalIncludeDirectories=""
 12.1400 -						UsePrecompiledHeader="0"
 12.1401 -					/>
 12.1402 -				</FileConfiguration>
 12.1403 -				<FileConfiguration
 12.1404 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1405 -					>
 12.1406 -					<Tool
 12.1407 -						Name="VCCLCompilerTool"
 12.1408 -						AdditionalIncludeDirectories=""
 12.1409 -						UsePrecompiledHeader="0"
 12.1410 -					/>
 12.1411 -				</FileConfiguration>
 12.1412 -				<FileConfiguration
 12.1413 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1414 -					>
 12.1415 -					<Tool
 12.1416 -						Name="VCCLCompilerTool"
 12.1417 -						AdditionalIncludeDirectories=""
 12.1418 -						UsePrecompiledHeader="0"
 12.1419 -					/>
 12.1420 -				</FileConfiguration>
 12.1421 -				<FileConfiguration
 12.1422 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1423 -					>
 12.1424 -					<Tool
 12.1425 -						Name="VCCLCompilerTool"
 12.1426 -						AdditionalIncludeDirectories=""
 12.1427 -						UsePrecompiledHeader="0"
 12.1428 -					/>
 12.1429 -				</FileConfiguration>
 12.1430 +			</File>
 12.1431 +			<File
 12.1432 +				RelativePath="..\..\src\video\SDL_fillrect.c"
 12.1433 +				>
 12.1434  			</File>
 12.1435  			<File
 12.1436  				RelativePath="..\..\src\video\SDL_gamma.c"
 12.1437  				>
 12.1438 -				<FileConfiguration
 12.1439 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1440 -					>
 12.1441 -					<Tool
 12.1442 -						Name="VCCLCompilerTool"
 12.1443 -						AdditionalIncludeDirectories=""
 12.1444 -						UsePrecompiledHeader="0"
 12.1445 -					/>
 12.1446 -				</FileConfiguration>
 12.1447 -				<FileConfiguration
 12.1448 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1449 -					>
 12.1450 -					<Tool
 12.1451 -						Name="VCCLCompilerTool"
 12.1452 -						AdditionalIncludeDirectories=""
 12.1453 -						UsePrecompiledHeader="0"
 12.1454 -					/>
 12.1455 -				</FileConfiguration>
 12.1456 -				<FileConfiguration
 12.1457 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1458 -					>
 12.1459 -					<Tool
 12.1460 -						Name="VCCLCompilerTool"
 12.1461 -						AdditionalIncludeDirectories=""
 12.1462 -						UsePrecompiledHeader="0"
 12.1463 -					/>
 12.1464 -				</FileConfiguration>
 12.1465 -				<FileConfiguration
 12.1466 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1467 -					>
 12.1468 -					<Tool
 12.1469 -						Name="VCCLCompilerTool"
 12.1470 -						AdditionalIncludeDirectories=""
 12.1471 -						UsePrecompiledHeader="0"
 12.1472 -					/>
 12.1473 -				</FileConfiguration>
 12.1474 -				<FileConfiguration
 12.1475 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1476 -					>
 12.1477 -					<Tool
 12.1478 -						Name="VCCLCompilerTool"
 12.1479 -						AdditionalIncludeDirectories=""
 12.1480 -						UsePrecompiledHeader="0"
 12.1481 -					/>
 12.1482 -				</FileConfiguration>
 12.1483 -				<FileConfiguration
 12.1484 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1485 -					>
 12.1486 -					<Tool
 12.1487 -						Name="VCCLCompilerTool"
 12.1488 -						AdditionalIncludeDirectories=""
 12.1489 -						UsePrecompiledHeader="0"
 12.1490 -					/>
 12.1491 -				</FileConfiguration>
 12.1492 +			</File>
 12.1493 +			<File
 12.1494 +				RelativePath="..\..\src\video\windows\SDL_gapirender.c"
 12.1495 +				>
 12.1496  			</File>
 12.1497  			<File
 12.1498 -				RelativePath="..\..\src\video\gapi\sdl_gapivideo.c"
 12.1499 +				RelativePath="..\..\src\video\windows\SDL_gdirender.c"
 12.1500  				>
 12.1501 -				<FileConfiguration
 12.1502 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1503 -					>
 12.1504 -					<Tool
 12.1505 -						Name="VCCLCompilerTool"
 12.1506 -						AdditionalIncludeDirectories=""
 12.1507 -						UsePrecompiledHeader="0"
 12.1508 -					/>
 12.1509 -				</FileConfiguration>
 12.1510 -				<FileConfiguration
 12.1511 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1512 -					>
 12.1513 -					<Tool
 12.1514 -						Name="VCCLCompilerTool"
 12.1515 -						AdditionalIncludeDirectories=""
 12.1516 -						UsePrecompiledHeader="0"
 12.1517 -					/>
 12.1518 -				</FileConfiguration>
 12.1519 -				<FileConfiguration
 12.1520 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1521 -					>
 12.1522 -					<Tool
 12.1523 -						Name="VCCLCompilerTool"
 12.1524 -						AdditionalIncludeDirectories=""
 12.1525 -						UsePrecompiledHeader="0"
 12.1526 -					/>
 12.1527 -				</FileConfiguration>
 12.1528 -				<FileConfiguration
 12.1529 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1530 -					>
 12.1531 -					<Tool
 12.1532 -						Name="VCCLCompilerTool"
 12.1533 -						AdditionalIncludeDirectories=""
 12.1534 -						UsePrecompiledHeader="0"
 12.1535 -					/>
 12.1536 -				</FileConfiguration>
 12.1537 -				<FileConfiguration
 12.1538 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1539 -					>
 12.1540 -					<Tool
 12.1541 -						Name="VCCLCompilerTool"
 12.1542 -						AdditionalIncludeDirectories=""
 12.1543 -						UsePrecompiledHeader="0"
 12.1544 -					/>
 12.1545 -				</FileConfiguration>
 12.1546 -				<FileConfiguration
 12.1547 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1548 -					>
 12.1549 -					<Tool
 12.1550 -						Name="VCCLCompilerTool"
 12.1551 -						AdditionalIncludeDirectories=""
 12.1552 -						UsePrecompiledHeader="0"
 12.1553 -					/>
 12.1554 -				</FileConfiguration>
 12.1555 +			</File>
 12.1556 +			<File
 12.1557 +				RelativePath="..\..\src\events\SDL_gesture.c"
 12.1558 +				>
 12.1559  			</File>
 12.1560  			<File
 12.1561  				RelativePath="..\..\src\stdlib\SDL_getenv.c"
 12.1562  				>
 12.1563  			</File>
 12.1564  			<File
 12.1565 +				RelativePath="..\..\src\haptic\SDL_haptic.c"
 12.1566 +				>
 12.1567 +			</File>
 12.1568 +			<File
 12.1569  				RelativePath="..\..\src\stdlib\SDL_iconv.c"
 12.1570  				>
 12.1571  			</File>
 12.1572 @@ -1941,60 +916,6 @@
 12.1573  			<File
 12.1574  				RelativePath="..\..\src\events\SDL_keyboard.c"
 12.1575  				>
 12.1576 -				<FileConfiguration
 12.1577 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1578 -					>
 12.1579 -					<Tool
 12.1580 -						Name="VCCLCompilerTool"
 12.1581 -						AdditionalIncludeDirectories=""
 12.1582 -						UsePrecompiledHeader="0"
 12.1583 -					/>
 12.1584 -				</FileConfiguration>
 12.1585 -				<FileConfiguration
 12.1586 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1587 -					>
 12.1588 -					<Tool
 12.1589 -						Name="VCCLCompilerTool"
 12.1590 -						AdditionalIncludeDirectories=""
 12.1591 -						UsePrecompiledHeader="0"
 12.1592 -					/>
 12.1593 -				</FileConfiguration>
 12.1594 -				<FileConfiguration
 12.1595 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1596 -					>
 12.1597 -					<Tool
 12.1598 -						Name="VCCLCompilerTool"
 12.1599 -						AdditionalIncludeDirectories=""
 12.1600 -						UsePrecompiledHeader="0"
 12.1601 -					/>
 12.1602 -				</FileConfiguration>
 12.1603 -				<FileConfiguration
 12.1604 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1605 -					>
 12.1606 -					<Tool
 12.1607 -						Name="VCCLCompilerTool"
 12.1608 -						AdditionalIncludeDirectories=""
 12.1609 -						UsePrecompiledHeader="0"
 12.1610 -					/>
 12.1611 -				</FileConfiguration>
 12.1612 -				<FileConfiguration
 12.1613 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1614 -					>
 12.1615 -					<Tool
 12.1616 -						Name="VCCLCompilerTool"
 12.1617 -						AdditionalIncludeDirectories=""
 12.1618 -						UsePrecompiledHeader="0"
 12.1619 -					/>
 12.1620 -				</FileConfiguration>
 12.1621 -				<FileConfiguration
 12.1622 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1623 -					>
 12.1624 -					<Tool
 12.1625 -						Name="VCCLCompilerTool"
 12.1626 -						AdditionalIncludeDirectories=""
 12.1627 -						UsePrecompiledHeader="0"
 12.1628 -					/>
 12.1629 -				</FileConfiguration>
 12.1630  			</File>
 12.1631  			<File
 12.1632  				RelativePath="..\..\src\stdlib\SDL_malloc.c"
 12.1633 @@ -2003,183 +924,17 @@
 12.1634  			<File
 12.1635  				RelativePath="..\..\src\audio\SDL_mixer.c"
 12.1636  				>
 12.1637 -				<FileConfiguration
 12.1638 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1639 -					>
 12.1640 -					<Tool
 12.1641 -						Name="VCCLCompilerTool"
 12.1642 -						AdditionalIncludeDirectories=""
 12.1643 -						UsePrecompiledHeader="0"
 12.1644 -					/>
 12.1645 -				</FileConfiguration>
 12.1646 -				<FileConfiguration
 12.1647 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1648 -					>
 12.1649 -					<Tool
 12.1650 -						Name="VCCLCompilerTool"
 12.1651 -						AdditionalIncludeDirectories=""
 12.1652 -						UsePrecompiledHeader="0"
 12.1653 -					/>
 12.1654 -				</FileConfiguration>
 12.1655 -				<FileConfiguration
 12.1656 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1657 -					>
 12.1658 -					<Tool
 12.1659 -						Name="VCCLCompilerTool"
 12.1660 -						AdditionalIncludeDirectories=""
 12.1661 -						UsePrecompiledHeader="0"
 12.1662 -					/>
 12.1663 -				</FileConfiguration>
 12.1664 -				<FileConfiguration
 12.1665 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1666 -					>
 12.1667 -					<Tool
 12.1668 -						Name="VCCLCompilerTool"
 12.1669 -						AdditionalIncludeDirectories=""
 12.1670 -						UsePrecompiledHeader="0"
 12.1671 -					/>
 12.1672 -				</FileConfiguration>
 12.1673 -				<FileConfiguration
 12.1674 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1675 -					>
 12.1676 -					<Tool
 12.1677 -						Name="VCCLCompilerTool"
 12.1678 -						AdditionalIncludeDirectories=""
 12.1679 -						UsePrecompiledHeader="0"
 12.1680 -					/>
 12.1681 -				</FileConfiguration>
 12.1682 -				<FileConfiguration
 12.1683 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1684 -					>
 12.1685 -					<Tool
 12.1686 -						Name="VCCLCompilerTool"
 12.1687 -						AdditionalIncludeDirectories=""
 12.1688 -						UsePrecompiledHeader="0"
 12.1689 -					/>
 12.1690 -				</FileConfiguration>
 12.1691 -			</File>
 12.1692 -			<File
 12.1693 -				RelativePath="..\..\src\audio\SDL_mixer_MMX_VC.c"
 12.1694 -				>
 12.1695 -				<FileConfiguration
 12.1696 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1697 -					>
 12.1698 -					<Tool
 12.1699 -						Name="VCCLCompilerTool"
 12.1700 -						AdditionalIncludeDirectories=""
 12.1701 -						UsePrecompiledHeader="0"
 12.1702 -					/>
 12.1703 -				</FileConfiguration>
 12.1704 -				<FileConfiguration
 12.1705 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1706 -					>
 12.1707 -					<Tool
 12.1708 -						Name="VCCLCompilerTool"
 12.1709 -						AdditionalIncludeDirectories=""
 12.1710 -						UsePrecompiledHeader="0"
 12.1711 -					/>
 12.1712 -				</FileConfiguration>
 12.1713 -				<FileConfiguration
 12.1714 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1715 -					>
 12.1716 -					<Tool
 12.1717 -						Name="VCCLCompilerTool"
 12.1718 -						AdditionalIncludeDirectories=""
 12.1719 -						UsePrecompiledHeader="0"
 12.1720 -					/>
 12.1721 -				</FileConfiguration>
 12.1722 -				<FileConfiguration
 12.1723 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1724 -					>
 12.1725 -					<Tool
 12.1726 -						Name="VCCLCompilerTool"
 12.1727 -						AdditionalIncludeDirectories=""
 12.1728 -						UsePrecompiledHeader="0"
 12.1729 -					/>
 12.1730 -				</FileConfiguration>
 12.1731 -				<FileConfiguration
 12.1732 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1733 -					>
 12.1734 -					<Tool
 12.1735 -						Name="VCCLCompilerTool"
 12.1736 -						AdditionalIncludeDirectories=""
 12.1737 -						UsePrecompiledHeader="0"
 12.1738 -					/>
 12.1739 -				</FileConfiguration>
 12.1740 -				<FileConfiguration
 12.1741 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1742 -					>
 12.1743 -					<Tool
 12.1744 -						Name="VCCLCompilerTool"
 12.1745 -						AdditionalIncludeDirectories=""
 12.1746 -						UsePrecompiledHeader="0"
 12.1747 -					/>
 12.1748 -				</FileConfiguration>
 12.1749  			</File>
 12.1750  			<File
 12.1751  				RelativePath="..\..\src\events\SDL_mouse.c"
 12.1752  				>
 12.1753 -				<FileConfiguration
 12.1754 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1755 -					>
 12.1756 -					<Tool
 12.1757 -						Name="VCCLCompilerTool"
 12.1758 -						AdditionalIncludeDirectories=""
 12.1759 -						UsePrecompiledHeader="0"
 12.1760 -					/>
 12.1761 -				</FileConfiguration>
 12.1762 -				<FileConfiguration
 12.1763 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1764 -					>
 12.1765 -					<Tool
 12.1766 -						Name="VCCLCompilerTool"
 12.1767 -						AdditionalIncludeDirectories=""
 12.1768 -						UsePrecompiledHeader="0"
 12.1769 -					/>
 12.1770 -				</FileConfiguration>
 12.1771 -				<FileConfiguration
 12.1772 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1773 -					>
 12.1774 -					<Tool
 12.1775 -						Name="VCCLCompilerTool"
 12.1776 -						AdditionalIncludeDirectories=""
 12.1777 -						UsePrecompiledHeader="0"
 12.1778 -					/>
 12.1779 -				</FileConfiguration>
 12.1780 -				<FileConfiguration
 12.1781 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1782 -					>
 12.1783 -					<Tool
 12.1784 -						Name="VCCLCompilerTool"
 12.1785 -						AdditionalIncludeDirectories=""
 12.1786 -						UsePrecompiledHeader="0"
 12.1787 -					/>
 12.1788 -				</FileConfiguration>
 12.1789 -				<FileConfiguration
 12.1790 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1791 -					>
 12.1792 -					<Tool
 12.1793 -						Name="VCCLCompilerTool"
 12.1794 -						AdditionalIncludeDirectories=""
 12.1795 -						UsePrecompiledHeader="0"
 12.1796 -					/>
 12.1797 -				</FileConfiguration>
 12.1798 -				<FileConfiguration
 12.1799 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1800 -					>
 12.1801 -					<Tool
 12.1802 -						Name="VCCLCompilerTool"
 12.1803 -						AdditionalIncludeDirectories=""
 12.1804 -						UsePrecompiledHeader="0"
 12.1805 -					/>
 12.1806 -				</FileConfiguration>
 12.1807  			</File>
 12.1808  			<File
 12.1809  				RelativePath="..\..\src\video\dummy\SDL_nullevents.c"
 12.1810  				>
 12.1811  			</File>
 12.1812  			<File
 12.1813 -				RelativePath="..\..\src\video\dummy\SDL_nullmouse.c"
 12.1814 +				RelativePath="..\..\src\video\dummy\SDL_nullrender.c"
 12.1815  				>
 12.1816  			</File>
 12.1817  			<File
 12.1818 @@ -2189,60 +944,10 @@
 12.1819  			<File
 12.1820  				RelativePath="..\..\src\video\SDL_pixels.c"
 12.1821  				>
 12.1822 -				<FileConfiguration
 12.1823 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1824 -					>
 12.1825 -					<Tool
 12.1826 -						Name="VCCLCompilerTool"
 12.1827 -						AdditionalIncludeDirectories=""
 12.1828 -						UsePrecompiledHeader="0"
 12.1829 -					/>
 12.1830 -				</FileConfiguration>
 12.1831 -				<FileConfiguration
 12.1832 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1833 -					>
 12.1834 -					<Tool
 12.1835 -						Name="VCCLCompilerTool"
 12.1836 -						AdditionalIncludeDirectories=""
 12.1837 -						UsePrecompiledHeader="0"
 12.1838 -					/>
 12.1839 -				</FileConfiguration>
 12.1840 -				<FileConfiguration
 12.1841 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1842 -					>
 12.1843 -					<Tool
 12.1844 -						Name="VCCLCompilerTool"
 12.1845 -						AdditionalIncludeDirectories=""
 12.1846 -						UsePrecompiledHeader="0"
 12.1847 -					/>
 12.1848 -				</FileConfiguration>
 12.1849 -				<FileConfiguration
 12.1850 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1851 -					>
 12.1852 -					<Tool
 12.1853 -						Name="VCCLCompilerTool"
 12.1854 -						AdditionalIncludeDirectories=""
 12.1855 -						UsePrecompiledHeader="0"
 12.1856 -					/>
 12.1857 -				</FileConfiguration>
 12.1858 -				<FileConfiguration
 12.1859 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1860 -					>
 12.1861 -					<Tool
 12.1862 -						Name="VCCLCompilerTool"
 12.1863 -						AdditionalIncludeDirectories=""
 12.1864 -						UsePrecompiledHeader="0"
 12.1865 -					/>
 12.1866 -				</FileConfiguration>
 12.1867 -				<FileConfiguration
 12.1868 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1869 -					>
 12.1870 -					<Tool
 12.1871 -						Name="VCCLCompilerTool"
 12.1872 -						AdditionalIncludeDirectories=""
 12.1873 -						UsePrecompiledHeader="0"
 12.1874 -					/>
 12.1875 -				</FileConfiguration>
 12.1876 +			</File>
 12.1877 +			<File
 12.1878 +				RelativePath="..\..\src\power\SDL_power.c"
 12.1879 +				>
 12.1880  			</File>
 12.1881  			<File
 12.1882  				RelativePath="..\..\src\stdlib\SDL_qsort.c"
 12.1883 @@ -2251,292 +956,38 @@
 12.1884  			<File
 12.1885  				RelativePath="..\..\src\events\SDL_quit.c"
 12.1886  				>
 12.1887 -				<FileConfiguration
 12.1888 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1889 -					>
 12.1890 -					<Tool
 12.1891 -						Name="VCCLCompilerTool"
 12.1892 -						AdditionalIncludeDirectories=""
 12.1893 -						UsePrecompiledHeader="0"
 12.1894 -					/>
 12.1895 -				</FileConfiguration>
 12.1896 -				<FileConfiguration
 12.1897 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1898 -					>
 12.1899 -					<Tool
 12.1900 -						Name="VCCLCompilerTool"
 12.1901 -						AdditionalIncludeDirectories=""
 12.1902 -						UsePrecompiledHeader="0"
 12.1903 -					/>
 12.1904 -				</FileConfiguration>
 12.1905 -				<FileConfiguration
 12.1906 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1907 -					>
 12.1908 -					<Tool
 12.1909 -						Name="VCCLCompilerTool"
 12.1910 -						AdditionalIncludeDirectories=""
 12.1911 -						UsePrecompiledHeader="0"
 12.1912 -					/>
 12.1913 -				</FileConfiguration>
 12.1914 -				<FileConfiguration
 12.1915 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1916 -					>
 12.1917 -					<Tool
 12.1918 -						Name="VCCLCompilerTool"
 12.1919 -						AdditionalIncludeDirectories=""
 12.1920 -						UsePrecompiledHeader="0"
 12.1921 -					/>
 12.1922 -				</FileConfiguration>
 12.1923 -				<FileConfiguration
 12.1924 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1925 -					>
 12.1926 -					<Tool
 12.1927 -						Name="VCCLCompilerTool"
 12.1928 -						AdditionalIncludeDirectories=""
 12.1929 -						UsePrecompiledHeader="0"
 12.1930 -					/>
 12.1931 -				</FileConfiguration>
 12.1932 -				<FileConfiguration
 12.1933 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1934 -					>
 12.1935 -					<Tool
 12.1936 -						Name="VCCLCompilerTool"
 12.1937 -						AdditionalIncludeDirectories=""
 12.1938 -						UsePrecompiledHeader="0"
 12.1939 -					/>
 12.1940 -				</FileConfiguration>
 12.1941  			</File>
 12.1942  			<File
 12.1943 -				RelativePath="..\..\src\events\SDL_resize.c"
 12.1944 +				RelativePath="..\..\src\video\SDL_rect.c"
 12.1945  				>
 12.1946 -				<FileConfiguration
 12.1947 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.1948 -					>
 12.1949 -					<Tool
 12.1950 -						Name="VCCLCompilerTool"
 12.1951 -						AdditionalIncludeDirectories=""
 12.1952 -						UsePrecompiledHeader="0"
 12.1953 -					/>
 12.1954 -				</FileConfiguration>
 12.1955 -				<FileConfiguration
 12.1956 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.1957 -					>
 12.1958 -					<Tool
 12.1959 -						Name="VCCLCompilerTool"
 12.1960 -						AdditionalIncludeDirectories=""
 12.1961 -						UsePrecompiledHeader="0"
 12.1962 -					/>
 12.1963 -				</FileConfiguration>
 12.1964 -				<FileConfiguration
 12.1965 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1966 -					>
 12.1967 -					<Tool
 12.1968 -						Name="VCCLCompilerTool"
 12.1969 -						AdditionalIncludeDirectories=""
 12.1970 -						UsePrecompiledHeader="0"
 12.1971 -					/>
 12.1972 -				</FileConfiguration>
 12.1973 -				<FileConfiguration
 12.1974 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.1975 -					>
 12.1976 -					<Tool
 12.1977 -						Name="VCCLCompilerTool"
 12.1978 -						AdditionalIncludeDirectories=""
 12.1979 -						UsePrecompiledHeader="0"
 12.1980 -					/>
 12.1981 -				</FileConfiguration>
 12.1982 -				<FileConfiguration
 12.1983 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.1984 -					>
 12.1985 -					<Tool
 12.1986 -						Name="VCCLCompilerTool"
 12.1987 -						AdditionalIncludeDirectories=""
 12.1988 -						UsePrecompiledHeader="0"
 12.1989 -					/>
 12.1990 -				</FileConfiguration>
 12.1991 -				<FileConfiguration
 12.1992 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.1993 -					>
 12.1994 -					<Tool
 12.1995 -						Name="VCCLCompilerTool"
 12.1996 -						AdditionalIncludeDirectories=""
 12.1997 -						UsePrecompiledHeader="0"
 12.1998 -					/>
 12.1999 -				</FileConfiguration>
 12.2000 +			</File>
 12.2001 +			<File
 12.2002 +				RelativePath="..\..\src\video\SDL_renderer_sw.c"
 12.2003 +				>
 12.2004  			</File>
 12.2005  			<File
 12.2006  				RelativePath="..\..\src\video\SDL_RLEaccel.c"
 12.2007  				>
 12.2008 -				<FileConfiguration
 12.2009 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2010 -					>
 12.2011 -					<Tool
 12.2012 -						Name="VCCLCompilerTool"
 12.2013 -						AdditionalIncludeDirectories=""
 12.2014 -						UsePrecompiledHeader="0"
 12.2015 -					/>
 12.2016 -				</FileConfiguration>
 12.2017 -				<FileConfiguration
 12.2018 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2019 -					>
 12.2020 -					<Tool
 12.2021 -						Name="VCCLCompilerTool"
 12.2022 -						AdditionalIncludeDirectories=""
 12.2023 -						UsePrecompiledHeader="0"
 12.2024 -					/>
 12.2025 -				</FileConfiguration>
 12.2026 -				<FileConfiguration
 12.2027 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2028 -					>
 12.2029 -					<Tool
 12.2030 -						Name="VCCLCompilerTool"
 12.2031 -						AdditionalIncludeDirectories=""
 12.2032 -						UsePrecompiledHeader="0"
 12.2033 -					/>
 12.2034 -				</FileConfiguration>
 12.2035 -				<FileConfiguration
 12.2036 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2037 -					>
 12.2038 -					<Tool
 12.2039 -						Name="VCCLCompilerTool"
 12.2040 -						AdditionalIncludeDirectories=""
 12.2041 -						UsePrecompiledHeader="0"
 12.2042 -					/>
 12.2043 -				</FileConfiguration>
 12.2044 -				<FileConfiguration
 12.2045 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2046 -					>
 12.2047 -					<Tool
 12.2048 -						Name="VCCLCompilerTool"
 12.2049 -						AdditionalIncludeDirectories=""
 12.2050 -						UsePrecompiledHeader="0"
 12.2051 -					/>
 12.2052 -				</FileConfiguration>
 12.2053 -				<FileConfiguration
 12.2054 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2055 -					>
 12.2056 -					<Tool
 12.2057 -						Name="VCCLCompilerTool"
 12.2058 -						AdditionalIncludeDirectories=""
 12.2059 -						UsePrecompiledHeader="0"
 12.2060 -					/>
 12.2061 -				</FileConfiguration>
 12.2062  			</File>
 12.2063  			<File
 12.2064  				RelativePath="..\..\src\file\SDL_rwops.c"
 12.2065  				>
 12.2066 -				<FileConfiguration
 12.2067 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2068 -					>
 12.2069 -					<Tool
 12.2070 -						Name="VCCLCompilerTool"
 12.2071 -						AdditionalIncludeDirectories=""
 12.2072 -						UsePrecompiledHeader="0"
 12.2073 -					/>
 12.2074 -				</FileConfiguration>
 12.2075 -				<FileConfiguration
 12.2076 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2077 -					>
 12.2078 -					<Tool
 12.2079 -						Name="VCCLCompilerTool"
 12.2080 -						AdditionalIncludeDirectories=""
 12.2081 -						UsePrecompiledHeader="0"
 12.2082 -					/>
 12.2083 -				</FileConfiguration>
 12.2084 -				<FileConfiguration
 12.2085 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2086 -					>
 12.2087 -					<Tool
 12.2088 -						Name="VCCLCompilerTool"
 12.2089 -						AdditionalIncludeDirectories=""
 12.2090 -						UsePrecompiledHeader="0"
 12.2091 -					/>
 12.2092 -				</FileConfiguration>
 12.2093 -				<FileConfiguration
 12.2094 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2095 -					>
 12.2096 -					<Tool
 12.2097 -						Name="VCCLCompilerTool"
 12.2098 -						AdditionalIncludeDirectories=""
 12.2099 -						UsePrecompiledHeader="0"
 12.2100 -					/>
 12.2101 -				</FileConfiguration>
 12.2102 -				<FileConfiguration
 12.2103 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2104 -					>
 12.2105 -					<Tool
 12.2106 -						Name="VCCLCompilerTool"
 12.2107 -						AdditionalIncludeDirectories=""
 12.2108 -						UsePrecompiledHeader="0"
 12.2109 -					/>
 12.2110 -				</FileConfiguration>
 12.2111 -				<FileConfiguration
 12.2112 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2113 -					>
 12.2114 -					<Tool
 12.2115 -						Name="VCCLCompilerTool"
 12.2116 -						AdditionalIncludeDirectories=""
 12.2117 -						UsePrecompiledHeader="0"
 12.2118 -					/>
 12.2119 -				</FileConfiguration>
 12.2120 +			</File>
 12.2121 +			<File
 12.2122 +				RelativePath="..\..\src\video\SDL_shape.c"
 12.2123 +				>
 12.2124 +			</File>
 12.2125 +			<File
 12.2126 +				RelativePath="..\..\src\atomic\SDL_spinlock.c"
 12.2127 +				>
 12.2128 +			</File>
 12.2129 +			<File
 12.2130 +				RelativePath="..\..\src\stdlib\SDL_stdlib.c"
 12.2131 +				>
 12.2132  			</File>
 12.2133  			<File
 12.2134  				RelativePath="..\..\src\video\SDL_stretch.c"
 12.2135  				>
 12.2136 -				<FileConfiguration
 12.2137 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2138 -					>
 12.2139 -					<Tool
 12.2140 -						Name="VCCLCompilerTool"
 12.2141 -						AdditionalIncludeDirectories=""
 12.2142 -						UsePrecompiledHeader="0"
 12.2143 -					/>
 12.2144 -				</FileConfiguration>
 12.2145 -				<FileConfiguration
 12.2146 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2147 -					>
 12.2148 -					<Tool
 12.2149 -						Name="VCCLCompilerTool"
 12.2150 -						AdditionalIncludeDirectories=""
 12.2151 -						UsePrecompiledHeader="0"
 12.2152 -					/>
 12.2153 -				</FileConfiguration>
 12.2154 -				<FileConfiguration
 12.2155 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2156 -					>
 12.2157 -					<Tool
 12.2158 -						Name="VCCLCompilerTool"
 12.2159 -						AdditionalIncludeDirectories=""
 12.2160 -						UsePrecompiledHeader="0"
 12.2161 -					/>
 12.2162 -				</FileConfiguration>
 12.2163 -				<FileConfiguration
 12.2164 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2165 -					>
 12.2166 -					<Tool
 12.2167 -						Name="VCCLCompilerTool"
 12.2168 -						AdditionalIncludeDirectories=""
 12.2169 -						UsePrecompiledHeader="0"
 12.2170 -					/>
 12.2171 -				</FileConfiguration>
 12.2172 -				<FileConfiguration
 12.2173 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2174 -					>
 12.2175 -					<Tool
 12.2176 -						Name="VCCLCompilerTool"
 12.2177 -						AdditionalIncludeDirectories=""
 12.2178 -						UsePrecompiledHeader="0"
 12.2179 -					/>
 12.2180 -				</FileConfiguration>
 12.2181 -				<FileConfiguration
 12.2182 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2183 -					>
 12.2184 -					<Tool
 12.2185 -						Name="VCCLCompilerTool"
 12.2186 -						AdditionalIncludeDirectories=""
 12.2187 -						UsePrecompiledHeader="0"
 12.2188 -					/>
 12.2189 -				</FileConfiguration>
 12.2190  			</File>
 12.2191  			<File
 12.2192  				RelativePath="..\..\src\stdlib\SDL_string.c"
 12.2193 @@ -2545,1000 +996,118 @@
 12.2194  			<File
 12.2195  				RelativePath="..\..\src\video\SDL_surface.c"
 12.2196  				>
 12.2197 -				<FileConfiguration
 12.2198 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2199 -					>
 12.2200 -					<Tool
 12.2201 -						Name="VCCLCompilerTool"
 12.2202 -						AdditionalIncludeDirectories=""
 12.2203 -						UsePrecompiledHeader="0"
 12.2204 -					/>
 12.2205 -				</FileConfiguration>
 12.2206 -				<FileConfiguration
 12.2207 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2208 -					>
 12.2209 -					<Tool
 12.2210 -						Name="VCCLCompilerTool"
 12.2211 -						AdditionalIncludeDirectories=""
 12.2212 -						UsePrecompiledHeader="0"
 12.2213 -					/>
 12.2214 -				</FileConfiguration>
 12.2215 -				<FileConfiguration
 12.2216 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2217 -					>
 12.2218 -					<Tool
 12.2219 -						Name="VCCLCompilerTool"
 12.2220 -						AdditionalIncludeDirectories=""
 12.2221 -						UsePrecompiledHeader="0"
 12.2222 -					/>
 12.2223 -				</FileConfiguration>
 12.2224 -				<FileConfiguration
 12.2225 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2226 -					>
 12.2227 -					<Tool
 12.2228 -						Name="VCCLCompilerTool"
 12.2229 -						AdditionalIncludeDirectories=""
 12.2230 -						UsePrecompiledHeader="0"
 12.2231 -					/>
 12.2232 -				</FileConfiguration>
 12.2233 -				<FileConfiguration
 12.2234 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2235 -					>
 12.2236 -					<Tool
 12.2237 -						Name="VCCLCompilerTool"
 12.2238 -						AdditionalIncludeDirectories=""
 12.2239 -						UsePrecompiledHeader="0"
 12.2240 -					/>
 12.2241 -				</FileConfiguration>
 12.2242 -				<FileConfiguration
 12.2243 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2244 -					>
 12.2245 -					<Tool
 12.2246 -						Name="VCCLCompilerTool"
 12.2247 -						AdditionalIncludeDirectories=""
 12.2248 -						UsePrecompiledHeader="0"
 12.2249 -					/>
 12.2250 -				</FileConfiguration>
 12.2251  			</File>
 12.2252  			<File
 12.2253 -				RelativePath="..\..\src\thread\generic\SDL_syscond.c"
 12.2254 +				RelativePath="..\..\src\haptic\dummy\SDL_syshaptic.c"
 12.2255  				>
 12.2256 -				<FileConfiguration
 12.2257 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2258 -					>
 12.2259 -					<Tool
 12.2260 -						Name="VCCLCompilerTool"
 12.2261 -						AdditionalIncludeDirectories=""
 12.2262 -						UsePrecompiledHeader="0"
 12.2263 -					/>
 12.2264 -				</FileConfiguration>
 12.2265 -				<FileConfiguration
 12.2266 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2267 -					>
 12.2268 -					<Tool
 12.2269 -						Name="VCCLCompilerTool"
 12.2270 -						AdditionalIncludeDirectories=""
 12.2271 -						UsePrecompiledHeader="0"
 12.2272 -					/>
 12.2273 -				</FileConfiguration>
 12.2274 -				<FileConfiguration
 12.2275 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2276 -					>
 12.2277 -					<Tool
 12.2278 -						Name="VCCLCompilerTool"
 12.2279 -						AdditionalIncludeDirectories=""
 12.2280 -						UsePrecompiledHeader="0"
 12.2281 -					/>
 12.2282 -				</FileConfiguration>
 12.2283 -				<FileConfiguration
 12.2284 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2285 -					>
 12.2286 -					<Tool
 12.2287 -						Name="VCCLCompilerTool"
 12.2288 -						AdditionalIncludeDirectories=""
 12.2289 -						UsePrecompiledHeader="0"
 12.2290 -					/>
 12.2291 -				</FileConfiguration>
 12.2292 -				<FileConfiguration
 12.2293 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2294 -					>
 12.2295 -					<Tool
 12.2296 -						Name="VCCLCompilerTool"
 12.2297 -						AdditionalIncludeDirectories=""
 12.2298 -						UsePrecompiledHeader="0"
 12.2299 -					/>
 12.2300 -				</FileConfiguration>
 12.2301 -				<FileConfiguration
 12.2302 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2303 -					>
 12.2304 -					<Tool
 12.2305 -						Name="VCCLCompilerTool"
 12.2306 -						AdditionalIncludeDirectories=""
 12.2307 -						UsePrecompiledHeader="0"
 12.2308 -					/>
 12.2309 -				</FileConfiguration>
 12.2310 -			</File>
 12.2311 -			<File
 12.2312 -				RelativePath="..\..\src\video\wincommon\SDL_sysevents.c"
 12.2313 -				>
 12.2314 -				<FileConfiguration
 12.2315 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2316 -					>
 12.2317 -					<Tool
 12.2318 -						Name="VCCLCompilerTool"
 12.2319 -						AdditionalIncludeDirectories=""
 12.2320 -						UsePrecompiledHeader="0"
 12.2321 -					/>
 12.2322 -				</FileConfiguration>
 12.2323 -				<FileConfiguration
 12.2324 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2325 -					>
 12.2326 -					<Tool
 12.2327 -						Name="VCCLCompilerTool"
 12.2328 -						AdditionalIncludeDirectories=""
 12.2329 -						UsePrecompiledHeader="0"
 12.2330 -					/>
 12.2331 -				</FileConfiguration>
 12.2332 -				<FileConfiguration
 12.2333 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2334 -					>
 12.2335 -					<Tool
 12.2336 -						Name="VCCLCompilerTool"
 12.2337 -						AdditionalIncludeDirectories=""
 12.2338 -						UsePrecompiledHeader="0"
 12.2339 -					/>
 12.2340 -				</FileConfiguration>
 12.2341 -				<FileConfiguration
 12.2342 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2343 -					>
 12.2344 -					<Tool
 12.2345 -						Name="VCCLCompilerTool"
 12.2346 -						AdditionalIncludeDirectories=""
 12.2347 -						UsePrecompiledHeader="0"
 12.2348 -					/>
 12.2349 -				</FileConfiguration>
 12.2350 -				<FileConfiguration
 12.2351 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2352 -					>
 12.2353 -					<Tool
 12.2354 -						Name="VCCLCompilerTool"
 12.2355 -						AdditionalIncludeDirectories=""
 12.2356 -						UsePrecompiledHeader="0"
 12.2357 -					/>
 12.2358 -				</FileConfiguration>
 12.2359 -				<FileConfiguration
 12.2360 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2361 -					>
 12.2362 -					<Tool
 12.2363 -						Name="VCCLCompilerTool"
 12.2364 -						AdditionalIncludeDirectories=""
 12.2365 -						UsePrecompiledHeader="0"
 12.2366 -					/>
 12.2367 -				</FileConfiguration>
 12.2368  			</File>
 12.2369  			<File
 12.2370  				RelativePath="..\..\src\joystick\dummy\SDL_sysjoystick.c"
 12.2371  				>
 12.2372 -				<FileConfiguration
 12.2373 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2374 -					>
 12.2375 -					<Tool
 12.2376 -						Name="VCCLCompilerTool"
 12.2377 -						AdditionalIncludeDirectories=""
 12.2378 -						UsePrecompiledHeader="0"
 12.2379 -					/>
 12.2380 -				</FileConfiguration>
 12.2381 -				<FileConfiguration
 12.2382 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2383 -					>
 12.2384 -					<Tool
 12.2385 -						Name="VCCLCompilerTool"
 12.2386 -						AdditionalIncludeDirectories=""
 12.2387 -						UsePrecompiledHeader="0"
 12.2388 -					/>
 12.2389 -				</FileConfiguration>
 12.2390 -				<FileConfiguration
 12.2391 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2392 -					>
 12.2393 -					<Tool
 12.2394 -						Name="VCCLCompilerTool"
 12.2395 -						AdditionalIncludeDirectories=""
 12.2396 -						UsePrecompiledHeader="0"
 12.2397 -					/>
 12.2398 -				</FileConfiguration>
 12.2399 -				<FileConfiguration
 12.2400 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2401 -					>
 12.2402 -					<Tool
 12.2403 -						Name="VCCLCompilerTool"
 12.2404 -						AdditionalIncludeDirectories=""
 12.2405 -						UsePrecompiledHeader="0"
 12.2406 -					/>
 12.2407 -				</FileConfiguration>
 12.2408 -				<FileConfiguration
 12.2409 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2410 -					>
 12.2411 -					<Tool
 12.2412 -						Name="VCCLCompilerTool"
 12.2413 -						AdditionalIncludeDirectories=""
 12.2414 -						UsePrecompiledHeader="0"
 12.2415 -					/>
 12.2416 -				</FileConfiguration>
 12.2417 -				<FileConfiguration
 12.2418 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2419 -					>
 12.2420 -					<Tool
 12.2421 -						Name="VCCLCompilerTool"
 12.2422 -						AdditionalIncludeDirectories=""
 12.2423 -						UsePrecompiledHeader="0"
 12.2424 -					/>
 12.2425 -				</FileConfiguration>
 12.2426  			</File>
 12.2427  			<File
 12.2428 -				RelativePath="..\..\src\loadso\win32\SDL_sysloadso.c"
 12.2429 +				RelativePath="..\..\src\loadso\windows\SDL_sysloadso.c"
 12.2430 +				>
 12.2431 +			</File>
 12.2432 +			<File
 12.2433 +				RelativePath="..\..\src\thread\windows\SDL_sysmutex.c"
 12.2434  				>
 12.2435  			</File>
 12.2436  			<File
 12.2437 -				RelativePath="..\..\src\video\wincommon\SDL_sysmouse.c"
 12.2438 +				RelativePath="..\..\src\power\windows\SDL_syspower.c"
 12.2439  				>
 12.2440 -				<FileConfiguration
 12.2441 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2442 -					>
 12.2443 -					<Tool
 12.2444 -						Name="VCCLCompilerTool"
 12.2445 -						AdditionalIncludeDirectories=""
 12.2446 -						UsePrecompiledHeader="0"
 12.2447 -					/>
 12.2448 -				</FileConfiguration>
 12.2449 -				<FileConfiguration
 12.2450 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2451 -					>
 12.2452 -					<Tool
 12.2453 -						Name="VCCLCompilerTool"
 12.2454 -						AdditionalIncludeDirectories=""
 12.2455 -						UsePrecompiledHeader="0"
 12.2456 -					/>
 12.2457 -				</FileConfiguration>
 12.2458 -				<FileConfiguration
 12.2459 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2460 -					>
 12.2461 -					<Tool
 12.2462 -						Name="VCCLCompilerTool"
 12.2463 -						AdditionalIncludeDirectories=""
 12.2464 -						UsePrecompiledHeader="0"
 12.2465 -					/>
 12.2466 -				</FileConfiguration>
 12.2467 -				<FileConfiguration
 12.2468 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2469 -					>
 12.2470 -					<Tool
 12.2471 -						Name="VCCLCompilerTool"
 12.2472 -						AdditionalIncludeDirectories=""
 12.2473 -						UsePrecompiledHeader="0"
 12.2474 -					/>
 12.2475 -				</FileConfiguration>
 12.2476 -				<FileConfiguration
 12.2477 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2478 -					>
 12.2479 -					<Tool
 12.2480 -						Name="VCCLCompilerTool"
 12.2481 -						AdditionalIncludeDirectories=""
 12.2482 -						UsePrecompiledHeader="0"
 12.2483 -					/>
 12.2484 -				</FileConfiguration>
 12.2485 -				<FileConfiguration
 12.2486 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2487 -					>
 12.2488 -					<Tool
 12.2489 -						Name="VCCLCompilerTool"
 12.2490 -						AdditionalIncludeDirectories=""
 12.2491 -						UsePrecompiledHeader="0"
 12.2492 -					/>
 12.2493 -				</FileConfiguration>
 12.2494  			</File>
 12.2495  			<File
 12.2496 -				RelativePath="..\..\src\thread\win32\SDL_sysmutex.c"
 12.2497 +				RelativePath="..\..\src\thread\windows\SDL_syssem.c"
 12.2498  				>
 12.2499 -				<FileConfiguration
 12.2500 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2501 -					>
 12.2502 -					<Tool
 12.2503 -						Name="VCCLCompilerTool"
 12.2504 -						AdditionalIncludeDirectories=""
 12.2505 -						UsePrecompiledHeader="0"
 12.2506 -					/>
 12.2507 -				</FileConfiguration>
 12.2508 -				<FileConfiguration
 12.2509 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2510 -					>
 12.2511 -					<Tool
 12.2512 -						Name="VCCLCompilerTool"
 12.2513 -						AdditionalIncludeDirectories=""
 12.2514 -						UsePrecompiledHeader="0"
 12.2515 -					/>
 12.2516 -				</FileConfiguration>
 12.2517 -				<FileConfiguration
 12.2518 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2519 -					>
 12.2520 -					<Tool
 12.2521 -						Name="VCCLCompilerTool"
 12.2522 -						AdditionalIncludeDirectories=""
 12.2523 -						UsePrecompiledHeader="0"
 12.2524 -					/>
 12.2525 -				</FileConfiguration>
 12.2526 -				<FileConfiguration
 12.2527 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2528 -					>
 12.2529 -					<Tool
 12.2530 -						Name="VCCLCompilerTool"
 12.2531 -						AdditionalIncludeDirectories=""
 12.2532 -						UsePrecompiledHeader="0"
 12.2533 -					/>
 12.2534 -				</FileConfiguration>
 12.2535 -				<FileConfiguration
 12.2536 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2537 -					>
 12.2538 -					<Tool
 12.2539 -						Name="VCCLCompilerTool"
 12.2540 -						AdditionalIncludeDirectories=""
 12.2541 -						UsePrecompiledHeader="0"
 12.2542 -					/>
 12.2543 -				</FileConfiguration>
 12.2544 -				<FileConfiguration
 12.2545 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2546 -					>
 12.2547 -					<Tool
 12.2548 -						Name="VCCLCompilerTool"
 12.2549 -						AdditionalIncludeDirectories=""
 12.2550 -						UsePrecompiledHeader="0"
 12.2551 -					/>
 12.2552 -				</FileConfiguration>
 12.2553  			</File>
 12.2554  			<File
 12.2555 -				RelativePath="..\..\src\thread\win32\SDL_syssem.c"
 12.2556 +				RelativePath="..\..\src\thread\windows\SDL_systhread.c"
 12.2557  				>
 12.2558 -				<FileConfiguration
 12.2559 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2560 -					>
 12.2561 -					<Tool
 12.2562 -						Name="VCCLCompilerTool"
 12.2563 -						AdditionalIncludeDirectories=""
 12.2564 -						UsePrecompiledHeader="0"
 12.2565 -					/>
 12.2566 -				</FileConfiguration>
 12.2567 -				<FileConfiguration
 12.2568 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2569 -					>
 12.2570 -					<Tool
 12.2571 -						Name="VCCLCompilerTool"
 12.2572 -						AdditionalIncludeDirectories=""
 12.2573 -						UsePrecompiledHeader="0"
 12.2574 -					/>
 12.2575 -				</FileConfiguration>
 12.2576 -				<FileConfiguration
 12.2577 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2578 -					>
 12.2579 -					<Tool
 12.2580 -						Name="VCCLCompilerTool"
 12.2581 -						AdditionalIncludeDirectories=""
 12.2582 -						UsePrecompiledHeader="0"
 12.2583 -					/>
 12.2584 -				</FileConfiguration>
 12.2585 -				<FileConfiguration
 12.2586 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2587 -					>
 12.2588 -					<Tool
 12.2589 -						Name="VCCLCompilerTool"
 12.2590 -						AdditionalIncludeDirectories=""
 12.2591 -						UsePrecompiledHeader="0"
 12.2592 -					/>
 12.2593 -				</FileConfiguration>
 12.2594 -				<FileConfiguration
 12.2595 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2596 -					>
 12.2597 -					<Tool
 12.2598 -						Name="VCCLCompilerTool"
 12.2599 -						AdditionalIncludeDirectories=""
 12.2600 -						UsePrecompiledHeader="0"
 12.2601 -					/>
 12.2602 -				</FileConfiguration>
 12.2603 -				<FileConfiguration
 12.2604 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2605 -					>
 12.2606 -					<Tool
 12.2607 -						Name="VCCLCompilerTool"
 12.2608 -						AdditionalIncludeDirectories=""
 12.2609 -						UsePrecompiledHeader="0"
 12.2610 -					/>
 12.2611 -				</FileConfiguration>
 12.2612 -			</File>
 12.2613 -			<File
 12.2614 -				RelativePath="..\..\src\thread\win32\SDL_systhread.c"
 12.2615 -				>
 12.2616 -				<FileConfiguration
 12.2617 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2618 -					>
 12.2619 -					<Tool
 12.2620 -						Name="VCCLCompilerTool"
 12.2621 -						AdditionalIncludeDirectories=""
 12.2622 -						UsePrecompiledHeader="0"
 12.2623 -					/>
 12.2624 -				</FileConfiguration>
 12.2625 -				<FileConfiguration
 12.2626 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2627 -					>
 12.2628 -					<Tool
 12.2629 -						Name="VCCLCompilerTool"
 12.2630 -						AdditionalIncludeDirectories=""
 12.2631 -						UsePrecompiledHeader="0"
 12.2632 -					/>
 12.2633 -				</FileConfiguration>
 12.2634 -				<FileConfiguration
 12.2635 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2636 -					>
 12.2637 -					<Tool
 12.2638 -						Name="VCCLCompilerTool"
 12.2639 -						AdditionalIncludeDirectories=""
 12.2640 -						UsePrecompiledHeader="0"
 12.2641 -					/>
 12.2642 -				</FileConfiguration>
 12.2643 -				<FileConfiguration
 12.2644 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2645 -					>
 12.2646 -					<Tool
 12.2647 -						Name="VCCLCompilerTool"
 12.2648 -						AdditionalIncludeDirectories=""
 12.2649 -						UsePrecompiledHeader="0"
 12.2650 -					/>
 12.2651 -				</FileConfiguration>
 12.2652 -				<FileConfiguration
 12.2653 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2654 -					>
 12.2655 -					<Tool
 12.2656 -						Name="VCCLCompilerTool"
 12.2657 -						AdditionalIncludeDirectories=""
 12.2658 -						UsePrecompiledHeader="0"
 12.2659 -					/>
 12.2660 -				</FileConfiguration>
 12.2661 -				<FileConfiguration
 12.2662 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2663 -					>
 12.2664 -					<Tool
 12.2665 -						Name="VCCLCompilerTool"
 12.2666 -						AdditionalIncludeDirectories=""
 12.2667 -						UsePrecompiledHeader="0"
 12.2668 -					/>
 12.2669 -				</FileConfiguration>
 12.2670  			</File>
 12.2671  			<File
 12.2672  				RelativePath="..\..\src\timer\wince\SDL_systimer.c"
 12.2673  				>
 12.2674  			</File>
 12.2675  			<File
 12.2676 -				RelativePath="..\..\src\video\wincommon\SDL_syswm.c"
 12.2677 -				>
 12.2678 -				<FileConfiguration
 12.2679 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2680 -					>
 12.2681 -					<Tool
 12.2682 -						Name="VCCLCompilerTool"
 12.2683 -						AdditionalIncludeDirectories=""
 12.2684 -						UsePrecompiledHeader="0"
 12.2685 -					/>
 12.2686 -				</FileConfiguration>
 12.2687 -				<FileConfiguration
 12.2688 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2689 -					>
 12.2690 -					<Tool
 12.2691 -						Name="VCCLCompilerTool"
 12.2692 -						AdditionalIncludeDirectories=""
 12.2693 -						UsePrecompiledHeader="0"
 12.2694 -					/>
 12.2695 -				</FileConfiguration>
 12.2696 -				<FileConfiguration
 12.2697 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2698 -					>
 12.2699 -					<Tool
 12.2700 -						Name="VCCLCompilerTool"
 12.2701 -						AdditionalIncludeDirectories=""
 12.2702 -						UsePrecompiledHeader="0"
 12.2703 -					/>
 12.2704 -				</FileConfiguration>
 12.2705 -				<FileConfiguration
 12.2706 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2707 -					>
 12.2708 -					<Tool
 12.2709 -						Name="VCCLCompilerTool"
 12.2710 -						AdditionalIncludeDirectories=""
 12.2711 -						UsePrecompiledHeader="0"
 12.2712 -					/>
 12.2713 -				</FileConfiguration>
 12.2714 -				<FileConfiguration
 12.2715 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2716 -					>
 12.2717 -					<Tool
 12.2718 -						Name="VCCLCompilerTool"
 12.2719 -						AdditionalIncludeDirectories=""
 12.2720 -						UsePrecompiledHeader="0"
 12.2721 -					/>
 12.2722 -				</FileConfiguration>
 12.2723 -				<FileConfiguration
 12.2724 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2725 -					>
 12.2726 -					<Tool
 12.2727 -						Name="VCCLCompilerTool"
 12.2728 -						AdditionalIncludeDirectories=""
 12.2729 -						UsePrecompiledHeader="0"
 12.2730 -					/>
 12.2731 -				</FileConfiguration>
 12.2732 -			</File>
 12.2733 -			<File
 12.2734  				RelativePath="..\..\src\thread\SDL_thread.c"
 12.2735  				>
 12.2736 -				<FileConfiguration
 12.2737 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2738 -					>
 12.2739 -					<Tool
 12.2740 -						Name="VCCLCompilerTool"
 12.2741 -						AdditionalIncludeDirectories=""
 12.2742 -						UsePrecompiledHeader="0"
 12.2743 -					/>
 12.2744 -				</FileConfiguration>
 12.2745 -				<FileConfiguration
 12.2746 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2747 -					>
 12.2748 -					<Tool
 12.2749 -						Name="VCCLCompilerTool"
 12.2750 -						AdditionalIncludeDirectories=""
 12.2751 -						UsePrecompiledHeader="0"
 12.2752 -					/>
 12.2753 -				</FileConfiguration>
 12.2754 -				<FileConfiguration
 12.2755 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2756 -					>
 12.2757 -					<Tool
 12.2758 -						Name="VCCLCompilerTool"
 12.2759 -						AdditionalIncludeDirectories=""
 12.2760 -						UsePrecompiledHeader="0"
 12.2761 -					/>
 12.2762 -				</FileConfiguration>
 12.2763 -				<FileConfiguration
 12.2764 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2765 -					>
 12.2766 -					<Tool
 12.2767 -						Name="VCCLCompilerTool"
 12.2768 -						AdditionalIncludeDirectories=""
 12.2769 -						UsePrecompiledHeader="0"
 12.2770 -					/>
 12.2771 -				</FileConfiguration>
 12.2772 -				<FileConfiguration
 12.2773 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2774 -					>
 12.2775 -					<Tool
 12.2776 -						Name="VCCLCompilerTool"
 12.2777 -						AdditionalIncludeDirectories=""
 12.2778 -						UsePrecompiledHeader="0"
 12.2779 -					/>
 12.2780 -				</FileConfiguration>
 12.2781 -				<FileConfiguration
 12.2782 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2783 -					>
 12.2784 -					<Tool
 12.2785 -						Name="VCCLCompilerTool"
 12.2786 -						AdditionalIncludeDirectories=""
 12.2787 -						UsePrecompiledHeader="0"
 12.2788 -					/>
 12.2789 -				</FileConfiguration>
 12.2790  			</File>
 12.2791  			<File
 12.2792  				RelativePath="..\..\src\timer\SDL_timer.c"
 12.2793  				>
 12.2794 -				<FileConfiguration
 12.2795 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2796 -					>
 12.2797 -					<Tool
 12.2798 -						Name="VCCLCompilerTool"
 12.2799 -						AdditionalIncludeDirectories=""
 12.2800 -						UsePrecompiledHeader="0"
 12.2801 -					/>
 12.2802 -				</FileConfiguration>
 12.2803 -				<FileConfiguration
 12.2804 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2805 -					>
 12.2806 -					<Tool
 12.2807 -						Name="VCCLCompilerTool"
 12.2808 -						AdditionalIncludeDirectories=""
 12.2809 -						UsePrecompiledHeader="0"
 12.2810 -					/>
 12.2811 -				</FileConfiguration>
 12.2812 -				<FileConfiguration
 12.2813 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2814 -					>
 12.2815 -					<Tool
 12.2816 -						Name="VCCLCompilerTool"
 12.2817 -						AdditionalIncludeDirectories=""
 12.2818 -						UsePrecompiledHeader="0"
 12.2819 -					/>
 12.2820 -				</FileConfiguration>
 12.2821 -				<FileConfiguration
 12.2822 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2823 -					>
 12.2824 -					<Tool
 12.2825 -						Name="VCCLCompilerTool"
 12.2826 -						AdditionalIncludeDirectories=""
 12.2827 -						UsePrecompiledHeader="0"
 12.2828 -					/>
 12.2829 -				</FileConfiguration>
 12.2830 -				<FileConfiguration
 12.2831 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2832 -					>
 12.2833 -					<Tool
 12.2834 -						Name="VCCLCompilerTool"
 12.2835 -						AdditionalIncludeDirectories=""
 12.2836 -						UsePrecompiledHeader="0"
 12.2837 -					/>
 12.2838 -				</FileConfiguration>
 12.2839 -				<FileConfiguration
 12.2840 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2841 -					>
 12.2842 -					<Tool
 12.2843 -						Name="VCCLCompilerTool"
 12.2844 -						AdditionalIncludeDirectories=""
 12.2845 -						UsePrecompiledHeader="0"
 12.2846 -					/>
 12.2847 -				</FileConfiguration>
 12.2848 +			</File>
 12.2849 +			<File
 12.2850 +				RelativePath="..\..\src\events\SDL_touch.c"
 12.2851 +				>
 12.2852  			</File>
 12.2853  			<File
 12.2854  				RelativePath="..\..\src\video\SDL_video.c"
 12.2855  				>
 12.2856 -				<FileConfiguration
 12.2857 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2858 -					>
 12.2859 -					<Tool
 12.2860 -						Name="VCCLCompilerTool"
 12.2861 -						AdditionalIncludeDirectories=""
 12.2862 -						UsePrecompiledHeader="0"
 12.2863 -					/>
 12.2864 -				</FileConfiguration>
 12.2865 -				<FileConfiguration
 12.2866 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2867 -					>
 12.2868 -					<Tool
 12.2869 -						Name="VCCLCompilerTool"
 12.2870 -						AdditionalIncludeDirectories=""
 12.2871 -						UsePrecompiledHeader="0"
 12.2872 -					/>
 12.2873 -				</FileConfiguration>
 12.2874 -				<FileConfiguration
 12.2875 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2876 -					>
 12.2877 -					<Tool
 12.2878 -						Name="VCCLCompilerTool"
 12.2879 -						AdditionalIncludeDirectories=""
 12.2880 -						UsePrecompiledHeader="0"
 12.2881 -					/>
 12.2882 -				</FileConfiguration>
 12.2883 -				<FileConfiguration
 12.2884 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2885 -					>
 12.2886 -					<Tool
 12.2887 -						Name="VCCLCompilerTool"
 12.2888 -						AdditionalIncludeDirectories=""
 12.2889 -						UsePrecompiledHeader="0"
 12.2890 -					/>
 12.2891 -				</FileConfiguration>
 12.2892 -				<FileConfiguration
 12.2893 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2894 -					>
 12.2895 -					<Tool
 12.2896 -						Name="VCCLCompilerTool"
 12.2897 -						AdditionalIncludeDirectories=""
 12.2898 -						UsePrecompiledHeader="0"
 12.2899 -					/>
 12.2900 -				</FileConfiguration>
 12.2901 -				<FileConfiguration
 12.2902 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2903 -					>
 12.2904 -					<Tool
 12.2905 -						Name="VCCLCompilerTool"
 12.2906 -						AdditionalIncludeDirectories=""
 12.2907 -						UsePrecompiledHeader="0"
 12.2908 -					/>
 12.2909 -				</FileConfiguration>
 12.2910  			</File>
 12.2911  			<File
 12.2912  				RelativePath="..\..\src\audio\SDL_wave.c"
 12.2913  				>
 12.2914 -				<FileConfiguration
 12.2915 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2916 -					>
 12.2917 -					<Tool
 12.2918 -						Name="VCCLCompilerTool"
 12.2919 -						AdditionalIncludeDirectories=""
 12.2920 -						UsePrecompiledHeader="0"
 12.2921 -					/>
 12.2922 -				</FileConfiguration>
 12.2923 -				<FileConfiguration
 12.2924 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.2925 -					>
 12.2926 -					<Tool
 12.2927 -						Name="VCCLCompilerTool"
 12.2928 -						AdditionalIncludeDirectories=""
 12.2929 -						UsePrecompiledHeader="0"
 12.2930 -					/>
 12.2931 -				</FileConfiguration>
 12.2932 -				<FileConfiguration
 12.2933 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2934 -					>
 12.2935 -					<Tool
 12.2936 -						Name="VCCLCompilerTool"
 12.2937 -						AdditionalIncludeDirectories=""
 12.2938 -						UsePrecompiledHeader="0"
 12.2939 -					/>
 12.2940 -				</FileConfiguration>
 12.2941 -				<FileConfiguration
 12.2942 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.2943 -					>
 12.2944 -					<Tool
 12.2945 -						Name="VCCLCompilerTool"
 12.2946 -						AdditionalIncludeDirectories=""
 12.2947 -						UsePrecompiledHeader="0"
 12.2948 -					/>
 12.2949 -				</FileConfiguration>
 12.2950 -				<FileConfiguration
 12.2951 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.2952 -					>
 12.2953 -					<Tool
 12.2954 -						Name="VCCLCompilerTool"
 12.2955 -						AdditionalIncludeDirectories=""
 12.2956 -						UsePrecompiledHeader="0"
 12.2957 -					/>
 12.2958 -				</FileConfiguration>
 12.2959 -				<FileConfiguration
 12.2960 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.2961 -					>
 12.2962 -					<Tool
 12.2963 -						Name="VCCLCompilerTool"
 12.2964 -						AdditionalIncludeDirectories=""
 12.2965 -						UsePrecompiledHeader="0"
 12.2966 -					/>
 12.2967 -				</FileConfiguration>
 12.2968 +			</File>
 12.2969 +			<File
 12.2970 +				RelativePath="..\..\src\events\SDL_windowevents.c"
 12.2971 +				>
 12.2972 +			</File>
 12.2973 +			<File
 12.2974 +				RelativePath="..\..\src\core\windows\SDL_windows.c"
 12.2975 +				>
 12.2976 +			</File>
 12.2977 +			<File
 12.2978 +				RelativePath="..\..\src\video\windows\SDL_windowsclipboard.c"
 12.2979 +				>
 12.2980 +			</File>
 12.2981 +			<File
 12.2982 +				RelativePath="..\..\src\video\windows\SDL_windowsevents.c"
 12.2983 +				>
 12.2984 +			</File>
 12.2985 +			<File
 12.2986 +				RelativePath="..\..\src\video\windows\SDL_windowsgamma.c"
 12.2987 +				>
 12.2988  			</File>
 12.2989  			<File
 12.2990 -				RelativePath="..\..\src\video\wincommon\SDL_wingl.c"
 12.2991 +				RelativePath="..\..\src\video\windows\SDL_windowskeyboard.c"
 12.2992  				>
 12.2993 -				<FileConfiguration
 12.2994 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.2995 -					>
 12.2996 -					<Tool
 12.2997 -						Name="VCCLCompilerTool"
 12.2998 -						AdditionalIncludeDirectories=""
 12.2999 -						UsePrecompiledHeader="0"
 12.3000 -					/>
 12.3001 -				</FileConfiguration>
 12.3002 -				<FileConfiguration
 12.3003 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.3004 -					>
 12.3005 -					<Tool
 12.3006 -						Name="VCCLCompilerTool"
 12.3007 -						AdditionalIncludeDirectories=""
 12.3008 -						UsePrecompiledHeader="0"
 12.3009 -					/>
 12.3010 -				</FileConfiguration>
 12.3011 -				<FileConfiguration
 12.3012 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.3013 -					>
 12.3014 -					<Tool
 12.3015 -						Name="VCCLCompilerTool"
 12.3016 -						AdditionalIncludeDirectories=""
 12.3017 -						UsePrecompiledHeader="0"
 12.3018 -					/>
 12.3019 -				</FileConfiguration>
 12.3020 -				<FileConfiguration
 12.3021 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.3022 -					>
 12.3023 -					<Tool
 12.3024 -						Name="VCCLCompilerTool"
 12.3025 -						AdditionalIncludeDirectories=""
 12.3026 -						UsePrecompiledHeader="0"
 12.3027 -					/>
 12.3028 -				</FileConfiguration>
 12.3029 -				<FileConfiguration
 12.3030 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.3031 -					>
 12.3032 -					<Tool
 12.3033 -						Name="VCCLCompilerTool"
 12.3034 -						AdditionalIncludeDirectories=""
 12.3035 -						UsePrecompiledHeader="0"
 12.3036 -					/>
 12.3037 -				</FileConfiguration>
 12.3038 -				<FileConfiguration
 12.3039 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.3040 -					>
 12.3041 -					<Tool
 12.3042 -						Name="VCCLCompilerTool"
 12.3043 -						AdditionalIncludeDirectories=""
 12.3044 -						UsePrecompiledHeader="0"
 12.3045 -					/>
 12.3046 -				</FileConfiguration>
 12.3047 +			</File>
 12.3048 +			<File
 12.3049 +				RelativePath="..\..\src\video\windows\SDL_windowsmodes.c"
 12.3050 +				>
 12.3051 +			</File>
 12.3052 +			<File
 12.3053 +				RelativePath="..\..\src\video\windows\SDL_windowsmouse.c"
 12.3054 +				>
 12.3055  			</File>
 12.3056  			<File
 12.3057 -				RelativePath="..\..\src\video\SDL_yuv.c"
 12.3058 +				RelativePath="..\..\src\video\windows\SDL_windowsopengl.c"
 12.3059 +				>
 12.3060 +			</File>
 12.3061 +			<File
 12.3062 +				RelativePath="..\..\src\video\windows\SDL_windowsshape.c"
 12.3063  				>
 12.3064 -				<FileConfiguration
 12.3065 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.3066 -					>
 12.3067 -					<Tool
 12.3068 -						Name="VCCLCompilerTool"
 12.3069 -						AdditionalIncludeDirectories=""
 12.3070 -						UsePrecompiledHeader="0"
 12.3071 -					/>
 12.3072 -				</FileConfiguration>
 12.3073 -				<FileConfiguration
 12.3074 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.3075 -					>
 12.3076 -					<Tool
 12.3077 -						Name="VCCLCompilerTool"
 12.3078 -						AdditionalIncludeDirectories=""
 12.3079 -						UsePrecompiledHeader="0"
 12.3080 -					/>
 12.3081 -				</FileConfiguration>
 12.3082 -				<FileConfiguration
 12.3083 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.3084 -					>
 12.3085 -					<Tool
 12.3086 -						Name="VCCLCompilerTool"
 12.3087 -						AdditionalIncludeDirectories=""
 12.3088 -						UsePrecompiledHeader="0"
 12.3089 -					/>
 12.3090 -				</FileConfiguration>
 12.3091 -				<FileConfiguration
 12.3092 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.3093 -					>
 12.3094 -					<Tool
 12.3095 -						Name="VCCLCompilerTool"
 12.3096 -						AdditionalIncludeDirectories=""
 12.3097 -						UsePrecompiledHeader="0"
 12.3098 -					/>
 12.3099 -				</FileConfiguration>
 12.3100 -				<FileConfiguration
 12.3101 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.3102 -					>
 12.3103 -					<Tool
 12.3104 -						Name="VCCLCompilerTool"
 12.3105 -						AdditionalIncludeDirectories=""
 12.3106 -						UsePrecompiledHeader="0"
 12.3107 -					/>
 12.3108 -				</FileConfiguration>
 12.3109 -				<FileConfiguration
 12.3110 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.3111 -					>
 12.3112 -					<Tool
 12.3113 -						Name="VCCLCompilerTool"
 12.3114 -						AdditionalIncludeDirectories=""
 12.3115 -						UsePrecompiledHeader="0"
 12.3116 -					/>
 12.3117 -				</FileConfiguration>
 12.3118 +			</File>
 12.3119 +			<File
 12.3120 +				RelativePath="..\..\src\video\windows\SDL_windowsvideo.c"
 12.3121 +				>
 12.3122 +			</File>
 12.3123 +			<File
 12.3124 +				RelativePath="..\..\src\video\windows\SDL_windowswindow.c"
 12.3125 +				>
 12.3126  			</File>
 12.3127  			<File
 12.3128  				RelativePath="..\..\src\video\SDL_yuv_mmx.c"
 12.3129  				>
 12.3130 -				<FileConfiguration
 12.3131 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.3132 -					>
 12.3133 -					<Tool
 12.3134 -						Name="VCCLCompilerTool"
 12.3135 -						AdditionalIncludeDirectories=""
 12.3136 -						UsePrecompiledHeader="0"
 12.3137 -					/>
 12.3138 -				</FileConfiguration>
 12.3139 -				<FileConfiguration
 12.3140 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.3141 -					>
 12.3142 -					<Tool
 12.3143 -						Name="VCCLCompilerTool"
 12.3144 -						AdditionalIncludeDirectories=""
 12.3145 -						UsePrecompiledHeader="0"
 12.3146 -					/>
 12.3147 -				</FileConfiguration>
 12.3148 -				<FileConfiguration
 12.3149 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.3150 -					>
 12.3151 -					<Tool
 12.3152 -						Name="VCCLCompilerTool"
 12.3153 -						AdditionalIncludeDirectories=""
 12.3154 -						UsePrecompiledHeader="0"
 12.3155 -					/>
 12.3156 -				</FileConfiguration>
 12.3157 -				<FileConfiguration
 12.3158 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.3159 -					>
 12.3160 -					<Tool
 12.3161 -						Name="VCCLCompilerTool"
 12.3162 -						AdditionalIncludeDirectories=""
 12.3163 -						UsePrecompiledHeader="0"
 12.3164 -					/>
 12.3165 -				</FileConfiguration>
 12.3166 -				<FileConfiguration
 12.3167 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.3168 -					>
 12.3169 -					<Tool
 12.3170 -						Name="VCCLCompilerTool"
 12.3171 -						AdditionalIncludeDirectories=""
 12.3172 -						UsePrecompiledHeader="0"
 12.3173 -					/>
 12.3174 -				</FileConfiguration>
 12.3175 -				<FileConfiguration
 12.3176 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.3177 -					>
 12.3178 -					<Tool
 12.3179 -						Name="VCCLCompilerTool"
 12.3180 -						AdditionalIncludeDirectories=""
 12.3181 -						UsePrecompiledHeader="0"
 12.3182 -					/>
 12.3183 -				</FileConfiguration>
 12.3184  			</File>
 12.3185  			<File
 12.3186  				RelativePath="..\..\src\video\SDL_yuv_sw.c"
 12.3187  				>
 12.3188  			</File>
 12.3189  			<File
 12.3190 -				RelativePath="..\..\src\thread\win32\win_ce_semaphore.c"
 12.3191 +				RelativePath="..\..\src\thread\windows\win_ce_semaphore.c"
 12.3192  				>
 12.3193 -				<FileConfiguration
 12.3194 -					Name="Debug|Smartphone 2003 (ARMV4)"
 12.3195 -					>
 12.3196 -					<Tool
 12.3197 -						Name="VCCLCompilerTool"
 12.3198 -						AdditionalIncludeDirectories=""
 12.3199 -						UsePrecompiledHeader="0"
 12.3200 -					/>
 12.3201 -				</FileConfiguration>
 12.3202 -				<FileConfiguration
 12.3203 -					Name="Debug|Pocket PC 2003 (ARMV4)"
 12.3204 -					>
 12.3205 -					<Tool
 12.3206 -						Name="VCCLCompilerTool"
 12.3207 -						AdditionalIncludeDirectories=""
 12.3208 -						UsePrecompiledHeader="0"
 12.3209 -					/>
 12.3210 -				</FileConfiguration>
 12.3211 -				<FileConfiguration
 12.3212 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.3213 -					>
 12.3214 -					<Tool
 12.3215 -						Name="VCCLCompilerTool"
 12.3216 -						AdditionalIncludeDirectories=""
 12.3217 -						UsePrecompiledHeader="0"
 12.3218 -					/>
 12.3219 -				</FileConfiguration>
 12.3220 -				<FileConfiguration
 12.3221 -					Name="Release|Smartphone 2003 (ARMV4)"
 12.3222 -					>
 12.3223 -					<Tool
 12.3224 -						Name="VCCLCompilerTool"
 12.3225 -						AdditionalIncludeDirectories=""
 12.3226 -						UsePrecompiledHeader="0"
 12.3227 -					/>
 12.3228 -				</FileConfiguration>
 12.3229 -				<FileConfiguration
 12.3230 -					Name="Release|Pocket PC 2003 (ARMV4)"
 12.3231 -					>
 12.3232 -					<Tool
 12.3233 -						Name="VCCLCompilerTool"
 12.3234 -						AdditionalIncludeDirectories=""
 12.3235 -						UsePrecompiledHeader="0"
 12.3236 -					/>
 12.3237 -				</FileConfiguration>
 12.3238 -				<FileConfiguration
 12.3239 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 12.3240 -					>
 12.3241 -					<Tool
 12.3242 -						Name="VCCLCompilerTool"
 12.3243 -						AdditionalIncludeDirectories=""
 12.3244 -						UsePrecompiledHeader="0"
 12.3245 -					/>
 12.3246 -				</FileConfiguration>
 12.3247  			</File>
 12.3248  		</Filter>
 12.3249  		<Filter
 12.3250 @@ -3546,27 +1115,19 @@
 12.3251  			Filter="h;hpp;hxx;hm;inl"
 12.3252  			>
 12.3253  			<File
 12.3254 -				RelativePath="..\..\include\begin_code.h"
 12.3255 -				>
 12.3256 -			</File>
 12.3257 -			<File
 12.3258 -				RelativePath="..\..\src\video\blank_cursor.h"
 12.3259 +				RelativePath="..\..\src\events\blank_cursor.h"
 12.3260  				>
 12.3261  			</File>
 12.3262  			<File
 12.3263 -				RelativePath="..\..\include\close_code.h"
 12.3264 +				RelativePath="..\..\src\events\default_cursor.h"
 12.3265  				>
 12.3266  			</File>
 12.3267  			<File
 12.3268 -				RelativePath="..\..\src\video\default_cursor.h"
 12.3269 +				RelativePath="..\..\src\libm\math.h"
 12.3270  				>
 12.3271  			</File>
 12.3272  			<File
 12.3273 -				RelativePath="..\..\src\hermes\HeadMMX.h"
 12.3274 -				>
 12.3275 -			</File>
 12.3276 -			<File
 12.3277 -				RelativePath="..\..\src\hermes\HeadX86.h"
 12.3278 +				RelativePath="..\..\src\libm\math_private.h"
 12.3279  				>
 12.3280  			</File>
 12.3281  			<File
 12.3282 @@ -3574,15 +1135,27 @@
 12.3283  				>
 12.3284  			</File>
 12.3285  			<File
 12.3286 -				RelativePath="..\..\include\SDL.h"
 12.3287 +				RelativePath="..\..\src\events\scancodes_darwin.h"
 12.3288 +				>
 12.3289 +			</File>
 12.3290 +			<File
 12.3291 +				RelativePath="..\..\src\events\scancodes_linux.h"
 12.3292  				>
 12.3293  			</File>
 12.3294  			<File
 12.3295 -				RelativePath="..\..\include\SDL_active.h"
 12.3296 +				RelativePath="..\..\src\events\scancodes_windows.h"
 12.3297  				>
 12.3298  			</File>
 12.3299  			<File
 12.3300 -				RelativePath="..\..\include\SDL_audio.h"
 12.3301 +				RelativePath="..\..\src\events\scancodes_xfree86.h"
 12.3302 +				>
 12.3303 +			</File>
 12.3304 +			<File
 12.3305 +				RelativePath="..\..\src\video\SDL_alphamult.h"
 12.3306 +				>
 12.3307 +			</File>
 12.3308 +			<File
 12.3309 +				RelativePath="..\..\src\SDL_assert_c.h"
 12.3310  				>
 12.3311  			</File>
 12.3312  			<File
 12.3313 @@ -3602,27 +1175,27 @@
 12.3314  				>
 12.3315  			</File>
 12.3316  			<File
 12.3317 -				RelativePath="..\..\include\SDL_byteorder.h"
 12.3318 +				RelativePath="..\..\src\video\SDL_blit_auto.h"
 12.3319  				>
 12.3320  			</File>
 12.3321  			<File
 12.3322 -				RelativePath="..\..\include\SDL_config.h"
 12.3323 +				RelativePath="..\..\src\video\SDL_blit_copy.h"
 12.3324  				>
 12.3325  			</File>
 12.3326  			<File
 12.3327 -				RelativePath="..\..\include\SDL_config_wince.h"
 12.3328 +				RelativePath="..\..\src\video\SDL_blit_slow.h"
 12.3329  				>
 12.3330  			</File>
 12.3331  			<File
 12.3332 -				RelativePath="..\..\include\SDL_copying.h"
 12.3333 +				RelativePath="..\..\src\video\windows\SDL_ceddrawrender.h"
 12.3334  				>
 12.3335  			</File>
 12.3336  			<File
 12.3337 -				RelativePath="..\..\include\SDL_cpuinfo.h"
 12.3338 +				RelativePath="..\..\src\events\SDL_clipboardevents_c.h"
 12.3339  				>
 12.3340  			</File>
 12.3341  			<File
 12.3342 -				RelativePath="..\..\src\video\SDL_cursor_c.h"
 12.3343 +				RelativePath="..\..\src\video\windows\SDL_d3drender.h"
 12.3344  				>
 12.3345  			</File>
 12.3346  			<File
 12.3347 @@ -3630,15 +1203,11 @@
 12.3348  				>
 12.3349  			</File>
 12.3350  			<File
 12.3351 -				RelativePath="..\..\src\video\windib\SDL_dibevents_c.h"
 12.3352 +				RelativePath="..\..\src\audio\disk\SDL_diskaudio.h"
 12.3353  				>
 12.3354  			</File>
 12.3355  			<File
 12.3356 -				RelativePath="..\..\src\video\windib\SDL_dibvideo.h"
 12.3357 -				>
 12.3358 -			</File>
 12.3359 -			<File
 12.3360 -				RelativePath="..\..\src\audio\disk\SDL_diskaudio.h"
 12.3361 +				RelativePath="..\..\src\video\SDL_draw.h"
 12.3362  				>
 12.3363  			</File>
 12.3364  			<File
 12.3365 @@ -3646,22 +1215,10 @@
 12.3366  				>
 12.3367  			</File>
 12.3368  			<File
 12.3369 -				RelativePath="..\..\include\SDL_endian.h"
 12.3370 -				>
 12.3371 -			</File>
 12.3372 -			<File
 12.3373 -				RelativePath="..\..\include\SDL_error.h"
 12.3374 -				>
 12.3375 -			</File>
 12.3376 -			<File
 12.3377  				RelativePath="..\..\src\SDL_error_c.h"
 12.3378  				>
 12.3379  			</File>
 12.3380  			<File
 12.3381 -				RelativePath="..\..\include\SDL_events.h"
 12.3382 -				>
 12.3383 -			</File>
 12.3384 -			<File
 12.3385  				RelativePath="..\..\src\events\SDL_events_c.h"
 12.3386  				>
 12.3387  			</File>
 12.3388 @@ -3670,11 +1227,23 @@
 12.3389  				>
 12.3390  			</File>
 12.3391  			<File
 12.3392 -				RelativePath="..\..\src\video\gapi\sdl_gapivideo.h"
 12.3393 +				RelativePath="..\..\src\video\windows\SDL_gapirender.h"
 12.3394 +				>
 12.3395 +			</File>
 12.3396 +			<File
 12.3397 +				RelativePath="..\..\src\video\windows\SDL_gapirender_c.h"
 12.3398  				>
 12.3399  			</File>
 12.3400  			<File
 12.3401 -				RelativePath="..\..\include\SDL_getenv.h"
 12.3402 +				RelativePath="..\..\src\video\windows\SDL_gdirender.h"
 12.3403 +				>
 12.3404 +			</File>
 12.3405 +			<File
 12.3406 +				RelativePath="..\..\src\events\SDL_gesture_c.h"
 12.3407 +				>
 12.3408 +			</File>
 12.3409 +			<File
 12.3410 +				RelativePath="..\..\src\video\SDL_glesfuncs.h"
 12.3411  				>
 12.3412  			</File>
 12.3413  			<File
 12.3414 @@ -3682,7 +1251,7 @@
 12.3415  				>
 12.3416  			</File>
 12.3417  			<File
 12.3418 -				RelativePath="..\..\include\SDL_joystick.h"
 12.3419 +				RelativePath="..\..\src\haptic\SDL_haptic_c.h"
 12.3420  				>
 12.3421  			</File>
 12.3422  			<File
 12.3423 @@ -3690,11 +1259,7 @@
 12.3424  				>
 12.3425  			</File>
 12.3426  			<File
 12.3427 -				RelativePath="..\..\include\SDL_keyboard.h"
 12.3428 -				>
 12.3429 -			</File>
 12.3430 -			<File
 12.3431 -				RelativePath="..\..\include\SDL_keysym.h"
 12.3432 +				RelativePath="..\..\src\events\SDL_keyboard_c.h"
 12.3433  				>
 12.3434  			</File>
 12.3435  			<File
 12.3436 @@ -3702,39 +1267,11 @@
 12.3437  				>
 12.3438  			</File>
 12.3439  			<File
 12.3440 -				RelativePath="..\..\include\SDL_loadso.h"
 12.3441 -				>
 12.3442 -			</File>
 12.3443 -			<File
 12.3444 -				RelativePath="..\..\src\video\wincommon\SDL_lowvideo.h"
 12.3445 -				>
 12.3446 -			</File>
 12.3447 -			<File
 12.3448 -				RelativePath="..\..\include\SDL_main.h"
 12.3449 -				>
 12.3450 -			</File>
 12.3451 -			<File
 12.3452 -				RelativePath="..\..\src\video\SDL_memops.h"
 12.3453 +				RelativePath="..\..\src\events\SDL_mouse_c.h"
 12.3454  				>
 12.3455  			</File>
 12.3456  			<File
 12.3457 -				RelativePath="..\..\src\audio\SDL_mixer_MMX.h"
 12.3458 -				>
 12.3459 -			</File>
 12.3460 -			<File
 12.3461 -				RelativePath="..\..\src\audio\SDL_mixer_MMX_VC.h"
 12.3462 -				>
 12.3463 -			</File>
 12.3464 -			<File
 12.3465 -				RelativePath="..\..\include\SDL_mouse.h"
 12.3466 -				>
 12.3467 -			</File>
 12.3468 -			<File
 12.3469 -				RelativePath="..\..\include\SDL_mutex.h"
 12.3470 -				>
 12.3471 -			</File>
 12.3472 -			<File
 12.3473 -				RelativePath="..\..\include\SDL_name.h"
 12.3474 +				RelativePath="..\..\src\video\windows\SDL_msctf.h"
 12.3475  				>
 12.3476  			</File>
 12.3477  			<File
 12.3478 @@ -3742,7 +1279,7 @@
 12.3479  				>
 12.3480  			</File>
 12.3481  			<File
 12.3482 -				RelativePath="..\..\src\video\dummy\SDL_nullmouse_c.h"
 12.3483 +				RelativePath="..\..\src\video\dummy\SDL_nullrender_c.h"
 12.3484  				>
 12.3485  			</File>
 12.3486  			<File
 12.3487 @@ -3750,19 +1287,15 @@
 12.3488  				>
 12.3489  			</File>
 12.3490  			<File
 12.3491 -				RelativePath="..\..\include\SDL_opengl.h"
 12.3492 -				>
 12.3493 -			</File>
 12.3494 -			<File
 12.3495  				RelativePath="..\..\src\video\SDL_pixels_c.h"
 12.3496  				>
 12.3497  			</File>
 12.3498  			<File
 12.3499 -				RelativePath="..\..\include\SDL_platform.h"
 12.3500 +				RelativePath="..\..\src\video\SDL_rect_c.h"
 12.3501  				>
 12.3502  			</File>
 12.3503  			<File
 12.3504 -				RelativePath="..\..\include\SDL_quit.h"
 12.3505 +				RelativePath="..\..\src\video\SDL_renderer_sw.h"
 12.3506  				>
 12.3507  			</File>
 12.3508  			<File
 12.3509 @@ -3770,11 +1303,7 @@
 12.3510  				>
 12.3511  			</File>
 12.3512  			<File
 12.3513 -				RelativePath="..\..\include\SDL_rwops.h"
 12.3514 -				>
 12.3515 -			</File>
 12.3516 -			<File
 12.3517 -				RelativePath="..\..\src\video\SDL_stretch_c.h"
 12.3518 +				RelativePath="..\..\src\video\SDL_shape_internals.h"
 12.3519  				>
 12.3520  			</File>
 12.3521  			<File
 12.3522 @@ -3782,27 +1311,15 @@
 12.3523  				>
 12.3524  			</File>
 12.3525  			<File
 12.3526 -				RelativePath="..\..\src\thread\generic\SDL_syscond_c.h"
 12.3527 -				>
 12.3528 -			</File>
 12.3529 -			<File
 12.3530  				RelativePath="..\..\src\events\SDL_sysevents.h"
 12.3531  				>
 12.3532  			</File>
 12.3533  			<File
 12.3534 -				RelativePath="..\..\src\joystick\SDL_sysjoystick.h"
 12.3535 +				RelativePath="..\..\src\haptic\SDL_syshaptic.h"
 12.3536  				>
 12.3537  			</File>
 12.3538  			<File
 12.3539 -				RelativePath="..\..\src\video\wincommon\SDL_sysmouse_c.h"
 12.3540 -				>
 12.3541 -			</File>
 12.3542 -			<File
 12.3543 -				RelativePath="..\..\src\thread\generic\SDL_sysmutex_c.h"
 12.3544 -				>
 12.3545 -			</File>
 12.3546 -			<File
 12.3547 -				RelativePath="..\..\src\thread\generic\SDL_syssem_c.h"
 12.3548 +				RelativePath="..\..\src\joystick\SDL_sysjoystick.h"
 12.3549  				>
 12.3550  			</File>
 12.3551  			<File
 12.3552 @@ -3810,11 +1327,7 @@
 12.3553  				>
 12.3554  			</File>
 12.3555  			<File
 12.3556 -				RelativePath="..\..\src\thread\generic\SDL_systhread_c.h"
 12.3557 -				>
 12.3558 -			</File>
 12.3559 -			<File
 12.3560 -				RelativePath="..\..\src\thread\win32\SDL_systhread_c.h"
 12.3561 +				RelativePath="..\..\src\thread\windows\SDL_systhread_c.h"
 12.3562  				>
 12.3563  			</File>
 12.3564  			<File
 12.3565 @@ -3826,43 +1339,19 @@
 12.3566  				>
 12.3567  			</File>
 12.3568  			<File
 12.3569 -				RelativePath="..\..\include\SDL_syswm.h"
 12.3570 -				>
 12.3571 -			</File>
 12.3572 -			<File
 12.3573 -				RelativePath="..\..\src\video\wincommon\SDL_syswm_c.h"
 12.3574 -				>
 12.3575 -			</File>
 12.3576 -			<File
 12.3577 -				RelativePath="..\..\include\SDL_thread.h"
 12.3578 -				>
 12.3579 -			</File>
 12.3580 -			<File
 12.3581  				RelativePath="..\..\src\thread\SDL_thread_c.h"
 12.3582  				>
 12.3583  			</File>
 12.3584  			<File
 12.3585 -				RelativePath="..\..\include\SDL_timer.h"
 12.3586 -				>
 12.3587 -			</File>
 12.3588 -			<File
 12.3589  				RelativePath="..\..\src\timer\SDL_timer_c.h"
 12.3590  				>
 12.3591  			</File>
 12.3592  			<File
 12.3593 -				RelativePath="..\..\include\SDL_types.h"
 12.3594 +				RelativePath="..\..\src\events\SDL_touch_c.h"
 12.3595  				>
 12.3596  			</File>
 12.3597  			<File
 12.3598 -				RelativePath="..\..\include\SDL_version.h"
 12.3599 -				>
 12.3600 -			</File>
 12.3601 -			<File
 12.3602 -				RelativePath="..\..\include\SDL_video.h"
 12.3603 -				>
 12.3604 -			</File>
 12.3605 -			<File
 12.3606 -				RelativePath="..\..\src\video\windib\SDL_vkeys.h"
 12.3607 +				RelativePath="..\..\src\video\windows\SDL_vkeys.h"
 12.3608  				>
 12.3609  			</File>
 12.3610  			<File
 12.3611 @@ -3870,7 +1359,51 @@
 12.3612  				>
 12.3613  			</File>
 12.3614  			<File
 12.3615 -				RelativePath="..\..\src\video\wincommon\SDL_wingl_c.h"
 12.3616 +				RelativePath="..\..\src\events\SDL_windowevents_c.h"
 12.3617 +				>
 12.3618 +			</File>
 12.3619 +			<File
 12.3620 +				RelativePath="..\..\src\core\windows\SDL_windows.h"
 12.3621 +				>
 12.3622 +			</File>
 12.3623 +			<File
 12.3624 +				RelativePath="..\..\src\video\windows\SDL_windowsclipboard.h"
 12.3625 +				>
 12.3626 +			</File>
 12.3627 +			<File
 12.3628 +				RelativePath="..\..\src\video\windows\SDL_windowsevents.h"
 12.3629 +				>
 12.3630 +			</File>
 12.3631 +			<File
 12.3632 +				RelativePath="..\..\src\video\windows\SDL_windowsgamma.h"
 12.3633 +				>
 12.3634 +			</File>
 12.3635 +			<File
 12.3636 +				RelativePath="..\..\src\video\windows\SDL_windowskeyboard.h"
 12.3637 +				>
 12.3638 +			</File>
 12.3639 +			<File
 12.3640 +				RelativePath="..\..\src\video\windows\SDL_windowsmodes.h"
 12.3641 +				>
 12.3642 +			</File>
 12.3643 +			<File
 12.3644 +				RelativePath="..\..\src\video\windows\SDL_windowsmouse.h"
 12.3645 +				>
 12.3646 +			</File>
 12.3647 +			<File
 12.3648 +				RelativePath="..\..\src\video\windows\SDL_windowsopengl.h"
 12.3649 +				>
 12.3650 +			</File>
 12.3651 +			<File
 12.3652 +				RelativePath="..\..\src\video\windows\SDL_windowsshape.h"
 12.3653 +				>
 12.3654 +			</File>
 12.3655 +			<File
 12.3656 +				RelativePath="..\..\src\video\windows\SDL_windowsvideo.h"
 12.3657 +				>
 12.3658 +			</File>
 12.3659 +			<File
 12.3660 +				RelativePath="..\..\src\video\windows\SDL_windowswindow.h"
 12.3661  				>
 12.3662  			</File>
 12.3663  			<File
 12.3664 @@ -3878,15 +1411,11 @@
 12.3665  				>
 12.3666  			</File>
 12.3667  			<File
 12.3668 -				RelativePath="..\..\src\video\SDL_yuvfuncs.h"
 12.3669 +				RelativePath="..\..\src\thread\windows\win_ce_semaphore.h"
 12.3670  				>
 12.3671  			</File>
 12.3672  			<File
 12.3673 -				RelativePath="..\..\src\thread\win32\win_ce_semaphore.h"
 12.3674 -				>
 12.3675 -			</File>
 12.3676 -			<File
 12.3677 -				RelativePath="..\..\src\video\wincommon\wmmsg.h"
 12.3678 +				RelativePath="..\..\src\video\windows\wmmsg.h"
 12.3679  				>
 12.3680  			</File>
 12.3681  		</Filter>
    13.1 --- a/VisualCE/SDLMain/SDLmain.vcproj	Mon Jan 31 07:36:12 2011 -0800
    13.2 +++ b/VisualCE/SDLMain/SDLmain.vcproj	Tue Feb 01 00:37:02 2011 -0800
    13.3 @@ -1,10 +1,11 @@
    13.4  <?xml version="1.0" encoding="windows-1251"?>
    13.5  <VisualStudioProject
    13.6  	ProjectType="Visual C++"
    13.7 -	Version="8,00"
    13.8 +	Version="9.00"
    13.9  	Name="SDLmain"
   13.10  	ProjectGUID="{5AC88B84-5EAA-4C1E-948D-332DA34227F6}"
   13.11  	RootNamespace="SDLmain"
   13.12 +	TargetFrameworkVersion="131072"
   13.13  	>
   13.14  	<Platforms>
   13.15  		<Platform
   13.16 @@ -89,6 +90,9 @@
   13.17  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDLmain.bsc"
   13.18  			/>
   13.19  			<Tool
   13.20 +				Name="VCFxCopTool"
   13.21 +			/>
   13.22 +			<Tool
   13.23  				Name="VCCodeSignTool"
   13.24  			/>
   13.25  			<Tool
   13.26 @@ -172,6 +176,9 @@
   13.27  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDLmain.bsc"
   13.28  			/>
   13.29  			<Tool
   13.30 +				Name="VCFxCopTool"
   13.31 +			/>
   13.32 +			<Tool
   13.33  				Name="VCCodeSignTool"
   13.34  			/>
   13.35  			<Tool
   13.36 @@ -255,6 +262,9 @@
   13.37  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDLmain.bsc"
   13.38  			/>
   13.39  			<Tool
   13.40 +				Name="VCFxCopTool"
   13.41 +			/>
   13.42 +			<Tool
   13.43  				Name="VCCodeSignTool"
   13.44  			/>
   13.45  			<Tool
   13.46 @@ -338,6 +348,9 @@
   13.47  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDLmain.bsc"
   13.48  			/>
   13.49  			<Tool
   13.50 +				Name="VCFxCopTool"
   13.51 +			/>
   13.52 +			<Tool
   13.53  				Name="VCCodeSignTool"
   13.54  			/>
   13.55  			<Tool
   13.56 @@ -421,6 +434,9 @@
   13.57  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDLmain.bsc"
   13.58  			/>
   13.59  			<Tool
   13.60 +				Name="VCFxCopTool"
   13.61 +			/>
   13.62 +			<Tool
   13.63  				Name="VCCodeSignTool"
   13.64  			/>
   13.65  			<Tool
   13.66 @@ -507,6 +523,9 @@
   13.67  				OutputFile="$(PlatformName)\$(ConfigurationName)/SDLmain.bsc"
   13.68  			/>
   13.69  			<Tool
   13.70 +				Name="VCFxCopTool"
   13.71 +			/>
   13.72 +			<Tool
   13.73  				Name="VCCodeSignTool"
   13.74  			/>
   13.75  			<Tool
   13.76 @@ -530,62 +549,8 @@
   13.77  			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
   13.78  			>
   13.79  			<File
   13.80 -				RelativePath="..\..\src\main\win32\SDL_win32_main.c"
   13.81 +				RelativePath="..\..\src\main\windows\SDL_windows_main.c"
   13.82  				>
   13.83 -				<FileConfiguration
   13.84 -					Name="Debug|Smartphone 2003 (ARMV4)"
   13.85 -					>
   13.86 -					<Tool
   13.87 -						Name="VCCLCompilerTool"
   13.88 -						AdditionalIncludeDirectories=""
   13.89 -						UsePrecompiledHeader="0"
   13.90 -					/>
   13.91 -				</FileConfiguration>
   13.92 -				<FileConfiguration
   13.93 -					Name="Debug|Pocket PC 2003 (ARMV4)"
   13.94 -					>
   13.95 -					<Tool
   13.96 -						Name="VCCLCompilerTool"
   13.97 -						AdditionalIncludeDirectories=""
   13.98 -						UsePrecompiledHeader="0"
   13.99 -					/>
  13.100 -				</FileConfiguration>
  13.101 -				<FileConfiguration
  13.102 -					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  13.103 -					>
  13.104 -					<Tool
  13.105 -						Name="VCCLCompilerTool"
  13.106 -						AdditionalIncludeDirectories=""
  13.107 -						UsePrecompiledHeader="0"
  13.108 -					/>
  13.109 -				</FileConfiguration>
  13.110 -				<FileConfiguration
  13.111 -					Name="Release|Smartphone 2003 (ARMV4)"
  13.112 -					>
  13.113 -					<Tool
  13.114 -						Name="VCCLCompilerTool"
  13.115 -						AdditionalIncludeDirectories=""
  13.116 -						UsePrecompiledHeader="0"
  13.117 -					/>
  13.118 -				</FileConfiguration>
  13.119 -				<FileConfiguration
  13.120 -					Name="Release|Pocket PC 2003 (ARMV4)"
  13.121 -					>
  13.122 -					<Tool
  13.123 -						Name="VCCLCompilerTool"
  13.124 -						AdditionalIncludeDirectories=""
  13.125 -						UsePrecompiledHeader="0"
  13.126 -					/>
  13.127 -				</FileConfiguration>
  13.128 -				<FileConfiguration
  13.129 -					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
  13.130 -					>
  13.131 -					<Tool
  13.132 -						Name="VCCLCompilerTool"
  13.133 -						AdditionalIncludeDirectories=""
  13.134 -						UsePrecompiledHeader="0"
  13.135 -					/>
  13.136 -				</FileConfiguration>
  13.137  			</File>
  13.138  		</Filter>
  13.139  		<Filter
    14.1 --- a/VisualCE/loopwave/loopwave.vcproj	Mon Jan 31 07:36:12 2011 -0800
    14.2 +++ b/VisualCE/loopwave/loopwave.vcproj	Tue Feb 01 00:37:02 2011 -0800
    14.3 @@ -1,11 +1,12 @@
    14.4  <?xml version="1.0" encoding="windows-1251"?>
    14.5  <VisualStudioProject
    14.6  	ProjectType="Visual C++"
    14.7 -	Version="8,00"
    14.8 +	Version="9.00"
    14.9  	Name="loopwave"
   14.10  	ProjectGUID="{6F642636-CB11-4DC7-855E-27FE1744003A}"
   14.11  	RootNamespace="loopwave"
   14.12  	Keyword="Win32Proj"
   14.13 +	TargetFrameworkVersion="131072"
   14.14  	>
   14.15  	<Platforms>
   14.16  		<Platform
   14.17 @@ -74,6 +75,8 @@
   14.18  				GenerateDebugInformation="true"
   14.19  				ProgramDatabaseFile="$(OutDir)/loopwave.pdb"
   14.20  				SubSystem="0"
   14.21 +				RandomizedBaseAddress="1"
   14.22 +				DataExecutionPrevention="0"
   14.23  			/>
   14.24  			<Tool
   14.25  				Name="VCALinkTool"
   14.26 @@ -85,6 +88,9 @@
   14.27  				Name="VCBscMakeTool"
   14.28  			/>
   14.29  			<Tool
   14.30 +				Name="VCFxCopTool"
   14.31 +			/>
   14.32 +			<Tool
   14.33  				Name="VCCodeSignTool"
   14.34  			/>
   14.35  			<Tool
   14.36 @@ -125,7 +131,7 @@
   14.37  				Name="VCCLCompilerTool"
   14.38  				ExecutionBucket="7"
   14.39  				Optimization="0"
   14.40 -				AdditionalIncludeDirectories="..\..\nclude"
   14.41 +				AdditionalIncludeDirectories="..\..\include"
   14.42  				PreprocessorDefinitions="_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;DEBUG;_WINDOWS;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE"
   14.43  				MinimalRebuild="true"
   14.44  				RuntimeLibrary="1"
   14.45 @@ -154,6 +160,8 @@
   14.46  				GenerateDebugInformation="true"
   14.47  				ProgramDatabaseFile="$(OutDir)/loopwave.pdb"
   14.48  				SubSystem="0"
   14.49 +				RandomizedBaseAddress="1"
   14.50 +				DataExecutionPrevention="0"
   14.51  			/>
   14.52  			<Tool
   14.53  				Name="VCALinkTool"
   14.54 @@ -165,6 +173,9 @@
   14.55  				Name="VCBscMakeTool"
   14.56  			/>
   14.57  			<Tool
   14.58 +				Name="VCFxCopTool"
   14.59 +			/>
   14.60 +			<Tool
   14.61  				Name="VCCodeSignTool"
   14.62  			/>
   14.63  			<Tool
   14.64 @@ -236,6 +247,8 @@
   14.65  				SubSystem="0"
   14.66  				OptimizeReferences="2"
   14.67  				EnableCOMDATFolding="2"
   14.68 +				RandomizedBaseAddress="1"
   14.69 +				DataExecutionPrevention="0"
   14.70  			/>
   14.71  			<Tool
   14.72  				Name="VCALinkTool"
   14.73 @@ -247,6 +260,9 @@
   14.74  				Name="VCBscMakeTool"
   14.75  			/>
   14.76  			<Tool
   14.77 +				Name="VCFxCopTool"
   14.78 +			/>
   14.79 +			<Tool
   14.80  				Name="VCCodeSignTool"
   14.81  			/>
   14.82  			<Tool
   14.83 @@ -317,6 +333,8 @@
   14.84  				SubSystem="0"
   14.85  				OptimizeReferences="2"
   14.86  				EnableCOMDATFolding="2"
   14.87 +				RandomizedBaseAddress="1"
   14.88 +				DataExecutionPrevention="0"
   14.89  			/>
   14.90  			<Tool
   14.91  				Name="VCALinkTool"
   14.92 @@ -328,6 +346,9 @@
   14.93  				Name="VCBscMakeTool"
   14.94  			/>
   14.95  			<Tool
   14.96 +				Name="VCFxCopTool"
   14.97 +			/>
   14.98 +			<Tool
   14.99  				Name="VCCodeSignTool"
  14.100  			/>
  14.101  			<Tool
    15.1 --- a/VisualCE/testalpha/testalpha.vcproj	Mon Jan 31 07:36:12 2011 -0800
    15.2 +++ b/VisualCE/testalpha/testalpha.vcproj	Tue Feb 01 00:37:02 2011 -0800
    15.3 @@ -1,10 +1,11 @@
    15.4  <?xml version="1.0" encoding="windows-1251"?>
    15.5  <VisualStudioProject
    15.6  	ProjectType="Visual C++"
    15.7 -	Version="8,00"
    15.8 +	Version="9.00"
    15.9  	Name="testalpha"
   15.10  	ProjectGUID="{DF401CB3-6F70-4485-996B-B7C357CF7EE7}"
   15.11  	RootNamespace="testalpha"
   15.12 +	TargetFrameworkVersion="131072"
   15.13  	>
   15.14  	<Platforms>
   15.15  		<Platform
   15.16 @@ -94,6 +95,8 @@
   15.17  				StackCommitSize="4096"
   15.18  				EntryPointSymbol="WinMainCRTStartup"
   15.19  				BaseAddress="0x00010000"
   15.20 +				RandomizedBaseAddress="1"
   15.21 +				DataExecutionPrevention="0"
   15.22  			/>
   15.23  			<Tool
   15.24  				Name="VCALinkTool"
   15.25 @@ -107,6 +110,9 @@
   15.26  				OutputFile="$(PlatformName)\$(ConfigurationName)/testalpha.bsc"
   15.27  			/>
   15.28  			<Tool
   15.29 +				Name="VCFxCopTool"
   15.30 +			/>
   15.31 +			<Tool
   15.32  				Name="VCCodeSignTool"
   15.33  			/>
   15.34  			<Tool
   15.35 @@ -195,6 +201,8 @@
   15.36  				StackCommitSize="4096"
   15.37  				EntryPointSymbol="WinMainCRTStartup"
   15.38  				BaseAddress="0x00010000"
   15.39 +				RandomizedBaseAddress="1"
   15.40 +				DataExecutionPrevention="0"
   15.41  			/>
   15.42  			<Tool
   15.43  				Name="VCALinkTool"
   15.44 @@ -208,6 +216,9 @@
   15.45  				OutputFile="$(PlatformName)\$(ConfigurationName)/testalpha.bsc"
   15.46  			/>
   15.47  			<Tool
   15.48 +				Name="VCFxCopTool"
   15.49 +			/>
   15.50 +			<Tool
   15.51  				Name="VCCodeSignTool"
   15.52  			/>
   15.53  			<Tool
   15.54 @@ -300,6 +311,8 @@
   15.55  				LinkTimeCodeGeneration="1"
   15.56  				EntryPointSymbol="WinMainCRTStartup"
   15.57  				BaseAddress="0x00010000"
   15.58 +				RandomizedBaseAddress="1"
   15.59 +				DataExecutionPrevention="0"
   15.60  			/>
   15.61  			<Tool
   15.62  				Name="VCALinkTool"
   15.63 @@ -313,6 +326,9 @@
   15.64  				OutputFile="$(PlatformName)\$(ConfigurationName)/testalpha.bsc"
   15.65  			/>
   15.66  			<Tool
   15.67 +				Name="VCFxCopTool"
   15.68 +			/>
   15.69 +			<Tool
   15.70  				Name="VCCodeSignTool"
   15.71  			/>
   15.72  			<Tool
   15.73 @@ -400,6 +416,8 @@
   15.74  				StackCommitSize="4096"
   15.75  				EntryPointSymbol="WinMainCRTStartup"
   15.76  				BaseAddress="0x00010000"
   15.77 +				RandomizedBaseAddress="1"
   15.78 +				DataExecutionPrevention="0"
   15.79  			/>
   15.80  			<Tool
   15.81  				Name="VCALinkTool"
   15.82 @@ -413,6 +431,9 @@
   15.83  				OutputFile="$(PlatformName)\$(ConfigurationName)/testalpha.bsc"
   15.84  			/>
   15.85  			<Tool
   15.86 +				Name="VCFxCopTool"
   15.87 +			/>
   15.88 +			<Tool
   15.89  				Name="VCCodeSignTool"
   15.90  			/>
   15.91  			<Tool
   15.92 @@ -500,6 +521,8 @@
   15.93  				StackCommitSize="4096"
   15.94  				EntryPointSymbol="WinMainCRTStartup"
   15.95  				BaseAddress="0x00010000"
   15.96 +				RandomizedBaseAddress="1"
   15.97 +				DataExecutionPrevention="0"
   15.98  			/>
   15.99  			<Tool
  15.100  				Name="VCALinkTool"
  15.101 @@ -513,6 +536,9 @@
  15.102  				OutputFile="$(PlatformName)\$(ConfigurationName)/testalpha.bsc"
  15.103  			/>
  15.104  			<Tool
  15.105 +				Name="VCFxCopTool"
  15.106 +			/>
  15.107 +			<Tool
  15.108  				Name="VCCodeSignTool"
  15.109  			/>
  15.110  			<Tool
  15.111 @@ -600,6 +626,8 @@
  15.112  				StackCommitSize="4096"
  15.113  				EntryPointSymbol="WinMainCRTStartup"
  15.114  				BaseAddress="0x00010000"
  15.115 +				RandomizedBaseAddress="1"
  15.116 +				DataExecutionPrevention="0"
  15.117  			/>
  15.118  			<Tool
  15.119  				Name="VCALinkTool"
  15.120 @@ -613,6 +641,9 @@
  15.121  				OutputFile="$(PlatformName)\$(ConfigurationName)/testalpha.bsc"
  15.122  			/>
  15.123  			<Tool
  15.124 +				Name="VCFxCopTool"
  15.125 +			/>
  15.126 +			<Tool
  15.127  				Name="VCCodeSignTool"
  15.128  			/>
  15.129  			<Tool
    16.1 --- a/VisualCE/testtimer/testtimer.vcproj	Mon Jan 31 07:36:12 2011 -0800
    16.2 +++ b/VisualCE/testtimer/testtimer.vcproj	Tue Feb 01 00:37:02 2011 -0800
    16.3 @@ -1,11 +1,12 @@
    16.4  <?xml version="1.0" encoding="windows-1251"?>
    16.5  <VisualStudioProject
    16.6  	ProjectType="Visual C++"
    16.7 -	Version="8,00"
    16.8 +	Version="9.00"
    16.9  	Name="testtimer"
   16.10  	ProjectGUID="{D482D7EE-6FF0-4254-9027-C59F8F03AB1F}"
   16.11  	RootNamespace="testtimer"
   16.12  	Keyword="Win32Proj"
   16.13 +	TargetFrameworkVersion="131072"
   16.14  	>
   16.15  	<Platforms>
   16.16  		<Platform
   16.17 @@ -74,6 +75,8 @@
   16.18  				GenerateDebugInformation="true"
   16.19  				ProgramDatabaseFile="$(OutDir)/testtimer.pdb"
   16.20  				SubSystem="0"
   16.21 +				RandomizedBaseAddress="1"
   16.22 +				DataExecutionPrevention="0"
   16.23  			/>
   16.24  			<Tool
   16.25  				Name="VCALinkTool"
   16.26 @@ -85,6 +88,9 @@
   16.27  				Name="VCBscMakeTool"
   16.28  			/>
   16.29  			<Tool
   16.30 +				Name="VCFxCopTool"
   16.31 +			/>
   16.32 +			<Tool
   16.33  				Name="VCCodeSignTool"
   16.34  			/>
   16.35  			<Tool
   16.36 @@ -125,6 +131,7 @@
   16.37  				Name="VCCLCompilerTool"
   16.38  				ExecutionBucket="7"
   16.39  				Optimization="0"
   16.40 +				AdditionalIncludeDirectories="..\..\include"
   16.41  				PreprocessorDefinitions="_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;DEBUG;_WINDOWS;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE"
   16.42  				MinimalRebuild="true"
   16.43  				RuntimeLibrary="1"
   16.44 @@ -153,6 +160,8 @@
   16.45  				GenerateDebugInformation="true"
   16.46  				ProgramDatabaseFile="$(OutDir)/testtimer.pdb"
   16.47  				SubSystem="0"
   16.48 +				RandomizedBaseAddress="1"
   16.49 +				DataExecutionPrevention="0"
   16.50  			/>
   16.51  			<Tool
   16.52  				Name="VCALinkTool"
   16.53 @@ -164,6 +173,9 @@
   16.54  				Name="VCBscMakeTool"
   16.55  			/>
   16.56  			<Tool
   16.57 +				Name="VCFxCopTool"
   16.58 +			/>
   16.59 +			<Tool
   16.60  				Name="VCCodeSignTool"
   16.61  			/>
   16.62  			<Tool
   16.63 @@ -235,6 +247,8 @@
   16.64  				SubSystem="0"
   16.65  				OptimizeReferences="2"
   16.66  				EnableCOMDATFolding="2"
   16.67 +				RandomizedBaseAddress="1"
   16.68 +				DataExecutionPrevention="0"
   16.69  			/>
   16.70  			<Tool
   16.71  				Name="VCALinkTool"
   16.72 @@ -246,6 +260,9 @@
   16.73  				Name="VCBscMakeTool"
   16.74  			/>
   16.75  			<Tool
   16.76 +				Name="VCFxCopTool"
   16.77 +			/>
   16.78 +			<Tool
   16.79  				Name="VCCodeSignTool"
   16.80  			/>
   16.81  			<Tool
   16.82 @@ -286,6 +303,7 @@
   16.83  				Name="VCCLCompilerTool"
   16.84  				ExecutionBucket="7"
   16.85  				Optimization="2"
   16.86 +				AdditionalIncludeDirectories="..\..\include"
   16.87  				PreprocessorDefinitions="NDEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;_WINDOWS;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE"
   16.88  				RuntimeLibrary="0"
   16.89  				UsePrecompiledHeader="0"
   16.90 @@ -315,6 +333,8 @@
   16.91  				SubSystem="0"
   16.92  				OptimizeReferences="2"
   16.93  				EnableCOMDATFolding="2"
   16.94 +				RandomizedBaseAddress="1"
   16.95 +				DataExecutionPrevention="0"
   16.96  			/>
   16.97  			<Tool
   16.98  				Name="VCALinkTool"
   16.99 @@ -326,6 +346,9 @@
  16.100  				Name="VCBscMakeTool"
  16.101  			/>
  16.102  			<Tool
  16.103 +				Name="VCFxCopTool"
  16.104 +			/>
  16.105 +			<Tool
  16.106  				Name="VCCodeSignTool"
  16.107  			/>
  16.108  			<Tool
    17.1 --- a/VisualCE/testwin/testwin.vcproj	Mon Jan 31 07:36:12 2011 -0800
    17.2 +++ b/VisualCE/testwin/testwin.vcproj	Tue Feb 01 00:37:02 2011 -0800
    17.3 @@ -1,10 +1,11 @@
    17.4  <?xml version="1.0" encoding="windows-1251"?>
    17.5  <VisualStudioProject
    17.6  	ProjectType="Visual C++"
    17.7 -	Version="8,00"
    17.8 +	Version="9.00"
    17.9  	Name="testwin"
   17.10  	ProjectGUID="{DC516978-88CB-4F9A-A39A-C351C258613B}"
   17.11  	RootNamespace="testwin"
   17.12 +	TargetFrameworkVersion="131072"
   17.13  	>
   17.14  	<Platforms>
   17.15  		<Platform
   17.16 @@ -93,6 +94,8 @@
   17.17  				StackCommitSize="4096"
   17.18  				EntryPointSymbol="WinMainCRTStartup"
   17.19  				BaseAddress="0x00010000"
   17.20 +				RandomizedBaseAddress="1"
   17.21 +				DataExecutionPrevention="0"
   17.22  			/>
   17.23  			<Tool
   17.24  				Name="VCALinkTool"
   17.25 @@ -106,6 +109,9 @@
   17.26  				OutputFile="$(PlatformName)\$(ConfigurationName)/testwin.bsc"
   17.27  			/>
   17.28  			<Tool
   17.29 +				Name="VCFxCopTool"
   17.30 +			/>
   17.31 +			<Tool
   17.32  				Name="VCCodeSignTool"
   17.33  			/>
   17.34  			<Tool
   17.35 @@ -194,6 +200,8 @@
   17.36  				StackCommitSize="4096"
   17.37  				EntryPointSymbol="WinMainCRTStartup"
   17.38  				BaseAddress="0x00010000"
   17.39 +				RandomizedBaseAddress="1"
   17.40 +				DataExecutionPrevention="0"
   17.41  			/>
   17.42  			<Tool
   17.43  				Name="VCALinkTool"
   17.44 @@ -207,6 +215,9 @@
   17.45  				OutputFile="$(PlatformName)\$(ConfigurationName)/testwin.bsc"
   17.46  			/>
   17.47  			<Tool
   17.48 +				Name="VCFxCopTool"
   17.49 +			/>
   17.50 +			<Tool
   17.51  				Name="VCCodeSignTool"
   17.52  			/>
   17.53  			<Tool
   17.54 @@ -295,6 +306,8 @@
   17.55  				StackCommitSize="4096"
   17.56  				EntryPointSymbol="WinMainCRTStartup"
   17.57  				BaseAddress="0x00010000"
   17.58 +				RandomizedBaseAddress="1"
   17.59 +				DataExecutionPrevention="0"
   17.60  			/>
   17.61  			<Tool
   17.62  				Name="VCALinkTool"
   17.63 @@ -308,6 +321,9 @@
   17.64  				OutputFile="$(PlatformName)\$(ConfigurationName)/testwin.bsc"
   17.65  			/>
   17.66  			<Tool
   17.67 +				Name="VCFxCopTool"
   17.68 +			/>
   17.69 +			<Tool
   17.70  				Name="VCCodeSignTool"
   17.71  			/>
   17.72  			<Tool
   17.73 @@ -395,6 +411,8 @@
   17.74  				StackCommitSize="4096"
   17.75  				EntryPointSymbol="WinMainCRTStartup"
   17.76  				BaseAddress="0x00010000"
   17.77 +				RandomizedBaseAddress="1"
   17.78 +				DataExecutionPrevention="0"
   17.79  			/>
   17.80  			<Tool
   17.81  				Name="VCALinkTool"
   17.82 @@ -408,6 +426,9 @@
   17.83  				OutputFile="$(PlatformName)\$(ConfigurationName)/testwin.bsc"
   17.84  			/>
   17.85  			<Tool
   17.86 +				Name="VCFxCopTool"
   17.87 +			/>
   17.88 +			<Tool
   17.89  				Name="VCCodeSignTool"
   17.90  			/>
   17.91  			<Tool
   17.92 @@ -495,6 +516,8 @@
   17.93  				StackCommitSize="4096"
   17.94  				EntryPointSymbol="WinMainCRTStartup"
   17.95  				BaseAddress="0x00010000"
   17.96 +				RandomizedBaseAddress="1"
   17.97 +				DataExecutionPrevention="0"
   17.98  			/>
   17.99  			<Tool
  17.100  				Name="VCALinkTool"
  17.101 @@ -508,6 +531,9 @@
  17.102  				OutputFile="$(PlatformName)\$(ConfigurationName)/testwin.bsc"
  17.103  			/>
  17.104  			<Tool
  17.105 +				Name="VCFxCopTool"
  17.106 +			/>
  17.107 +			<Tool
  17.108  				Name="VCCodeSignTool"
  17.109  			/>
  17.110  			<Tool
  17.111 @@ -595,6 +621,8 @@
  17.112  				StackCommitSize="4096"
  17.113  				EntryPointSymbol="WinMainCRTStartup"
  17.114  				BaseAddress="0x00010000"
  17.115 +				RandomizedBaseAddress="1"
  17.116 +				DataExecutionPrevention="0"
  17.117  			/>
  17.118  			<Tool
  17.119  				Name="VCALinkTool"
  17.120 @@ -608,6 +636,9 @@
  17.121  				OutputFile="$(PlatformName)\$(ConfigurationName)/testwin.bsc"
  17.122  			/>
  17.123  			<Tool
  17.124 +				Name="VCFxCopTool"
  17.125 +			/>
  17.126 +			<Tool
  17.127  				Name="VCCodeSignTool"
  17.128  			/>
  17.129  			<Tool
    18.1 --- a/Xcode-iPhoneOS/Demos/src/keyboard.c	Mon Jan 31 07:36:12 2011 -0800
    18.2 +++ b/Xcode-iPhoneOS/Demos/src/keyboard.c	Tue Feb 01 00:37:02 2011 -0800
    18.3 @@ -34,7 +34,7 @@
    18.4  */
    18.5  typedef struct
    18.6  {
    18.7 -    SDL_scancode scancode;      /* scancode of the key we want to map */
    18.8 +    SDL_ScanCode scancode;      /* scancode of the key we want to map */
    18.9      int allow_no_mod;           /* is the map valid if the key has no modifiers? */
   18.10      SDLMod mod;                 /* what modifiers are allowed for the mapping */
   18.11      int index;                  /* what index in the font does the scancode map to */
   18.12 @@ -103,7 +103,7 @@
   18.13  };
   18.14  
   18.15  /*
   18.16 -	This function maps an SDL_keysym to an index in the bitmap font.
   18.17 +	This function maps an SDL_KeySym to an index in the bitmap font.
   18.18  	It does so by scanning through the font mapping table one entry
   18.19  	at a time.
   18.20   
   18.21 @@ -113,7 +113,7 @@
   18.22  	If there is no entry for the key, -1 is returned
   18.23  */
   18.24  int
   18.25 -keyToIndex(SDL_keysym key)
   18.26 +keyToIndex(SDL_KeySym key)
   18.27  {
   18.28      int i, index = -1;
   18.29      for (i = 0; i < TABLE_SIZE; i++) {
   18.30 @@ -240,7 +240,7 @@
   18.31      SDL_Window *window;
   18.32      SDL_Event event;            /* last event received */
   18.33      SDLMod mod;                 /* key modifiers of last key we pushed */
   18.34 -    SDL_scancode scancode;      /* scancode of last key we pushed */
   18.35 +    SDL_ScanCode scancode;      /* scancode of last key we pushed */
   18.36  
   18.37      if (SDL_Init(SDL_INIT_VIDEO) < 0) {
   18.38          printf("Error initializing SDL: %s", SDL_GetError());
    20.1 --- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj	Mon Jan 31 07:36:12 2011 -0800
    20.2 +++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj	Tue Feb 01 00:37:02 2011 -0800
    20.3 @@ -123,6 +123,10 @@
    20.4  		00D8DA2A1195093100638393 /* testsdl.c in Sources */ = {isa = PBXBuildFile; fileRef = 00D8DA1A1195093100638393 /* testsdl.c */; };
    20.5  		044E5F8511E6051C0076F181 /* SDL_clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 044E5F8411E6051C0076F181 /* SDL_clipboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
    20.6  		044E5F8611E6051C0076F181 /* SDL_clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 044E5F8411E6051C0076F181 /* SDL_clipboard.h */; };
    20.7 +		0469A10B12EE4BF100B846D6 /* SDL_blendmode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0469A10912EE4BF100B846D6 /* SDL_blendmode.h */; settings = {ATTRIBUTES = (Public, ); }; };
    20.8 +		0469A10C12EE4BF100B846D6 /* SDL_scalemode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0469A10A12EE4BF100B846D6 /* SDL_scalemode.h */; settings = {ATTRIBUTES = (Public, ); }; };
    20.9 +		0469A10D12EE4BF100B846D6 /* SDL_blendmode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0469A10912EE4BF100B846D6 /* SDL_blendmode.h */; };
   20.10 +		0469A10E12EE4BF100B846D6 /* SDL_scalemode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0469A10A12EE4BF100B846D6 /* SDL_scalemode.h */; };
   20.11  		04BD000812E6671800899322 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD8812E6671700899322 /* SDL_diskaudio.c */; };
   20.12  		04BD000912E6671800899322 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD8912E6671700899322 /* SDL_diskaudio.h */; };
   20.13  		04BD001012E6671800899322 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD9412E6671700899322 /* SDL_dummyaudio.c */; };
   20.14 @@ -578,7 +582,7 @@
   20.15  		04DEA57311E6006A00386CAC /* SDL_input.h in Headers */ = {isa = PBXBuildFile; fileRef = 04DEA56F11E6006A00386CAC /* SDL_input.h */; };
   20.16  		04F2AF691104AC4500D6DDF7 /* SDL_assert.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F2AF681104AC4500D6DDF7 /* SDL_assert.h */; settings = {ATTRIBUTES = (Public, ); }; };
   20.17  		04F2AF6A1104AC4500D6DDF7 /* SDL_assert.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F2AF681104AC4500D6DDF7 /* SDL_assert.h */; };
   20.18 -		453773821207C518002F0F45 /* SDL_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = 453773811207C518002F0F45 /* SDL_shape.h */; };
   20.19 +		453773821207C518002F0F45 /* SDL_shape.h in Headers */ = {isa = PBXBuildFile; fileRef = 453773811207C518002F0F45 /* SDL_shape.h */; settings = {ATTRIBUTES = (Public, ); }; };
   20.20  		8CB0A77811F6A87F00CBA2DE /* SDL_gesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CB0A77611F6A87F00CBA2DE /* SDL_gesture.h */; settings = {ATTRIBUTES = (Public, ); }; };
   20.21  		8CB0A77911F6A87F00CBA2DE /* SDL_touch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CB0A77711F6A87F00CBA2DE /* SDL_touch.h */; settings = {ATTRIBUTES = (Public, ); }; };
   20.22  		BECDF6760761BA81005FE872 /* SDL_cpuinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = B2CF8DC405C444E400E5DC7F /* SDL_cpuinfo.h */; };
   20.23 @@ -711,6 +715,8 @@
   20.24  		00D8DA1A1195093100638393 /* testsdl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testsdl.c; path = ../../test/automated/testsdl.c; sourceTree = SOURCE_ROOT; };
   20.25  		00F5D79E0990CA0D0051C449 /* UniversalBinaryNotes.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = UniversalBinaryNotes.rtf; sourceTree = "<group>"; };
   20.26  		044E5F8411E6051C0076F181 /* SDL_clipboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_clipboard.h; path = ../../include/SDL_clipboard.h; sourceTree = SOURCE_ROOT; };
   20.27 +		0469A10912EE4BF100B846D6 /* SDL_blendmode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_blendmode.h; path = ../../include/SDL_blendmode.h; sourceTree = SOURCE_ROOT; };
   20.28 +		0469A10A12EE4BF100B846D6 /* SDL_scalemode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_scalemode.h; path = ../../include/SDL_scalemode.h; sourceTree = SOURCE_ROOT; };
   20.29  		04BDFD7412E6671700899322 /* SDL_atomic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_atomic.c; sourceTree = "<group>"; };
   20.30  		04BDFD7512E6671700899322 /* SDL_spinlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_spinlock.c; sourceTree = "<group>"; };
   20.31  		04BDFD8812E6671700899322 /* SDL_diskaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_diskaudio.c; sourceTree = "<group>"; };
   20.32 @@ -1141,14 +1147,13 @@
   20.33  		0153844A006D81B07F000001 /* Public Headers */ = {
   20.34  			isa = PBXGroup;
   20.35  			children = (
   20.36 -				8CB0A77611F6A87F00CBA2DE /* SDL_gesture.h */,
   20.37 -				8CB0A77711F6A87F00CBA2DE /* SDL_touch.h */,
   20.38  				0C5AF5E501191D2B7F000001 /* begin_code.h */,
   20.39  				0C5AF5E601191D2B7F000001 /* close_code.h */,
   20.40  				0C5AF5FF01191D2B7F000001 /* SDL.h */,
   20.41  				04F2AF681104AC4500D6DDF7 /* SDL_assert.h */,
   20.42  				00CFA67A106B44CE00758660 /* SDL_atomic.h */,
   20.43  				0C5AF5E801191D2B7F000001 /* SDL_audio.h */,
   20.44 +				0469A10912EE4BF100B846D6 /* SDL_blendmode.h */,
   20.45  				044E5F8411E6051C0076F181 /* SDL_clipboard.h */,
   20.46  				00CFA67B106B44CE00758660 /* SDL_compat.h */,
   20.47  				00162D3709BD1FA90037C8D0 /* SDL_config.h */,
   20.48 @@ -1158,6 +1163,7 @@
   20.49  				0C5AF5EC01191D2B7F000001 /* SDL_endian.h */,
   20.50  				0C5AF5ED01191D2B7F000001 /* SDL_error.h */,
   20.51  				0C5AF5EE01191D2B7F000001 /* SDL_events.h */,
   20.52 +				8CB0A77611F6A87F00CBA2DE /* SDL_gesture.h */,
   20.53  				00CFA67C106B44CE00758660 /* SDL_haptic.h */,
   20.54  				04DEA56F11E6006A00386CAC /* SDL_input.h */,
   20.55  				0C5AF5F001191D2B7F000001 /* SDL_joystick.h */,
   20.56 @@ -1176,6 +1182,7 @@
   20.57  				00CFA67F106B44CE00758660 /* SDL_rect.h */,
   20.58  				00A6EBD91078D569001EEA06 /* SDL_revision.h */,
   20.59  				0C5AF5F801191D2B7F000001 /* SDL_rwops.h */,
   20.60 +				0469A10A12EE4BF100B846D6 /* SDL_scalemode.h */,
   20.61  				00CFA680106B44CE00758660 /* SDL_scancode.h */,
   20.62  				453773811207C518002F0F45 /* SDL_shape.h */,
   20.63  				00162D3909BD1FA90037C8D0 /* SDL_stdinc.h */,
   20.64 @@ -1183,6 +1190,7 @@
   20.65  				0C5AF5F901191D2B7F000001 /* SDL_syswm.h */,
   20.66  				0C5AF5FA01191D2B7F000001 /* SDL_thread.h */,
   20.67  				0C5AF5FB01191D2B7F000001 /* SDL_timer.h */,
   20.68 +				8CB0A77711F6A87F00CBA2DE /* SDL_touch.h */,
   20.69  				0C5AF5FC01191D2B7F000001 /* SDL_types.h */,
   20.70  				0C5AF5FD01191D2B7F000001 /* SDL_version.h */,
   20.71  				0C5AF5FE01191D2B7F000001 /* SDL_video.h */,
   20.72 @@ -1952,6 +1960,8 @@
   20.73  				04BD020712E6671800899322 /* Xvlib.h in Headers */,
   20.74  				04BD020812E6671800899322 /* Xvproto.h in Headers */,
   20.75  				04BD021512E6671800899322 /* Xvlibint.h in Headers */,
   20.76 +				0469A10B12EE4BF100B846D6 /* SDL_blendmode.h in Headers */,
   20.77 +				0469A10C12EE4BF100B846D6 /* SDL_scalemode.h in Headers */,
   20.78  			);
   20.79  			runOnlyForDeploymentPostprocessing = 0;
   20.80  		};
   20.81 @@ -2080,6 +2090,8 @@
   20.82  				04BD041F12E6671800899322 /* Xvlib.h in Headers */,
   20.83  				04BD042012E6671800899322 /* Xvproto.h in Headers */,
   20.84  				04BD042C12E6671800899322 /* Xvlibint.h in Headers */,
   20.85 +				0469A10D12EE4BF100B846D6 /* SDL_blendmode.h in Headers */,
   20.86 +				0469A10E12EE4BF100B846D6 /* SDL_scalemode.h in Headers */,
   20.87  			);
   20.88  			runOnlyForDeploymentPostprocessing = 0;
   20.89  		};
   20.90 @@ -2280,7 +2292,7 @@
   20.91  			);
   20.92  			runOnlyForDeploymentPostprocessing = 0;
   20.93  			shellPath = /bin/sh;
   20.94 -			shellScript = "# The underlying scripts require calling hg to get revision info.\n# Since hg may not be in the standard Xcode path, I am sourcing .bashrc\n# But I don't know what to do if people are using other shells.\nif test -f ~/.bash_profile; then source ~/.bash_profile; fi\nif test -f ~/.bashrc; then source ~/.bashrc; fi\nsh ../../build-scripts/updaterev.sh\n";
   20.95 +			shellScript = "# The official HG installer puts the binary in /usr/local/bin, so add that\n# to Xcode's path and see if the hg executable is found. Otherwise, source\n# the user's bash settings file as a last resort.\nPATH=$PATH:/usr/local/bin\nif ! which -s hg ; then\n    if test -f ~/.bash_profile; then source ~/.bash_profile; fi\nfi\nsh ../../build-scripts/updaterev.sh\n";
   20.96  		};
   20.97  		0083103E1072EA5700A531F1 /* ShellScript */ = {
   20.98  			isa = PBXShellScriptBuildPhase;
    21.1 --- a/acinclude/libtool.m4	Mon Jan 31 07:36:12 2011 -0800
    21.2 +++ b/acinclude/libtool.m4	Tue Feb 01 00:37:02 2011 -0800
    21.3 @@ -3014,7 +3014,7 @@
    21.4      lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
    21.5      lt_cv_file_magic_cmd='func_win32_libid'
    21.6    else
    21.7 -    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
    21.8 +    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
    21.9      lt_cv_file_magic_cmd='$OBJDUMP -f'
   21.10    fi
   21.11    lt_cv_deplibs_check_method=pass_all
    22.1 --- a/build-scripts/ltmain.sh	Mon Jan 31 07:36:12 2011 -0800
    22.2 +++ b/build-scripts/ltmain.sh	Tue Feb 01 00:37:02 2011 -0800
    22.3 @@ -2560,7 +2560,7 @@
    22.4      ;;
    22.5    *ar\ archive*) # could be an import, or static
    22.6      if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
    22.7 -       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
    22.8 +       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null ; then
    22.9        win32_nmres=`eval $NM -f posix -A $1 |
   22.10  	$SED -n -e '
   22.11  	    1,100{
    23.1 --- a/configure.in	Mon Jan 31 07:36:12 2011 -0800
    23.2 +++ b/configure.in	Tue Feb 01 00:37:02 2011 -0800
    23.3 @@ -301,6 +301,7 @@
    23.4      int a;
    23.5      void *x, *y, *z;
    23.6      __sync_lock_test_and_set(&a, 4);
    23.7 +    __sync_lock_test_and_set(&x, y);
    23.8      __sync_fetch_and_add(&a, 1);
    23.9      __sync_bool_compare_and_swap(&a, 5, 10);
   23.10      __sync_bool_compare_and_swap(&x, y, z);
   23.11 @@ -317,6 +318,7 @@
   23.12          ],[
   23.13          int a;
   23.14          __sync_lock_test_and_set(&a, 1);
   23.15 +        __sync_lock_release(&a);
   23.16          ],[
   23.17          have_gcc_sync_lock_test_and_set=yes
   23.18          ])
   23.19 @@ -2446,6 +2448,10 @@
   23.20          CheckWINDOWS
   23.21          CheckWINDOWSGL
   23.22          CheckDIRECTX
   23.23 +
   23.24 +        # Set up the core platform files
   23.25 +        SOURCES="$SOURCES $srcdir/src/core/windows/*.c"
   23.26 +
   23.27          # Set up files for the video library
   23.28          if test x$enable_video = xyes; then
   23.29              AC_DEFINE(SDL_VIDEO_DRIVER_WINDOWS)
   23.30 @@ -2662,32 +2668,6 @@
   23.31              EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
   23.32          fi
   23.33          ;;
   23.34 -    *-riscos)
   23.35 -        ARCH=riscos
   23.36 -        CheckOSS
   23.37 -        CheckPTHREAD
   23.38 -        # Set up files for the video library
   23.39 -        if test x$enable_video = xyes; then
   23.40 -            AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS)
   23.41 -            SOURCES="$SOURCES $srcdir/src/video/riscos/*.c"
   23.42 -            SOURCES="$SOURCES $srcdir/src/video/riscos/*.S"
   23.43 -            have_video=yes
   23.44 -        fi
   23.45 -        # Set up files for the joystick library
   23.46 -        if test x$enable_joystick = xyes; then
   23.47 -            AC_DEFINE(SDL_JOYSTICK_RISCOS)
   23.48 -            SOURCES="$SOURCES $srcdir/src/joystick/riscos/*.c"
   23.49 -            have_joystick=yes
   23.50 -        fi
   23.51 -        # Set up files for the timer library
   23.52 -        if test x$enable_timers = xyes; then
   23.53 -            AC_DEFINE(SDL_TIMER_RISCOS)
   23.54 -            SOURCES="$SOURCES $srcdir/src/timer/riscos/*.c"
   23.55 -            have_timers=yes
   23.56 -        fi
   23.57 -        # The RISC OS platform requires special setup.
   23.58 -        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ljpeg -ltiff -lpng -lz"
   23.59 -        ;;
   23.60      *)
   23.61          AC_MSG_ERROR([
   23.62  *** Unsupported host:  Please add to configure.in
   23.63 @@ -2732,10 +2712,10 @@
   23.64  fi
   23.65  
   23.66  OBJECTS=`echo $SOURCES`
   23.67 -DEPENDS=`echo $SOURCES`
   23.68 +DEPENDS=`echo $SOURCES | tr ' ' '\n'`
   23.69  for EXT in asm cc m c S; do
   23.70      OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'`
   23.71 -    DEPENDS=`echo "$DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT,\\\\
   23.72 +    DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\
   23.73  \\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\
   23.74  	\\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
   23.75  done
    24.1 --- a/include/SDL.h	Mon Jan 31 07:36:12 2011 -0800
    24.2 +++ b/include/SDL.h	Tue Feb 01 00:37:02 2011 -0800
    24.3 @@ -116,7 +116,6 @@
    24.4  #define SDL_INIT_JOYSTICK       0x00000200
    24.5  #define SDL_INIT_HAPTIC         0x00001000
    24.6  #define SDL_INIT_NOPARACHUTE    0x00100000      /**< Don't catch fatal signals */
    24.7 -#define SDL_INIT_EVENTTHREAD    0x01000000      /**< Not supported on all OS's */
    24.8  #define SDL_INIT_EVERYTHING     0x0000FFFF
    24.9  /*@}*/
   24.10  
    25.1 --- a/include/SDL_assert.h	Mon Jan 31 07:36:12 2011 -0800
    25.2 +++ b/include/SDL_assert.h	Tue Feb 01 00:37:02 2011 -0800
    25.3 @@ -50,7 +50,7 @@
    25.4  assert can have unique static variables associated with it.
    25.5  */
    25.6  
    25.7 -#if defined(_MSC_VER)
    25.8 +#if defined(_MSC_VER) && !defined(_WIN32_WCE)
    25.9  #include <intrin.h>
   25.10      #define SDL_TriggerBreakpoint() __debugbreak()
   25.11  #elif (defined(__GNUC__) && ((__i386__) || (__x86_64__)))
    26.1 --- a/include/SDL_atomic.h	Mon Jan 31 07:36:12 2011 -0800
    26.2 +++ b/include/SDL_atomic.h	Tue Feb 01 00:37:02 2011 -0800
    26.3 @@ -38,8 +38,16 @@
    26.4   *  SDL_AtomicDecRef()
    26.5   * 
    26.6   * Seriously, here be dragons!
    26.7 + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    26.8   *
    26.9 - * These operations may, or may not, actually be implemented using
   26.10 + * You can find out a little more about lockless programming and the 
   26.11 + * subtle issues that can arise here:
   26.12 + * http://msdn.microsoft.com/en-us/library/ee418650%28v=vs.85%29.aspx
   26.13 + *
   26.14 + * There's also lots of good information here:
   26.15 + * http://www.1024cores.net/home/lock-free-algorithms
   26.16 + *
   26.17 + * These operations may or may not actually be implemented using
   26.18   * processor specific atomic operations. When possible they are
   26.19   * implemented as true processor specific atomic operations. When that
   26.20   * is not possible the are implemented using locks that *do* use the
   26.21 @@ -58,9 +66,9 @@
   26.22  
   26.23  /* Need to do this here because intrin.h has C++ code in it */
   26.24  /* Visual Studio 2005 has a bug where intrin.h conflicts with winnt.h */
   26.25 -#if defined(_MSC_VER) && (_MSC_VER >= 1500)
   26.26 +#if defined(_MSC_VER) && (_MSC_VER >= 1500) && !defined(_WIN32_WCE)
   26.27  #include <intrin.h>
   26.28 -#define HAVE_MSC_ATOMICS
   26.29 +#define HAVE_MSC_ATOMICS 1
   26.30  #endif
   26.31  
   26.32  /* Set up for C function definitions, even when using C++ */
   26.33 @@ -114,19 +122,32 @@
   26.34  
   26.35  /*@}*//*SDL AtomicLock*/
   26.36  
   26.37 +
   26.38 +/* The compiler barrier prevents the compiler from reordering
   26.39 +   reads and writes to globally visible variables across the call.
   26.40 +*/
   26.41 +#ifdef _MSC_VER
   26.42 +void _ReadWriteBarrier(void);
   26.43 +#pragma intrinsic(_ReadWriteBarrier)
   26.44 +#define SDL_CompilerBarrier()   _ReadWriteBarrier()
   26.45 +#elif defined(__GNUC__)
   26.46 +#define SDL_CompilerBarrier()   __asm__ __volatile__ ("" : : : "memory")
   26.47 +#else
   26.48 +#define SDL_CompilerBarrier()   \
   26.49 +({ SDL_SpinLock _tmp = 0; SDL_AtomicLock(&_tmp); SDL_AtomicUnlock(&_tmp); })
   26.50 +#endif
   26.51 +
   26.52  /* Platform specific optimized versions of the atomic functions,
   26.53   * you can disable these by defining SDL_DISABLE_ATOMIC_INLINE
   26.54   */
   26.55  #ifndef SDL_DISABLE_ATOMIC_INLINE
   26.56  
   26.57 -#if defined(HAVE_MSC_ATOMICS)
   26.58 +#ifdef HAVE_MSC_ATOMICS
   26.59  
   26.60  #define SDL_AtomicSet(a, v)     _InterlockedExchange((long*)&(a)->value, (v))
   26.61 -#define SDL_AtomicGet(a)        ((a)->value)
   26.62  #define SDL_AtomicAdd(a, v)     _InterlockedExchangeAdd((long*)&(a)->value, (v))
   26.63  #define SDL_AtomicCAS(a, oldval, newval) (_InterlockedCompareExchange((long*)&(a)->value, (newval), (oldval)) == (oldval))
   26.64 -#define SDL_AtomicSetPtr(a, v)  (void)_InterlockedExchangePointer((a), (v))
   26.65 -#define SDL_AtomicGetPtr(a)     (*(a))
   26.66 +#define SDL_AtomicSetPtr(a, v)  _InterlockedExchangePointer((a), (v))
   26.67  #if _M_IX86
   26.68  #define SDL_AtomicCASPtr(a, oldval, newval) (_InterlockedCompareExchange((long*)(a), (long)(newval), (long)(oldval)) == (long)(oldval))
   26.69  #else
   26.70 @@ -136,30 +157,7 @@
   26.71  #elif defined(__MACOSX__)
   26.72  #include <libkern/OSAtomic.h>
   26.73  
   26.74 -#define SDL_AtomicSet(a, v) \
   26.75 -({                          \
   26.76 -    int oldvalue;           \
   26.77 -                            \
   26.78 -    do {                    \
   26.79 -        oldvalue = (a)->value; \
   26.80 -    } while (!OSAtomicCompareAndSwap32Barrier(oldvalue, v, &(a)->value)); \
   26.81 -                            \
   26.82 -    oldvalue;               \
   26.83 -})
   26.84 -#define SDL_AtomicGet(a)        ((a)->value)
   26.85 -#define SDL_AtomicAdd(a, v) \
   26.86 -({                          \
   26.87 -    int oldvalue;           \
   26.88 -                            \
   26.89 -    do {                    \
   26.90 -        oldvalue = (a)->value; \
   26.91 -    } while (!OSAtomicCompareAndSwap32Barrier(oldvalue, oldvalue+v, &(a)->value)); \
   26.92 -                            \
   26.93 -    oldvalue;               \
   26.94 -})
   26.95 -#define SDL_AtomicCAS(a, oldval, newval) OSAtomicCompareAndSwap32Barrier(oldval, newval, &(a)->value)
   26.96 -#define SDL_AtomicSetPtr(a, v)  (*(a) = v, OSMemoryBarrier())
   26.97 -#define SDL_AtomicGetPtr(a)     (*(a))
   26.98 +#define SDL_AtomicCAS(a, oldval, newval) OSAtomicCompareAndSwap32Barrier((oldval), (newval), &(a)->value)
   26.99  #if SIZEOF_VOIDP == 4
  26.100  #define SDL_AtomicCASPtr(a, oldval, newval) OSAtomicCompareAndSwap32Barrier((int32_t)(oldval), (int32_t)(newval), (int32_t*)(a))
  26.101  #elif SIZEOF_VOIDP == 8
  26.102 @@ -169,11 +167,9 @@
  26.103  #elif defined(HAVE_GCC_ATOMICS)
  26.104  
  26.105  #define SDL_AtomicSet(a, v)     __sync_lock_test_and_set(&(a)->value, v)
  26.106 -#define SDL_AtomicGet(a)        ((a)->value)
  26.107  #define SDL_AtomicAdd(a, v)     __sync_fetch_and_add(&(a)->value, v)
  26.108 +#define SDL_AtomicSetPtr(a, v)  __sync_lock_test_and_set(a, v)
  26.109  #define SDL_AtomicCAS(a, oldval, newval) __sync_bool_compare_and_swap(&(a)->value, oldval, newval)
  26.110 -#define SDL_AtomicSetPtr(a, v)  (*(a) = v, __sync_synchronize())
  26.111 -#define SDL_AtomicGetPtr(a)     (*(a))
  26.112  #define SDL_AtomicCASPtr(a, oldval, newval) __sync_bool_compare_and_swap(a, oldval, newval)
  26.113  
  26.114  #endif
  26.115 @@ -190,48 +186,6 @@
  26.116  #endif
  26.117  
  26.118  /**
  26.119 - * \brief Set an atomic variable to a value.
  26.120 - *
  26.121 - * \return The previous value of the atomic variable.
  26.122 - */
  26.123 -#ifndef SDL_AtomicSet
  26.124 -extern DECLSPEC int SDLCALL SDL_AtomicSet(SDL_atomic_t *a, int value);
  26.125 -#endif
  26.126 -
  26.127 -/**
  26.128 - * \brief Get the value of an atomic variable
  26.129 - */
  26.130 -#ifndef SDL_AtomicGet
  26.131 -extern DECLSPEC int SDLCALL SDL_AtomicGet(SDL_atomic_t *a);
  26.132 -#endif
  26.133 -
  26.134 -/**
  26.135 - * \brief  Add to an atomic variable.
  26.136 - *
  26.137 - * \return The previous value of the atomic variable.
  26.138 - */
  26.139 -#ifndef SDL_AtomicAdd
  26.140 -extern DECLSPEC int SDLCALL SDL_AtomicAdd(SDL_atomic_t *a, int value);
  26.141 -#endif
  26.142 -
  26.143 -/**
  26.144 - * \brief Increment an atomic variable used as a reference count.
  26.145 - */
  26.146 -#ifndef SDL_AtomicIncRef
  26.147 -extern DECLSPEC void SDLCALL SDL_AtomicIncRef(SDL_atomic_t *a);
  26.148 -#endif
  26.149 -
  26.150 -/**
  26.151 - * \brief Decrement an atomic variable used as a reference count.
  26.152 - *
  26.153 - * \return SDL_TRUE if the variable has reached zero after decrementing,
  26.154 - *         SDL_FALSE otherwise
  26.155 - */
  26.156 -#ifndef SDL_AtomicDecRef
  26.157 -extern DECLSPEC SDL_bool SDLCALL SDL_AtomicDecRef(SDL_atomic_t *a);
  26.158 -#endif
  26.159 -
  26.160 -/**
  26.161   * \brief Set an atomic variable to a new value if it is currently an old value.
  26.162   *
  26.163   * \return SDL_TRUE if the atomic variable was set, SDL_FALSE otherwise.
  26.164 @@ -239,21 +193,71 @@
  26.165   * \note If you don't know what this function is for, you shouldn't use it!
  26.166  */
  26.167  #ifndef SDL_AtomicCAS
  26.168 -extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCAS(SDL_atomic_t *a, int oldval, int newval);
  26.169 +#define SDL_AtomicCAS SDL_AtomicCAS_
  26.170 +#endif
  26.171 +extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCAS_(SDL_atomic_t *a, int oldval, int newval);
  26.172 +
  26.173 +/**
  26.174 + * \brief Set an atomic variable to a value.
  26.175 + *
  26.176 + * \return The previous value of the atomic variable.
  26.177 + */
  26.178 +#ifndef SDL_AtomicSet
  26.179 +static __inline__ int SDL_AtomicSet(SDL_atomic_t *a, int v)
  26.180 +{
  26.181 +    int value;
  26.182 +    do {
  26.183 +        value = a->value;
  26.184 +    } while (!SDL_AtomicCAS(a, value, v));
  26.185 +    return value;
  26.186 +}
  26.187 +#endif
  26.188 +
  26.189 +/**
  26.190 + * \brief Get the value of an atomic variable
  26.191 + */
  26.192 +#ifndef SDL_AtomicGet
  26.193 +static __inline__ int SDL_AtomicGet(SDL_atomic_t *a)
  26.194 +{
  26.195 +    int value = a->value;
  26.196 +    SDL_CompilerBarrier();
  26.197 +    return value;
  26.198 +}
  26.199  #endif
  26.200  
  26.201  /**
  26.202 - * \brief Set a pointer to a value atomically.
  26.203 + * \brief Add to an atomic variable.
  26.204 + *
  26.205 + * \return The previous value of the atomic variable.
  26.206 + *
  26.207 + * \note This same style can be used for any number operation
  26.208   */
  26.209 -#ifndef SDL_AtomicSetPtr
  26.210 -extern DECLSPEC void SDLCALL SDL_AtomicSetPtr(void** a, void* value);
  26.211 +#ifndef SDL_AtomicAdd
  26.212 +static __inline__ int SDL_AtomicAdd(SDL_atomic_t *a, int v)
  26.213 +{
  26.214 +    int value;
  26.215 +    do {
  26.216 +        value = a->value;
  26.217 +    } while (!SDL_AtomicCAS(a, value, (value + v)));
  26.218 +    return value;
  26.219 +}
  26.220  #endif
  26.221  
  26.222  /**
  26.223 - * \brief Get the value of a pointer atomically.
  26.224 + * \brief Increment an atomic variable used as a reference count.
  26.225   */
  26.226 -#ifndef SDL_AtomicGetPtr
  26.227 -extern DECLSPEC void* SDLCALL SDL_AtomicGetPtr(void** a);
  26.228 +#ifndef SDL_AtomicIncRef
  26.229 +#define SDL_AtomicIncRef(a)    SDL_AtomicAdd(a, 1)
  26.230 +#endif
  26.231 +
  26.232 +/**
  26.233 + * \brief Decrement an atomic variable used as a reference count.
  26.234 + *
  26.235 + * \return SDL_TRUE if the variable reached zero after decrementing,
  26.236 + *         SDL_FALSE otherwise
  26.237 + */
  26.238 +#ifndef SDL_AtomicDecRef
  26.239 +#define SDL_AtomicDecRef(a)    (SDL_AtomicAdd(a, -1) == 1)
  26.240  #endif
  26.241  
  26.242  /**
  26.243 @@ -264,8 +268,38 @@
  26.244   * \note If you don't know what this function is for, you shouldn't use it!
  26.245  */
  26.246  #ifndef SDL_AtomicCASPtr
  26.247 -extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCASPtr(void **a, void *oldval, void *newval);
  26.248 +#define SDL_AtomicCASPtr SDL_AtomicCASPtr_
  26.249  #endif
  26.250 +extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCASPtr_(void **a, void *oldval, void *newval);
  26.251 +
  26.252 +/**
  26.253 + * \brief Set a pointer to a value atomically.
  26.254 + *
  26.255 + * \return The previous value of the pointer.
  26.256 + */
  26.257 +#ifndef SDL_AtomicSetPtr
  26.258 +static __inline__ void* SDL_AtomicSetPtr(void* *a, void* v)
  26.259 +{
  26.260 +    void* value;
  26.261 +    do {
  26.262 +        value = *a;
  26.263 +    } while (!SDL_AtomicCASPtr(a, value, v));
  26.264 +    return value;
  26.265 +}
  26.266 +#endif
  26.267 +
  26.268 +/**
  26.269 + * \brief Get the value of a pointer atomically.
  26.270 + */
  26.271 +#ifndef SDL_AtomicGetPtr
  26.272 +static __inline__ void* SDL_AtomicGetPtr(void* *a)
  26.273 +{
  26.274 +    void* value = *a;
  26.275 +    SDL_CompilerBarrier();
  26.276 +    return value;
  26.277 +}
  26.278 +#endif
  26.279 +
  26.280  
  26.281  /* Ends C function definitions when using C++ */
  26.282  #ifdef __cplusplus
    27.1 --- a/include/SDL_compat.h	Mon Jan 31 07:36:12 2011 -0800
    27.2 +++ b/include/SDL_compat.h	Tue Feb 01 00:37:02 2011 -0800
    27.3 @@ -65,7 +65,7 @@
    27.4  /*@{*/
    27.5  
    27.6  /* Platform */
    27.7 -#ifdef __WINDOWS__
    27.8 +#ifdef __WIN32__
    27.9  #undef __WIN32__
   27.10  #define __WIN32__   1
   27.11  #endif
   27.12 @@ -223,6 +223,9 @@
   27.13   */
   27.14  /*@{*/
   27.15  
   27.16 +#define SDL_keysym		SDL_KeySym
   27.17 +#define SDL_scancode	SDL_ScanCode
   27.18 +
   27.19  /** 
   27.20   *  \name Renamed keys
   27.21   *
   27.22 @@ -341,6 +344,13 @@
   27.23  #define SDL_RenderFill(X)  (X) ? SDL_RenderFillRect(X) : SDL_RenderClear()
   27.24  #define SDL_KillThread(X)
   27.25  
   27.26 +/* The timeslice and timer resolution are no longer relevant */
   27.27 +#define SDL_TIMESLICE		10
   27.28 +#define TIMER_RESOLUTION	10
   27.29 +
   27.30 +typedef Uint32 (SDLCALL * SDL_OldTimerCallback) (Uint32 interval);
   27.31 +extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval, SDL_OldTimerCallback callback);
   27.32 +
   27.33  extern DECLSPEC int SDLCALL SDL_putenv(const char *variable);
   27.34  
   27.35  /*@}*//*Compatibility*/
    28.1 --- a/include/SDL_config.h.in	Mon Jan 31 07:36:12 2011 -0800
    28.2 +++ b/include/SDL_config.h.in	Tue Feb 01 00:37:02 2011 -0800
    28.3 @@ -90,7 +90,7 @@
    28.4  #undef HAVE_REALLOC
    28.5  #undef HAVE_FREE
    28.6  #undef HAVE_ALLOCA
    28.7 -#ifndef __WINDOWS__ /* Don't use C runtime versions of these on Windows */
    28.8 +#ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */
    28.9  #undef HAVE_GETENV
   28.10  #undef HAVE_SETENV
   28.11  #undef HAVE_PUTENV
   28.12 @@ -221,7 +221,6 @@
   28.13  #undef SDL_JOYSTICK_IOKIT
   28.14  #undef SDL_JOYSTICK_LINUX
   28.15  #undef SDL_JOYSTICK_NDS
   28.16 -#undef SDL_JOYSTICK_RISCOS
   28.17  #undef SDL_JOYSTICK_WINMM
   28.18  #undef SDL_JOYSTICK_USBHID
   28.19  #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H
   28.20 @@ -251,7 +250,6 @@
   28.21  #undef SDL_TIMER_BEOS
   28.22  #undef SDL_TIMER_DUMMY
   28.23  #undef SDL_TIMER_NDS
   28.24 -#undef SDL_TIMER_RISCOS
   28.25  #undef SDL_TIMER_UNIX
   28.26  #undef SDL_TIMER_WINDOWS
   28.27  #undef SDL_TIMER_WINCE
   28.28 @@ -265,7 +263,6 @@
   28.29  #undef SDL_VIDEO_DRIVER_NDS
   28.30  #undef SDL_VIDEO_DRIVER_PHOTON
   28.31  #undef SDL_VIDEO_DRIVER_QNXGF
   28.32 -#undef SDL_VIDEO_DRIVER_RISCOS
   28.33  #undef SDL_VIDEO_DRIVER_WINDOWS
   28.34  #undef SDL_VIDEO_DRIVER_X11
   28.35  #undef SDL_VIDEO_DRIVER_X11_DYNAMIC
    29.1 --- a/include/SDL_config_macosx.h	Mon Jan 31 07:36:12 2011 -0800
    29.2 +++ b/include/SDL_config_macosx.h	Tue Feb 01 00:37:02 2011 -0800
    29.3 @@ -148,13 +148,23 @@
    29.4  #define SDL_VIDEO_DRIVER_X11_XV 1
    29.5  #define SDL_VIDEO_DRIVER_X11_XSHAPE 1
    29.6  
    29.7 +#ifndef SDL_VIDEO_RENDER_OGL
    29.8  #define SDL_VIDEO_RENDER_OGL	1
    29.9 +#endif
   29.10 +#ifndef SDL_VIDEO_RENDER_X11
   29.11  #define SDL_VIDEO_RENDER_X11	1
   29.12 +#endif
   29.13  
   29.14  /* Enable OpenGL support */
   29.15 +#ifndef SDL_VIDEO_OPENGL
   29.16  #define SDL_VIDEO_OPENGL	1
   29.17 +#endif
   29.18 +#ifndef SDL_VIDEO_OPENGL_CGL
   29.19  #define SDL_VIDEO_OPENGL_CGL	1
   29.20 +#endif
   29.21 +#ifndef SDL_VIDEO_OPENGL_GLX
   29.22  #define SDL_VIDEO_OPENGL_GLX	1
   29.23 +#endif
   29.24  
   29.25  /* Enable system power support */
   29.26  #define SDL_POWER_MACOSX 1
    30.1 --- a/include/SDL_config_windows.h	Mon Jan 31 07:36:12 2011 -0800
    30.2 +++ b/include/SDL_config_windows.h	Tue Feb 01 00:37:02 2011 -0800
    30.3 @@ -20,8 +20,8 @@
    30.4      slouken@libsdl.org
    30.5  */
    30.6  
    30.7 -#ifndef _SDL_config_windows2_h
    30.8 -#define _SDL_config_windows2_h
    30.9 +#ifndef _SDL_config_windows_h
   30.10 +#define _SDL_config_windows_h
   30.11  
   30.12  #include "SDL_platform.h"
   30.13  
   30.14 @@ -178,15 +178,31 @@
   30.15  #define SDL_VIDEO_DRIVER_DUMMY	1
   30.16  #define SDL_VIDEO_DRIVER_WINDOWS	1
   30.17  
   30.18 +#ifdef _WIN32_WCE
   30.19 +#ifndef SDL_VIDEO_RENDER_GAPI
   30.20 +#define SDL_VIDEO_RENDER_GAPI	1
   30.21 +#endif
   30.22 +#else
   30.23 +#ifndef SDL_VIDEO_RENDER_D3D
   30.24  #define SDL_VIDEO_RENDER_D3D	1
   30.25 +#endif
   30.26 +#endif
   30.27 +#ifndef SDL_VIDEO_RENDER_GDI
   30.28  #define SDL_VIDEO_RENDER_GDI	1
   30.29 +#endif
   30.30  
   30.31  /* Enable OpenGL support */
   30.32  #ifndef _WIN32_WCE
   30.33 +#ifndef SDL_VIDEO_OPENGL
   30.34  #define SDL_VIDEO_OPENGL	1
   30.35 +#endif
   30.36 +#ifndef SDL_VIDEO_OPENGL_WGL
   30.37  #define SDL_VIDEO_OPENGL_WGL	1
   30.38 +#endif
   30.39 +#ifndef SDL_VIDEO_RENDER_OGL
   30.40  #define SDL_VIDEO_RENDER_OGL	1
   30.41  #endif
   30.42 +#endif
   30.43  
   30.44  /* Enable system power support */
   30.45  #define SDL_POWER_WINDOWS 1
   30.46 @@ -196,4 +212,4 @@
   30.47  #define SDL_ASSEMBLY_ROUTINES	1
   30.48  #endif
   30.49  
   30.50 -#endif /* _SDL_config_windows2_h */
   30.51 +#endif /* _SDL_config_windows_h */
    31.1 --- a/include/SDL_cpuinfo.h	Mon Jan 31 07:36:12 2011 -0800
    31.2 +++ b/include/SDL_cpuinfo.h	Tue Feb 01 00:37:02 2011 -0800
    31.3 @@ -39,12 +39,27 @@
    31.4  /* *INDENT-ON* */
    31.5  #endif
    31.6  
    31.7 +/* This is a guess for the cacheline size used for padding.
    31.8 + * Most x86 processors have a 64 byte cache line.
    31.9 + * The 64-bit PowerPC processors have a 128 byte cache line.
   31.10 + * We'll use the larger value to be generally safe.
   31.11 + */
   31.12 +#define SDL_CACHELINE_SIZE  128
   31.13 +
   31.14  /**
   31.15   *  This function returns the number of CPU cores available.
   31.16   */
   31.17  extern DECLSPEC int SDLCALL SDL_GetCPUCount(void);
   31.18  
   31.19  /**
   31.20 + *  This function returns the L1 cache line size of the CPU
   31.21 + *
   31.22 + *  This is useful for determining multi-threaded structure padding
   31.23 + *  or SIMD prefetch sizes.
   31.24 + */
   31.25 +extern DECLSPEC int SDLCALL SDL_GetCPUCacheLineSize(void);
   31.26 +
   31.27 +/**
   31.28   *  This function returns true if the CPU has the RDTSC instruction.
   31.29   */
   31.30  extern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void);
    32.1 --- a/include/SDL_events.h	Mon Jan 31 07:36:12 2011 -0800
    32.2 +++ b/include/SDL_events.h	Tue Feb 01 00:37:02 2011 -0800
    32.3 @@ -151,7 +151,7 @@
    32.4      Uint8 repeat;       /**< Non-zero if this is a key repeat */
    32.5      Uint8 padding2;
    32.6      Uint8 padding3;
    32.7 -    SDL_keysym keysym;  /**< The key that was pressed or released */
    32.8 +    SDL_KeySym keysym;  /**< The key that was pressed or released */
    32.9  } SDL_KeyboardEvent;
   32.10  
   32.11  #define SDL_TEXTEDITINGEVENT_TEXT_SIZE (32)
    33.1 --- a/include/SDL_haptic.h	Mon Jan 31 07:36:12 2011 -0800
    33.2 +++ b/include/SDL_haptic.h	Tue Feb 01 00:37:02 2011 -0800
    33.3 @@ -81,6 +81,10 @@
    33.4   *    return 0; // Success
    33.5   * }
    33.6   * \endcode
    33.7 + *
    33.8 + * You can also find out more information on my blog:
    33.9 + * http://bobbens.dyndns.org/journal/2010/sdl_haptic/
   33.10 + *
   33.11   * \author Edgar Simo Serra
   33.12   */
   33.13  
    34.1 --- a/include/SDL_keyboard.h	Mon Jan 31 07:36:12 2011 -0800
    34.2 +++ b/include/SDL_keyboard.h	Tue Feb 01 00:37:02 2011 -0800
    34.3 @@ -45,13 +45,13 @@
    34.4  /**
    34.5   *  \brief The SDL keysym structure, used in key events.
    34.6   */
    34.7 -typedef struct SDL_keysym
    34.8 +typedef struct SDL_KeySym
    34.9  {
   34.10 -    SDL_scancode scancode;      /**< SDL physical key code - see ::SDL_scancode for details */
   34.11 +    SDL_ScanCode scancode;      /**< SDL physical key code - see ::SDL_ScanCode for details */
   34.12      SDLKey sym;                 /**< SDL virtual key code - see ::SDLKey for details */
   34.13      Uint16 mod;                 /**< current key modifiers */
   34.14      Uint32 unicode;             /**< \deprecated use SDL_TextInputEvent instead */
   34.15 -} SDL_keysym;
   34.16 +} SDL_KeySym;
   34.17  
   34.18  /* Function prototypes */
   34.19  
   34.20 @@ -65,7 +65,7 @@
   34.21   *  
   34.22   *  \param numkeys if non-NULL, receives the length of the returned array.
   34.23   *  
   34.24 - *  \return An array of key states. Indexes into this array are obtained by using ::SDL_scancode values.
   34.25 + *  \return An array of key states. Indexes into this array are obtained by using ::SDL_ScanCode values.
   34.26   *  
   34.27   *  \b Example:
   34.28   *  \code
   34.29 @@ -97,17 +97,17 @@
   34.30   *  
   34.31   *  \sa SDL_GetKeyName()
   34.32   */
   34.33 -extern DECLSPEC SDLKey SDLCALL SDL_GetKeyFromScancode(SDL_scancode scancode);
   34.34 +extern DECLSPEC SDLKey SDLCALL SDL_GetKeyFromScancode(SDL_ScanCode scancode);
   34.35  
   34.36  /**
   34.37   *  \brief Get the scancode corresponding to the given key code according to the
   34.38   *         current keyboard layout.
   34.39   *  
   34.40 - *  See ::SDL_scancode for details.
   34.41 + *  See ::SDL_ScanCode for details.
   34.42   *  
   34.43   *  \sa SDL_GetScancodeName()
   34.44   */
   34.45 -extern DECLSPEC SDL_scancode SDLCALL SDL_GetScancodeFromKey(SDLKey key);
   34.46 +extern DECLSPEC SDL_ScanCode SDLCALL SDL_GetScancodeFromKey(SDLKey key);
   34.47  
   34.48  /**
   34.49   *  \brief Get a human-readable name for a scancode.
   34.50 @@ -117,9 +117,9 @@
   34.51   *          copy it.  If the scancode doesn't have a name, this function returns
   34.52   *          an empty string ("").
   34.53   *
   34.54 - *  \sa SDL_scancode
   34.55 + *  \sa SDL_ScanCode
   34.56   */
   34.57 -extern DECLSPEC const char *SDLCALL SDL_GetScancodeName(SDL_scancode
   34.58 +extern DECLSPEC const char *SDLCALL SDL_GetScancodeName(SDL_ScanCode
   34.59                                                          scancode);
   34.60  
   34.61  /**
    35.1 --- a/include/SDL_main.h	Mon Jan 31 07:36:12 2011 -0800
    35.2 +++ b/include/SDL_main.h	Tue Feb 01 00:37:02 2011 -0800
    35.3 @@ -31,7 +31,7 @@
    35.4   *  Redefine main() on some platforms so that it is called by SDL.
    35.5   */
    35.6  
    35.7 -#if defined(__WINDOWS__) || \
    35.8 +#if defined(__WIN32__) || \
    35.9      (defined(__MWERKS__) && !defined(__BEOS__)) || \
   35.10      defined(__SYMBIAN32__) || defined(__IPHONEOS__) || \
   35.11      defined(__ANDROID__)
   35.12 @@ -66,7 +66,7 @@
   35.13  
   35.14  
   35.15  /* From the SDL library code -- needed for registering the app on Win32 */
   35.16 -#ifdef __WINDOWS__
   35.17 +#ifdef __WIN32__
   35.18  
   35.19  #include "begin_code.h"
   35.20  #ifdef __cplusplus
    36.1 --- a/include/SDL_mutex.h	Mon Jan 31 07:36:12 2011 -0800
    36.2 +++ b/include/SDL_mutex.h	Tue Feb 01 00:37:02 2011 -0800
    36.3 @@ -164,6 +164,31 @@
    36.4  
    36.5  /**
    36.6   *  Create a condition variable.
    36.7 + *
    36.8 + *  Typical use of condition variables:
    36.9 + *
   36.10 + *  Thread A:
   36.11 + *    SDL_LockMutex(lock);
   36.12 + *    while ( ! condition ) {
   36.13 + *        SDL_CondWait(cond, lock);
   36.14 + *    }
   36.15 + *    SDL_UnlockMutex(lock);
   36.16 + *
   36.17 + *  Thread B:
   36.18 + *    SDL_LockMutex(lock);
   36.19 + *    ...
   36.20 + *    condition = true;
   36.21 + *    ...
   36.22 + *    SDL_CondSignal(cond);
   36.23 + *    SDL_UnlockMutex(lock);
   36.24 + *
   36.25 + *  There is some discussion whether to signal the condition variable
   36.26 + *  with the mutex locked or not.  There is some potential performance
   36.27 + *  benefit to unlocking first on some platforms, but there are some
   36.28 + *  potential race conditions depending on how your code is structured.
   36.29 + *
   36.30 + *  In general it's safer to signal the condition variable while the
   36.31 + *  mutex is locked.
   36.32   */
   36.33  extern DECLSPEC SDL_cond *SDLCALL SDL_CreateCond(void);
   36.34  
   36.35 @@ -181,6 +206,7 @@
   36.36  
   36.37  /**
   36.38   *  Restart all threads that are waiting on the condition variable.
   36.39 + *
   36.40   *  \return 0 or -1 on error.
   36.41   */
   36.42  extern DECLSPEC int SDLCALL SDL_CondBroadcast(SDL_cond * cond);
    37.1 --- a/include/SDL_opengl.h	Mon Jan 31 07:36:12 2011 -0800
    37.2 +++ b/include/SDL_opengl.h	Tue Feb 01 00:37:02 2011 -0800
    37.3 @@ -31,7 +31,7 @@
    37.4  
    37.5  #include "SDL_config.h"
    37.6  
    37.7 -#ifdef __WINDOWS__
    37.8 +#ifdef __WIN32__
    37.9  #define WIN32_LEAN_AND_MEAN
   37.10  #ifndef NOMINMAX
   37.11  #define NOMINMAX                /* Don't defined min() and max() */
    38.1 --- a/include/SDL_platform.h	Mon Jan 31 07:36:12 2011 -0800
    38.2 +++ b/include/SDL_platform.h	Tue Feb 01 00:37:02 2011 -0800
    38.3 @@ -125,8 +125,8 @@
    38.4  #define __SOLARIS__	1
    38.5  #endif
    38.6  #if defined(WIN32) || defined(_WIN32)
    38.7 -#undef __WINDOWS__
    38.8 -#define __WINDOWS__	1
    38.9 +#undef __WIN32__
   38.10 +#define __WIN32__	1
   38.11  #endif
   38.12  
   38.13  #if defined(__NDS__)
    39.1 --- a/include/SDL_rwops.h	Mon Jan 31 07:36:12 2011 -0800
    39.2 +++ b/include/SDL_rwops.h	Tue Feb 01 00:37:02 2011 -0800
    39.3 @@ -83,7 +83,7 @@
    39.4      Uint32 type;
    39.5      union
    39.6      {
    39.7 -#ifdef __WINDOWS__
    39.8 +#ifdef __WIN32__
    39.9          struct
   39.10          {
   39.11              SDL_bool append;
    40.1 --- a/include/SDL_scancode.h	Mon Jan 31 07:36:12 2011 -0800
    40.2 +++ b/include/SDL_scancode.h	Tue Feb 01 00:37:02 2011 -0800
    40.3 @@ -35,7 +35,7 @@
    40.4   *  \brief The SDL keyboard scancode representation.
    40.5   *  
    40.6   *  Values of this type are used to represent keyboard keys, among other places
    40.7 - *  in the \link SDL_keysym::scancode key.keysym.scancode \endlink field of the
    40.8 + *  in the \link SDL_KeySym::scancode key.keysym.scancode \endlink field of the
    40.9   *  SDL_Event structure.
   40.10   *  
   40.11   *  The values in this enumeration are based on the USB usage page standard:
   40.12 @@ -392,7 +392,7 @@
   40.13  
   40.14      SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes 
   40.15                                   for array bounds */
   40.16 -} SDL_scancode;
   40.17 +} SDL_ScanCode;
   40.18  
   40.19  #endif /* _SDL_scancode_h */
   40.20  
    41.1 --- a/include/SDL_thread.h	Mon Jan 31 07:36:12 2011 -0800
    41.2 +++ b/include/SDL_thread.h	Tue Feb 01 00:37:02 2011 -0800
    41.3 @@ -55,7 +55,7 @@
    41.4   */
    41.5  typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
    41.6  
    41.7 -#if defined(__WINDOWS__) && !defined(HAVE_LIBC)
    41.8 +#if defined(__WIN32__) && !defined(HAVE_LIBC)
    41.9  /**
   41.10   *  \file SDL_thread.h
   41.11   *  
    42.1 --- a/include/SDL_timer.h	Mon Jan 31 07:36:12 2011 -0800
    42.2 +++ b/include/SDL_timer.h	Tue Feb 01 00:37:02 2011 -0800
    42.3 @@ -41,104 +41,50 @@
    42.4  #endif
    42.5  
    42.6  /**
    42.7 - *  This is the OS scheduler timeslice, in milliseconds.
    42.8 - */
    42.9 -#define SDL_TIMESLICE		10
   42.10 -
   42.11 -/**
   42.12 - *  This is the maximum resolution of the SDL timer on all platforms.
   42.13 - */
   42.14 -#define TIMER_RESOLUTION	10      /**< Experimentally determined */
   42.15 -
   42.16 -/**
   42.17 - *  Get the number of milliseconds since the SDL library initialization.
   42.18 + * \brief Get the number of milliseconds since the SDL library initialization.
   42.19   *  
   42.20 - *  Note that this value wraps if the program runs for more than ~49 days.
   42.21 + * \note This value wraps if the program runs for more than ~49 days.
   42.22   */
   42.23  extern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void);
   42.24  
   42.25  /**
   42.26 - *  Wait a specified number of milliseconds before returning.
   42.27 + * \brief Wait a specified number of milliseconds before returning.
   42.28   */
   42.29  extern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms);
   42.30  
   42.31  /**
   42.32   *  Function prototype for the timer callback function.
   42.33 - */
   42.34 -typedef Uint32(SDLCALL * SDL_TimerCallback) (Uint32 interval);
   42.35 -
   42.36 -/**
   42.37 - *  Set a callback to run after the specified number of milliseconds has
   42.38 - *  elapsed. The callback function is passed the current timer interval
   42.39 - *  and returns the next timer interval.  If the returned value is the 
   42.40 - *  same as the one passed in, the periodic alarm continues, otherwise a
   42.41 - *  new alarm is scheduled.  If the callback returns 0, the periodic alarm
   42.42 - *  is cancelled.
   42.43 - *  
   42.44 - *  To cancel a currently running timer, call 
   42.45 - *  \code SDL_SetTimer(0, NULL); \endcode
   42.46 - *  
   42.47 - *  The timer callback function may run in a different thread than your
   42.48 - *  main code, and so shouldn't call any functions from within itself.
   42.49 - *  
   42.50 - *  The maximum resolution of this timer is 10 ms, which means that if
   42.51 - *  you request a 16 ms timer, your callback will run approximately 20 ms
   42.52 - *  later on an unloaded system.  If you wanted to set a flag signaling
   42.53 - *  a frame update at 30 frames per second (every 33 ms), you might set a 
   42.54 - *  timer for 30 ms:
   42.55 - *  \code
   42.56 - *    SDL_SetTimer((33/10)*10, flag_update);
   42.57 - *  \endcode
   42.58 - *  
   42.59 - *  If you use this function, you need to pass ::SDL_INIT_TIMER to SDL_Init().
   42.60 - *  
   42.61 - *  Under UNIX, you should not use raise or use SIGALRM and this function
   42.62 - *  in the same program, as it is implemented using setitimer().  You also
   42.63 - *  should not use this function in multi-threaded applications as signals
   42.64 - *  to multi-threaded apps have undefined behavior in some implementations.
   42.65 - *  
   42.66 - *  \return 0 if successful, or -1 if there was an error.
   42.67 - */
   42.68 -extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval,
   42.69 -                                         SDL_TimerCallback callback);
   42.70 -
   42.71 -/**
   42.72 - *  \name Peter timers
   42.73 - *  New timer API, supports multiple timers
   42.74 - *  Written by Stephane Peter <megastep@lokigames.com>
   42.75 - */
   42.76 -/*@{*/
   42.77 -
   42.78 -/**
   42.79 - *  Function prototype for the new timer callback function.
   42.80   *  
   42.81   *  The callback function is passed the current timer interval and returns
   42.82   *  the next timer interval.  If the returned value is the same as the one
   42.83   *  passed in, the periodic alarm continues, otherwise a new alarm is
   42.84   *  scheduled.  If the callback returns 0, the periodic alarm is cancelled.
   42.85   */
   42.86 -typedef Uint32(SDLCALL * SDL_NewTimerCallback) (Uint32 interval, void *param);
   42.87 +typedef Uint32 (SDLCALL * SDL_TimerCallback) (Uint32 interval, void *param);
   42.88  
   42.89  /**
   42.90 - *  Definition of the timer ID type.
   42.91 + * Definition of the timer ID type.
   42.92   */
   42.93 -typedef struct _SDL_TimerID *SDL_TimerID;
   42.94 +typedef int SDL_TimerID;
   42.95  
   42.96  /**
   42.97 - *  Add a new timer to the pool of timers already running.
   42.98 - *  \return A timer ID, or NULL when an error occurs.
   42.99 + * \brief Add a new timer to the pool of timers already running.
  42.100 + *
  42.101 + * \return A timer ID, or NULL when an error occurs.
  42.102   */
  42.103  extern DECLSPEC SDL_TimerID SDLCALL SDL_AddTimer(Uint32 interval,
  42.104 -                                                 SDL_NewTimerCallback
  42.105 -                                                 callback, void *param);
  42.106 +                                                 SDL_TimerCallback callback,
  42.107 +                                                 void *param);
  42.108  
  42.109  /**
  42.110 - *  Remove one of the multiple timers knowing its ID.
  42.111 - *  \return A boolean value indicating success or failure.
  42.112 + * \brief Remove a timer knowing its ID.
  42.113 + *
  42.114 + * \return A boolean value indicating success or failure.
  42.115 + *
  42.116 + * \warning It is not safe to remove a timer multiple times.
  42.117   */
  42.118  extern DECLSPEC SDL_bool SDLCALL SDL_RemoveTimer(SDL_TimerID t);
  42.119  
  42.120 -/*@}*//*Peter timers*/
  42.121  
  42.122  /* Ends C function definitions when using C++ */
  42.123  #ifdef __cplusplus
    43.1 --- a/include/SDL_video.h	Mon Jan 31 07:36:12 2011 -0800
    43.2 +++ b/include/SDL_video.h	Tue Feb 01 00:37:02 2011 -0800
    43.3 @@ -278,8 +278,6 @@
    43.4   *  \param driver_name Initialize a specific driver by name, or NULL for the 
    43.5   *                     default video driver.
    43.6   *  
    43.7 - *  \param flags FIXME: Still needed?
    43.8 - *  
    43.9   *  \return 0 on success, -1 on error
   43.10   *  
   43.11   *  This function initializes the video subsystem; setting up a connection
   43.12 @@ -288,8 +286,7 @@
   43.13   *  
   43.14   *  \sa SDL_VideoQuit()
   43.15   */
   43.16 -extern DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name,
   43.17 -                                          Uint32 flags);
   43.18 +extern DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name);
   43.19  
   43.20  /**
   43.21   *  \brief Shuts down the video subsystem.
    44.1 --- a/include/begin_code.h	Mon Jan 31 07:36:12 2011 -0800
    44.2 +++ b/include/begin_code.h	Tue Feb 01 00:37:02 2011 -0800
    44.3 @@ -42,7 +42,7 @@
    44.4  #  else
    44.5  #   define DECLSPEC	__declspec(export)
    44.6  #  endif
    44.7 -# elif defined(__WINDOWS__)
    44.8 +# elif defined(__WIN32__)
    44.9  #  ifdef __BORLANDC__
   44.10  #   ifdef BUILD_SDL
   44.11  #    define DECLSPEC
   44.12 @@ -63,7 +63,7 @@
   44.13  
   44.14  /* By default SDL uses the C calling convention */
   44.15  #ifndef SDLCALL
   44.16 -#if defined(__WINDOWS__) && !defined(__GNUC__)
   44.17 +#if defined(__WIN32__) && !defined(__GNUC__)
   44.18  #define SDLCALL __cdecl
   44.19  #else
   44.20  #define SDLCALL
    45.1 --- a/include/doxyfile	Mon Jan 31 07:36:12 2011 -0800
    45.2 +++ b/include/doxyfile	Tue Feb 01 00:37:02 2011 -0800
    45.3 @@ -124,10 +124,7 @@
    45.4  # If left blank the directory from which doxygen is run is used as the 
    45.5  # path to strip.
    45.6  
    45.7 -STRIP_FROM_PATH        = ../ \
    45.8 -                         C:/source/svn.libsdl.org/trunk/ \
    45.9 -                         C:\source\svn.libsdl.org\trunk\ \
   45.10 -                         ..\
   45.11 +STRIP_FROM_PATH        =
   45.12  
   45.13  # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
   45.14  # the path mentioned in the documentation of a class, which tells 
   45.15 @@ -572,7 +569,7 @@
   45.16  # directories like "/usr/src/myproject". Separate the files or directories 
   45.17  # with spaces.
   45.18  
   45.19 -INPUT                  = ..
   45.20 +INPUT                  = .
   45.21  
   45.22  # This tag can be used to specify the character encoding of the source files 
   45.23  # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
   45.24 @@ -652,10 +649,7 @@
   45.25  # against the file with absolute path, so to exclude all test directories 
   45.26  # for example use the pattern */test/*
   45.27  
   45.28 -EXCLUDE_PATTERNS       = */.svn/* \
   45.29 -                         */bin/* \
   45.30 -                         */lib/* \
   45.31 -                         */obj/*
   45.32 +EXCLUDE_PATTERNS       =
   45.33  
   45.34  # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
   45.35  # (namespaces, classes, functions, etc.) that should be excluded from the 
   45.36 @@ -669,9 +663,7 @@
   45.37  # directories that contain example code fragments that are included (see 
   45.38  # the \include command).
   45.39  
   45.40 -EXAMPLE_PATH           = ../test \
   45.41 -                         ../Xcode \
   45.42 -                         ../Xcode-iPhoneOS
   45.43 +EXAMPLE_PATH           =
   45.44  
   45.45  # If the value of the EXAMPLE_PATH tag contains directories, you can use the 
   45.46  # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
    46.1 --- a/src/SDL.c	Mon Jan 31 07:36:12 2011 -0800
    46.2 +++ b/src/SDL.c	Tue Feb 01 00:37:02 2011 -0800
    46.3 @@ -39,7 +39,7 @@
    46.4  extern int SDL_TimerInit(void);
    46.5  extern void SDL_TimerQuit(void);
    46.6  #endif
    46.7 -#if defined(__WINDOWS__)
    46.8 +#if defined(__WIN32__)
    46.9  extern int SDL_HelperWindowCreate(void);
   46.10  extern int SDL_HelperWindowDestroy(void);
   46.11  #endif
   46.12 @@ -59,7 +59,7 @@
   46.13  #if !SDL_VIDEO_DISABLED
   46.14      /* Initialize the video/event subsystem */
   46.15      if ((flags & SDL_INIT_VIDEO) && !(SDL_initialized & SDL_INIT_VIDEO)) {
   46.16 -        if (SDL_VideoInit(NULL, (flags & SDL_INIT_EVENTTHREAD)) < 0) {
   46.17 +        if (SDL_VideoInit(NULL) < 0) {
   46.18              return (-1);
   46.19          }
   46.20          SDL_initialized |= SDL_INIT_VIDEO;
   46.21 @@ -147,7 +147,7 @@
   46.22      /* Clear the error message */
   46.23      SDL_ClearError();
   46.24  
   46.25 -#if defined(__WINDOWS__)
   46.26 +#if defined(__WIN32__)
   46.27      if (SDL_HelperWindowCreate() < 0) {
   46.28          return -1;
   46.29      }
   46.30 @@ -220,7 +220,7 @@
   46.31      fflush(stdout);
   46.32  #endif
   46.33  
   46.34 -#if defined(__WINDOWS__)
   46.35 +#if defined(__WIN32__)
   46.36      SDL_HelperWindowDestroy();
   46.37  #endif
   46.38      SDL_QuitSubSystem(SDL_INIT_EVERYTHING);
   46.39 @@ -312,7 +312,7 @@
   46.40      return "RISC OS";
   46.41  #elif __SOLARIS__
   46.42      return "Solaris";
   46.43 -#elif __WINDOWS__
   46.44 +#elif __WIN32__
   46.45  #ifdef _WIN32_WCE
   46.46      return "Windows CE";
   46.47  #else
   46.48 @@ -325,12 +325,11 @@
   46.49  #endif
   46.50  }
   46.51  
   46.52 -#if defined(__WINDOWS__)
   46.53 +#if defined(__WIN32__)
   46.54  
   46.55  #if !defined(HAVE_LIBC) || (defined(__WATCOMC__) && defined(BUILD_DLL))
   46.56  /* Need to include DllMain() on Watcom C for some reason.. */
   46.57 -#define WIN32_LEAN_AND_MEAN
   46.58 -#include <windows.h>
   46.59 +#include "core/windows/SDL_windows.h"
   46.60  
   46.61  BOOL APIENTRY
   46.62  _DllMainCRTStartup(HANDLE hModule,
   46.63 @@ -347,6 +346,6 @@
   46.64  }
   46.65  #endif /* building DLL with Watcom C */
   46.66  
   46.67 -#endif /* __WINDOWS__ */
   46.68 +#endif /* __WIN32__ */
   46.69  
   46.70  /* vi: set ts=4 sw=4 expandtab: */
    47.1 --- a/src/SDL_android.cpp	Mon Jan 31 07:36:12 2011 -0800
    47.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    47.3 @@ -1,258 +0,0 @@
    47.4 -/*
    47.5 -    SDL - Simple DirectMedia Layer
    47.6 -    Copyright (C) 1997-2010 Sam Lantinga
    47.7 -
    47.8 -    This library is free software; you can redistribute it and/or
    47.9 -    modify it under the terms of the GNU Lesser General Public
   47.10 -    License as published by the Free Software Foundation; either
   47.11 -    version 2.1 of the License, or (at your option) any later version.
   47.12 -
   47.13 -    This library is distributed in the hope that it will be useful,
   47.14 -    but WITHOUT ANY WARRANTY; without even the implied warranty of
   47.15 -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   47.16 -    Lesser General Public License for more details.
   47.17 -
   47.18 -    You should have received a copy of the GNU Lesser General Public
   47.19 -    License along with this library; if not, write to the Free Software
   47.20 -    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   47.21 -
   47.22 -    Sam Lantinga
   47.23 -    slouken@libsdl.org
   47.24 -*/
   47.25 -#include "SDL_config.h"
   47.26 -
   47.27 -#include "SDL_android.h"
   47.28 -
   47.29 -extern "C" {
   47.30 -#include "events/SDL_events_c.h"
   47.31 -#include "video/android/SDL_androidkeyboard.h"
   47.32 -#include "video/android/SDL_androidtouch.h"
   47.33 -#include "video/android/SDL_androidvideo.h"
   47.34 -
   47.35 -/* Impelemented in audio/android/SDL_androidaudio.c */
   47.36 -extern void Android_RunAudioThread();
   47.37 -} // C
   47.38 -
   47.39 -/*******************************************************************************
   47.40 - This file links the Java side of Android with libsdl
   47.41 -*******************************************************************************/
   47.42 -#include <jni.h>
   47.43 -#include <android/log.h>
   47.44 -
   47.45 -
   47.46 -/*******************************************************************************
   47.47 -                               Globals
   47.48 -*******************************************************************************/
   47.49 -static JNIEnv* mEnv = NULL;
   47.50 -static JNIEnv* mAudioEnv = NULL;
   47.51 -
   47.52 -// Main activity
   47.53 -static jclass mActivityClass;
   47.54 -
   47.55 -// method signatures
   47.56 -static jmethodID midCreateGLContext;
   47.57 -static jmethodID midFlipBuffers;
   47.58 -static jmethodID midAudioInit;
   47.59 -static jmethodID midAudioWriteShortBuffer;
   47.60 -static jmethodID midAudioWriteByteBuffer;
   47.61 -static jmethodID midAudioQuit;
   47.62 -
   47.63 -// Accelerometer data storage
   47.64 -static float fLastAccelerometer[3];
   47.65 -
   47.66 -
   47.67 -/*******************************************************************************
   47.68 -                 Functions called by JNI
   47.69 -*******************************************************************************/
   47.70 -
   47.71 -// Library init
   47.72 -extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved)
   47.73 -{
   47.74 -    return JNI_VERSION_1_4;
   47.75 -}
   47.76 -
   47.77 -// Called before SDL_main() to initialize JNI bindings
   47.78 -extern "C" void SDL_Android_Init(JNIEnv* env, jclass cls)
   47.79 -{
   47.80 -    __android_log_print(ANDROID_LOG_INFO, "SDL", "SDL_Android_Init()");
   47.81 -
   47.82 -    mEnv = env;
   47.83 -    mActivityClass = cls;
   47.84 -
   47.85 -    midCreateGLContext = mEnv->GetStaticMethodID(mActivityClass,
   47.86 -                                "createGLContext","()V");
   47.87 -    midFlipBuffers = mEnv->GetStaticMethodID(mActivityClass,
   47.88 -                                "flipBuffers","()V");
   47.89 -    midAudioInit = mEnv->GetStaticMethodID(mActivityClass, 
   47.90 -                                "audioInit", "(IZZI)Ljava/lang/Object;");
   47.91 -    midAudioWriteShortBuffer = mEnv->GetStaticMethodID(mActivityClass,
   47.92 -                                "audioWriteShortBuffer", "([S)V");
   47.93 -    midAudioWriteByteBuffer = mEnv->GetStaticMethodID(mActivityClass,
   47.94 -                                "audioWriteByteBuffer", "([B)V");
   47.95 -    midAudioQuit = mEnv->GetStaticMethodID(mActivityClass,
   47.96 -                                "audioQuit", "()V");
   47.97 -
   47.98 -    if(!midCreateGLContext || !midFlipBuffers || !midAudioInit ||
   47.99 -       !midAudioWriteShortBuffer || !midAudioWriteByteBuffer || !midAudioQuit) {
  47.100 -        __android_log_print(ANDROID_LOG_WARN, "SDL", "SDL: Couldn't locate Java callbacks, check that they're named and typed correctly");
  47.101 -    }
  47.102 -}
  47.103 -
  47.104 -// Resize
  47.105 -extern "C" void Java_org_libsdl_app_SDLActivity_onNativeResize(
  47.106 -                                    JNIEnv* env, jclass jcls,
  47.107 -                                    jint width, jint height, jint format)
  47.108 -{
  47.109 -    Android_SetScreenResolution(width, height, format);
  47.110 -}
  47.111 -
  47.112 -// Keydown
  47.113 -extern "C" void Java_org_libsdl_app_SDLActivity_onNativeKeyDown(
  47.114 -                                    JNIEnv* env, jclass jcls, jint keycode)
  47.115 -{
  47.116 -    Android_OnKeyDown(keycode);
  47.117 -}
  47.118 -
  47.119 -// Keyup
  47.120 -extern "C" void Java_org_libsdl_app_SDLActivity_onNativeKeyUp(
  47.121 -                                    JNIEnv* env, jclass jcls, jint keycode)
  47.122 -{
  47.123 -    Android_OnKeyUp(keycode);
  47.124 -}
  47.125 -
  47.126 -// Touch
  47.127 -extern "C" void Java_org_libsdl_app_SDLActivity_onNativeTouch(
  47.128 -                                    JNIEnv* env, jclass jcls,
  47.129 -                                    jint action, jfloat x, jfloat y, jfloat p)
  47.130 -{
  47.131 -    Android_OnTouch(action, x, y, p);
  47.132 -}
  47.133 -
  47.134 -// Accelerometer
  47.135 -extern "C" void Java_org_libsdl_app_SDLActivity_onNativeAccel(
  47.136 -                                    JNIEnv* env, jclass jcls,
  47.137 -                                    jfloat x, jfloat y, jfloat z)
  47.138 -{
  47.139 -    fLastAccelerometer[0] = x;
  47.140 -    fLastAccelerometer[1] = y;
  47.141 -    fLastAccelerometer[2] = z;   
  47.142 -}
  47.143 -
  47.144 -// Quit
  47.145 -extern "C" void Java_org_libsdl_app_SDLActivity_nativeQuit(
  47.146 -                                    JNIEnv* env, jclass cls)
  47.147 -{    
  47.148 -    // Inject a SDL_QUIT event
  47.149 -    SDL_SendQuit();
  47.150 -}
  47.151 -
  47.152 -extern "C" void Java_org_libsdl_app_SDLActivity_nativeRunAudioThread(
  47.153 -                                    JNIEnv* env, jclass cls)
  47.154 -{
  47.155 -    /* This is the audio thread, with a different environment */
  47.156 -    mAudioEnv = env;
  47.157 -
  47.158 -    Android_RunAudioThread();
  47.159 -}
  47.160 -
  47.161 -
  47.162 -/*******************************************************************************
  47.163 -             Functions called by SDL into Java
  47.164 -*******************************************************************************/
  47.165 -extern "C" void Android_JNI_CreateContext()
  47.166 -{
  47.167 -    mEnv->CallStaticVoidMethod(mActivityClass, midCreateGLContext); 
  47.168 -}
  47.169 -
  47.170 -extern "C" void Android_JNI_SwapWindow()
  47.171 -{
  47.172 -    mEnv->CallStaticVoidMethod(mActivityClass, midFlipBuffers); 
  47.173 -}
  47.174 -
  47.175 -extern "C" void Android_JNI_SetActivityTitle(const char *title)
  47.176 -{
  47.177 -    jmethodID mid;
  47.178 -
  47.179 -    mid = mEnv->GetStaticMethodID(mActivityClass,"setActivityTitle","(Ljava/lang/String;)V");
  47.180 -    if (mid) {
  47.181 -        mEnv->CallStaticVoidMethod(mActivityClass, mid, mEnv->NewStringUTF(title));
  47.182 -    }
  47.183 -}
  47.184 -
  47.185 -extern "C" void Android_JNI_GetAccelerometerValues(float values[3])
  47.186 -{
  47.187 -    int i;
  47.188 -    for (i = 0; i < 3; ++i) {
  47.189 -        values[i] = fLastAccelerometer[i];
  47.190 -    }
  47.191 -}
  47.192 -
  47.193 -//
  47.194 -// Audio support
  47.195 -//
  47.196 -static jboolean audioBuffer16Bit = JNI_FALSE;
  47.197 -static jboolean audioBufferStereo = JNI_FALSE;
  47.198 -static jobject audioBuffer = NULL;
  47.199 -static void* audioBufferPinned = NULL;
  47.200 -
  47.201 -extern "C" int Android_JNI_OpenAudioDevice(int sampleRate, int is16Bit, int channelCount, int desiredBufferFrames)
  47.202 -{
  47.203 -    int audioBufferFrames;
  47.204 -
  47.205 -    __android_log_print(ANDROID_LOG_VERBOSE, "SDL", "SDL audio: opening device");
  47.206 -    audioBuffer16Bit = is16Bit;
  47.207 -    audioBufferStereo = channelCount > 1;
  47.208 -
  47.209 -    audioBuffer = mEnv->CallStaticObjectMethod(mActivityClass, midAudioInit, sampleRate, audioBuffer16Bit, audioBufferStereo, desiredBufferFrames);
  47.210 -
  47.211 -    if (audioBuffer == NULL) {
  47.212 -        __android_log_print(ANDROID_LOG_WARN, "SDL", "SDL audio: didn't get back a good audio buffer!");
  47.213 -        return 0;
  47.214 -    }
  47.215 -    audioBuffer = mEnv->NewGlobalRef(audioBuffer);
  47.216 -
  47.217 -    jboolean isCopy = JNI_FALSE;
  47.218 -    if (audioBuffer16Bit) {
  47.219 -        audioBufferPinned = mEnv->GetShortArrayElements((jshortArray)audioBuffer, &isCopy);
  47.220 -        audioBufferFrames = mEnv->GetArrayLength((jshortArray)audioBuffer);
  47.221 -    } else {
  47.222 -        audioBufferPinned = mEnv->GetByteArrayElements((jbyteArray)audioBuffer, &isCopy);
  47.223 -        audioBufferFrames = mEnv->GetArrayLength((jbyteArray)audioBuffer);
  47.224 -    }
  47.225 -    if (audioBufferStereo) {
  47.226 -        audioBufferFrames /= 2;
  47.227 -    }
  47.228 -
  47.229 -    return audioBufferFrames;
  47.230 -}
  47.231 -
  47.232 -extern "C" void * Android_JNI_GetAudioBuffer()
  47.233 -{
  47.234 -    return audioBufferPinned;
  47.235 -}
  47.236 -
  47.237 -extern "C" void Android_JNI_WriteAudioBuffer()
  47.238 -{
  47.239 -    if (audioBuffer16Bit) {
  47.240 -        mAudioEnv->ReleaseShortArrayElements((jshortArray)audioBuffer, (jshort *)audioBufferPinned, JNI_COMMIT);
  47.241 -        mAudioEnv->CallStaticVoidMethod(mActivityClass, midAudioWriteShortBuffer, (jshortArray)audioBuffer);
  47.242 -    } else {
  47.243 -        mAudioEnv->ReleaseByteArrayElements((jbyteArray)audioBuffer, (jbyte *)audioBufferPinned, JNI_COMMIT);
  47.244 -        mAudioEnv->CallStaticVoidMethod(mActivityClass, midAudioWriteByteBuffer, (jbyteArray)audioBuffer);
  47.245 -    }
  47.246 -
  47.247 -    /* JNI_COMMIT means the changes are committed to the VM but the buffer remains pinned */
  47.248 -}
  47.249 -
  47.250 -extern "C" void Android_JNI_CloseAudioDevice()
  47.251 -{
  47.252 -    mEnv->CallStaticVoidMethod(mActivityClass, midAudioQuit); 
  47.253 -
  47.254 -    if (audioBuffer) {
  47.255 -        mEnv->DeleteGlobalRef(audioBuffer);
  47.256 -        audioBuffer = NULL;
  47.257 -        audioBufferPinned = NULL;
  47.258 -    }
  47.259 -}
  47.260 -
  47.261 -/* vi: set ts=4 sw=4 expandtab: */
    48.1 --- a/src/SDL_android.h	Mon Jan 31 07:36:12 2011 -0800
    48.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.3 @@ -1,50 +0,0 @@
    48.4 -/*
    48.5 -    SDL - Simple DirectMedia Layer
    48.6 -    Copyright (C) 1997-2010 Sam Lantinga
    48.7 -
    48.8 -    This library is free software; you can redistribute it and/or
    48.9 -    modify it under the terms of the GNU Lesser General Public
   48.10 -    License as published by the Free Software Foundation; either
   48.11 -    version 2.1 of the License, or (at your option) any later version.
   48.12 -
   48.13 -    This library is distributed in the hope that it will be useful,
   48.14 -    but WITHOUT ANY WARRANTY; without even the implied warranty of
   48.15 -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   48.16 -    Lesser General Public License for more details.
   48.17 -
   48.18 -    You should have received a copy of the GNU Lesser General Public
   48.19 -    License along with this library; if not, write to the Free Software
   48.20 -    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   48.21 -
   48.22 -    Sam Lantinga
   48.23 -    slouken@libsdl.org
   48.24 -*/
   48.25 -#include "SDL_config.h"
   48.26 -
   48.27 -/* Set up for C function definitions, even when using C++ */
   48.28 -#ifdef __cplusplus
   48.29 -/* *INDENT-OFF* */
   48.30 -extern "C" {
   48.31 -/* *INDENT-ON* */
   48.32 -#endif
   48.33 -
   48.34 -/* Interface from the SDL library into the Android Java activity */
   48.35 -extern void Android_JNI_CreateContext();
   48.36 -extern void Android_JNI_SwapWindow();
   48.37 -extern void Android_JNI_SetActivityTitle(const char *title);
   48.38 -extern void Android_JNI_GetAccelerometerValues(float values[3]);
   48.39 -
   48.40 -// Audio support
   48.41 -extern int Android_JNI_OpenAudioDevice(int sampleRate, int is16Bit, int channelCount, int desiredBufferFrames);
   48.42 -extern void* Android_JNI_GetAudioBuffer();
   48.43 -extern void Android_JNI_WriteAudioBuffer();
   48.44 -extern void Android_JNI_CloseAudioDevice();
   48.45 -
   48.46 -/* Ends C function definitions when using C++ */
   48.47 -#ifdef __cplusplus
   48.48 -/* *INDENT-OFF* */
   48.49 -}
   48.50 -/* *INDENT-ON* */
   48.51 -#endif
   48.52 -
   48.53 -/* vi: set ts=4 sw=4 expandtab: */
    49.1 --- a/src/SDL_assert.c	Mon Jan 31 07:36:12 2011 -0800
    49.2 +++ b/src/SDL_assert.c	Tue Feb 01 00:37:02 2011 -0800
    49.3 @@ -26,9 +26,12 @@
    49.4  #include "SDL_assert_c.h"
    49.5  #include "video/SDL_sysvideo.h"
    49.6  
    49.7 -#ifdef __WINDOWS__
    49.8 -#define WIN32_LEAN_AND_MEAN
    49.9 -#include <windows.h>
   49.10 +#ifdef __WIN32__
   49.11 +#include "core/windows/SDL_windows.h"
   49.12 +
   49.13 +#ifndef WS_OVERLAPPEDWINDOW
   49.14 +#define WS_OVERLAPPEDWINDOW 0
   49.15 +#endif
   49.16  #else  /* fprintf, _exit(), etc. */
   49.17  #include <stdio.h>
   49.18  #include <stdlib.h>
   49.19 @@ -57,11 +60,12 @@
   49.20  static void
   49.21  debug_print(const char *fmt, ...)
   49.22  {
   49.23 -#ifdef __WINDOWS__
   49.24 +#ifdef __WIN32__
   49.25      /* Format into a buffer for OutputDebugStringA(). */
   49.26      char buf[1024];
   49.27      char *startptr;
   49.28      char *ptr;
   49.29 +    LPTSTR tstr;
   49.30      int len;
   49.31      va_list ap;
   49.32      va_start(ap, fmt);
   49.33 @@ -78,15 +82,19 @@
   49.34      for (ptr = startptr; *ptr; ptr++) {
   49.35          if (*ptr == '\n') {
   49.36              *ptr = '\0';
   49.37 -            OutputDebugStringA(startptr);
   49.38 -            OutputDebugStringA("\r\n");
   49.39 +            tstr = WIN_UTF8ToString(startptr);
   49.40 +            OutputDebugString(tstr);
   49.41 +            SDL_free(tstr);
   49.42 +            OutputDebugString(TEXT("\r\n"));
   49.43              startptr = ptr+1;
   49.44          }
   49.45      }
   49.46  
   49.47      /* catch that last piece if it didn't have a newline... */
   49.48      if (startptr != ptr) {
   49.49 -        OutputDebugStringA(startptr);
   49.50 +        tstr = WIN_UTF8ToString(startptr);
   49.51 +        OutputDebugString(tstr);
   49.52 +        SDL_free(tstr);
   49.53      }
   49.54  #else
   49.55      /* Unix has it easy. Just dump it to stderr. */
   49.56 @@ -99,7 +107,7 @@
   49.57  }
   49.58  
   49.59  
   49.60 -#ifdef __WINDOWS__
   49.61 +#ifdef __WIN32__
   49.62  static SDL_assert_state SDL_Windows_AssertChoice = SDL_ASSERTION_ABORT;
   49.63  static const SDL_assert_data *SDL_Windows_AssertData = NULL;
   49.64  
   49.65 @@ -113,6 +121,7 @@
   49.66              /* !!! FIXME: all this code stinks. */
   49.67              const SDL_assert_data *data = SDL_Windows_AssertData;
   49.68              char buf[1024];
   49.69 +            LPTSTR tstr;
   49.70              const int w = 100;
   49.71              const int h = 25;
   49.72              const int gap = 10;
   49.73 @@ -121,14 +130,14 @@
   49.74              int len;
   49.75              int i;
   49.76              static const struct { 
   49.77 -                const char *name;
   49.78 +                LPCTSTR name;
   49.79                  SDL_assert_state state;
   49.80              } buttons[] = {
   49.81 -                {"Abort", SDL_ASSERTION_ABORT },
   49.82 -                {"Break", SDL_ASSERTION_BREAK },
   49.83 -                {"Retry", SDL_ASSERTION_RETRY },
   49.84 -                {"Ignore", SDL_ASSERTION_IGNORE },
   49.85 -                {"Always Ignore", SDL_ASSERTION_ALWAYS_IGNORE },
   49.86 +                {TEXT("Abort"), SDL_ASSERTION_ABORT },
   49.87 +                {TEXT("Break"), SDL_ASSERTION_BREAK },
   49.88 +                {TEXT("Retry"), SDL_ASSERTION_RETRY },
   49.89 +                {TEXT("Ignore"), SDL_ASSERTION_IGNORE },
   49.90 +                {TEXT("Always Ignore"), SDL_ASSERTION_ALWAYS_IGNORE },
   49.91              };
   49.92  
   49.93              len = (int) SDL_snprintf(buf, sizeof (buf), 
   49.94 @@ -140,14 +149,16 @@
   49.95                  buf[sizeof (buf) - 1] = '\0';
   49.96              }
   49.97  
   49.98 -            CreateWindowA("STATIC", buf,
   49.99 +            tstr = WIN_UTF8ToString(buf);
  49.100 +            CreateWindow(TEXT("STATIC"), tstr,
  49.101                           WS_VISIBLE | WS_CHILD | SS_LEFT,
  49.102                           x, y, 550, 100,
  49.103                           hwnd, (HMENU) 1, NULL, NULL);
  49.104 +            SDL_free(tstr);
  49.105              y += 110;
  49.106  
  49.107              for (i = 0; i < (sizeof (buttons) / sizeof (buttons[0])); i++) {
  49.108 -                CreateWindowA("BUTTON", buttons[i].name,
  49.109 +                CreateWindow(TEXT("BUTTON"), buttons[i].name,
  49.110                           WS_VISIBLE | WS_CHILD,
  49.111                           x, y, w, h,
  49.112                           hwnd, (HMENU) buttons[i].state, NULL, NULL);
  49.113 @@ -248,7 +259,7 @@
  49.114  
  49.115  static void SDL_ExitProcess(int exitcode)
  49.116  {
  49.117 -#ifdef __WINDOWS__
  49.118 +#ifdef __WIN32__
  49.119      ExitProcess(42);
  49.120  #else
  49.121      _exit(42);
  49.122 @@ -311,7 +322,7 @@
  49.123  
  49.124      /* platform-specific UI... */
  49.125  
  49.126 -#ifdef __WINDOWS__
  49.127 +#ifdef __WIN32__
  49.128      state = SDL_PromptAssertion_windows(data);
  49.129  
  49.130  #elif __MACOSX__
    50.1 --- a/src/SDL_compat.c	Mon Jan 31 07:36:12 2011 -0800
    50.2 +++ b/src/SDL_compat.c	Tue Feb 01 00:37:02 2011 -0800
    50.3 @@ -1760,6 +1760,31 @@
    50.4      return previous;
    50.5  }
    50.6  
    50.7 +static Uint32
    50.8 +SDL_SetTimerCallback(Uint32 interval, void* param)
    50.9 +{
   50.10 +    return ((SDL_OldTimerCallback)param)(interval);
   50.11 +}
   50.12 +
   50.13 +int
   50.14 +SDL_SetTimer(Uint32 interval, SDL_OldTimerCallback callback)
   50.15 +{
   50.16 +    static SDL_TimerID compat_timer;
   50.17 +
   50.18 +    if (compat_timer) {
   50.19 +        SDL_RemoveTimer(compat_timer);
   50.20 +        compat_timer = 0;
   50.21 +    }
   50.22 +
   50.23 +    if (interval && callback) {
   50.24 +        compat_timer = SDL_AddTimer(interval, SDL_SetTimerCallback, callback);
   50.25 +        if (!compat_timer) {
   50.26 +            return -1;
   50.27 +        }
   50.28 +    }
   50.29 +    return 0;
   50.30 +}
   50.31 +
   50.32  int
   50.33  SDL_putenv(const char *_var)
   50.34  {
    51.1 --- a/src/atomic/SDL_atomic.c	Mon Jan 31 07:36:12 2011 -0800
    51.2 +++ b/src/atomic/SDL_atomic.c	Tue Feb 01 00:37:02 2011 -0800
    51.3 @@ -70,61 +70,8 @@
    51.4      SDL_AtomicUnlock(&locks[index]);
    51.5  }
    51.6  
    51.7 -#undef SDL_AtomicSet
    51.8 -int
    51.9 -SDL_AtomicSet(SDL_atomic_t *a, int value)
   51.10 -{
   51.11 -    int oldvalue;
   51.12 -
   51.13 -    enterLock(a);
   51.14 -    oldvalue = a->value;
   51.15 -    a->value = value;
   51.16 -    leaveLock(a);
   51.17 -
   51.18 -    return oldvalue;
   51.19 -}
   51.20 -
   51.21 -#undef SDL_AtomicGet
   51.22 -int
   51.23 -SDL_AtomicGet(SDL_atomic_t *a)
   51.24 -{
   51.25 -    /* Assuming integral reads on this platform, we're safe here since the
   51.26 -       functions that set the variable have the necessary memory barriers.
   51.27 -    */
   51.28 -    return a->value;
   51.29 -}
   51.30 -
   51.31 -#undef SDL_AtomicAdd
   51.32 -int
   51.33 -SDL_AtomicAdd(SDL_atomic_t *a, int value)
   51.34 -{
   51.35 -    int oldvalue;
   51.36 -
   51.37 -    enterLock(a);
   51.38 -    oldvalue = a->value;
   51.39 -    a->value += value;
   51.40 -    leaveLock(a);
   51.41 -
   51.42 -    return oldvalue;
   51.43 -}
   51.44 -
   51.45 -#undef SDL_AtomicIncRef
   51.46 -void
   51.47 -SDL_AtomicIncRef(SDL_atomic_t *a)
   51.48 -{
   51.49 -    SDL_AtomicAdd(a, 1);
   51.50 -}
   51.51 -
   51.52 -#undef SDL_AtomicDecRef
   51.53  SDL_bool
   51.54 -SDL_AtomicDecRef(SDL_atomic_t *a)
   51.55 -{
   51.56 -    return SDL_AtomicAdd(a, -1) == 1;
   51.57 -}
   51.58 -
   51.59 -#undef SDL_AtomicCAS
   51.60 -SDL_bool
   51.61 -SDL_AtomicCAS(SDL_atomic_t *a, int oldval, int newval)
   51.62 +SDL_AtomicCAS_(SDL_atomic_t *a, int oldval, int newval)
   51.63  {
   51.64      SDL_bool retval = SDL_FALSE;
   51.65  
   51.66 @@ -138,28 +85,8 @@
   51.67      return retval;
   51.68  }
   51.69  
   51.70 -#undef SDL_AtomicSetPtr
   51.71 -void
   51.72 -SDL_AtomicSetPtr(void** a, void* value)
   51.73 -{
   51.74 -    void *prevval;
   51.75 -    do {
   51.76 -        prevval = *a;
   51.77 -    } while (!SDL_AtomicCASPtr(a, prevval, value));
   51.78 -}
   51.79 -
   51.80 -#undef SDL_AtomicGetPtr
   51.81 -void*
   51.82 -SDL_AtomicGetPtr(void** a)
   51.83 -{
   51.84 -    /* Assuming integral reads on this platform, we're safe here since the
   51.85 -       functions that set the pointer have the necessary memory barriers.
   51.86 -    */
   51.87 -    return *a;
   51.88 -}
   51.89 -
   51.90 -#undef SDL_AtomicCASPtr
   51.91 -SDL_bool SDL_AtomicCASPtr(void **a, void *oldval, void *newval)
   51.92 +SDL_bool
   51.93 +SDL_AtomicCASPtr_(void **a, void *oldval, void *newval)
   51.94  {
   51.95      SDL_bool retval = SDL_FALSE;
   51.96  
    52.1 --- a/src/atomic/SDL_spinlock.c	Mon Jan 31 07:36:12 2011 -0800
    52.2 +++ b/src/atomic/SDL_spinlock.c	Tue Feb 01 00:37:02 2011 -0800
    52.3 @@ -25,8 +25,8 @@
    52.4  #include "SDL_timer.h"
    52.5  
    52.6  /* Don't do the check for Visual Studio 2005, it's safe here */
    52.7 -#if defined(_MSC_VER)
    52.8 -#include <intrin.h>
    52.9 +#ifdef __WIN32__
   52.10 +#include "../core/windows/SDL_windows.h"
   52.11  #endif
   52.12  
   52.13  /* This function is where all the magic happens... */
   52.14 @@ -35,12 +35,12 @@
   52.15  {
   52.16  #if defined(_MSC_VER)
   52.17      SDL_COMPILE_TIME_ASSERT(locksize, sizeof(*lock) == sizeof(long));
   52.18 -    return (_InterlockedExchange((long*)lock, 1) == 0);
   52.19 +    return (InterlockedExchange((long*)lock, 1) == 0);
   52.20  
   52.21  #elif defined(__MACOSX__)
   52.22      return OSAtomicCompareAndSwap32Barrier(0, 1, lock);
   52.23  
   52.24 -#elif defined(HAVE_GCC_ATOMICS) || defined(HAVE_GCC_SYNC_LOCK_TEST_AND_SET)
   52.25 +#elif HAVE_GCC_ATOMICS || HAVE_GCC_SYNC_LOCK_TEST_AND_SET
   52.26      return (__sync_lock_test_and_set(lock, 1) == 0);
   52.27  
   52.28  #elif defined(__GNUC__) && defined(__arm__) && defined(__ARM_ARCH_5__)
   52.29 @@ -75,8 +75,16 @@
   52.30  void
   52.31  SDL_AtomicUnlock(SDL_SpinLock *lock)
   52.32  {
   52.33 -    /* Assuming atomic assignment operation and full memory barrier in lock */
   52.34 +#if defined(_MSC_VER)
   52.35 +    _ReadWriteBarrier();
   52.36      *lock = 0;
   52.37 +
   52.38 +#elif HAVE_GCC_ATOMICS || HAVE_GCC_SYNC_LOCK_TEST_AND_SET
   52.39 +    __sync_lock_release(lock);
   52.40 +
   52.41 +#else
   52.42 +    *lock = 0;
   52.43 +#endif
   52.44  }
   52.45  
   52.46  /* vi: set ts=4 sw=4 expandtab: */
    53.1 --- a/src/audio/SDL_audio.c	Mon Jan 31 07:36:12 2011 -0800
    53.2 +++ b/src/audio/SDL_audio.c	Tue Feb 01 00:37:02 2011 -0800
    53.3 @@ -971,7 +971,7 @@
    53.4      if (!current_audio.impl.ProvidesOwnCallbackThread) {
    53.5          /* Start the audio thread */
    53.6  /* !!! FIXME: this is nasty. */
    53.7 -#if (defined(__WINDOWS__) && !defined(_WIN32_WCE)) && !defined(HAVE_LIBC)
    53.8 +#if (defined(__WIN32__) && !defined(_WIN32_WCE)) && !defined(HAVE_LIBC)
    53.9  #undef SDL_CreateThread
   53.10          device->thread = SDL_CreateThread(SDL_RunAudio, device, NULL, NULL);
   53.11  #else
    54.1 --- a/src/audio/android/SDL_androidaudio.c	Mon Jan 31 07:36:12 2011 -0800
    54.2 +++ b/src/audio/android/SDL_androidaudio.c	Tue Feb 01 00:37:02 2011 -0800
    54.3 @@ -27,7 +27,7 @@
    54.4  #include "../SDL_audio_c.h"
    54.5  #include "SDL_androidaudio.h"
    54.6  
    54.7 -#include "../../SDL_android.h"
    54.8 +#include "../../core/android/SDL_android.h"
    54.9  
   54.10  #include <android/log.h>
   54.11  
    55.1 --- a/src/audio/pulseaudio/SDL_pulseaudio.c	Mon Jan 31 07:36:12 2011 -0800
    55.2 +++ b/src/audio/pulseaudio/SDL_pulseaudio.c	Tue Feb 01 00:37:02 2011 -0800
    55.3 @@ -304,38 +304,6 @@
    55.4  }
    55.5  
    55.6  
    55.7 -/* !!! FIXME: this could probably be expanded. */
    55.8 -/* Try to get the name of the program */
    55.9 -static char *
   55.10 -get_progname(void)
   55.11 -{
   55.12 -#ifdef __LINUX__
   55.13 -    char *progname = NULL;
   55.14 -    FILE *fp;
   55.15 -    static char temp[BUFSIZ];
   55.16 -
   55.17 -    SDL_snprintf(temp, SDL_arraysize(temp), "/proc/%d/cmdline", getpid());
   55.18 -    fp = fopen(temp, "r");
   55.19 -    if (fp != NULL) {
   55.20 -        if (fgets(temp, sizeof(temp) - 1, fp)) {
   55.21 -            progname = SDL_strrchr(temp, '/');
   55.22 -            if (progname == NULL) {
   55.23 -                progname = temp;
   55.24 -            } else {
   55.25 -                progname = progname + 1;
   55.26 -            }
   55.27 -        }
   55.28 -        fclose(fp);
   55.29 -    }
   55.30 -    return(progname);
   55.31 -#elif defined(__NetBSD__)
   55.32 -    return getprogname();
   55.33 -#else
   55.34 -    return("unknown");
   55.35 -#endif
   55.36 -}
   55.37 -
   55.38 -
   55.39  static int
   55.40  PULSEAUDIO_OpenDevice(_THIS, const char *devname, int iscapture)
   55.41  {
   55.42 @@ -438,7 +406,7 @@
   55.43      }
   55.44  
   55.45      h->mainloop_api = PULSEAUDIO_pa_mainloop_get_api(h->mainloop);
   55.46 -    h->context = PULSEAUDIO_pa_context_new(h->mainloop_api, get_progname());
   55.47 +    h->context = PULSEAUDIO_pa_context_new(h->mainloop_api, NULL);
   55.48      if (!h->context) {
   55.49          PULSEAUDIO_CloseDevice(this);
   55.50          SDL_SetError("pa_context_new() failed");
    56.1 --- a/src/audio/windib/SDL_dibaudio.c	Mon Jan 31 07:36:12 2011 -0800
    56.2 +++ b/src/audio/windib/SDL_dibaudio.c	Tue Feb 01 00:37:02 2011 -0800
    56.3 @@ -23,8 +23,7 @@
    56.4  
    56.5  /* Allow access to a raw mixing buffer */
    56.6  
    56.7 -#define WIN32_LEAN_AND_MEAN
    56.8 -#include <windows.h>
    56.9 +#include "../../core/windows/SDL_windows.h"
   56.10  #include <mmsystem.h>
   56.11  
   56.12  #include "SDL_timer.h"
   56.13 @@ -67,21 +66,14 @@
   56.14  {
   56.15      size_t len;
   56.16      char errbuf[MAXERRORLENGTH];
   56.17 -#ifdef _WIN32_WCE
   56.18      wchar_t werrbuf[MAXERRORLENGTH];
   56.19 -#endif
   56.20  
   56.21      SDL_snprintf(errbuf, SDL_arraysize(errbuf), "%s: ", function);
   56.22      len = SDL_strlen(errbuf);
   56.23  
   56.24 -#ifdef _WIN32_WCE
   56.25 -    /* UNICODE version */
   56.26      waveOutGetErrorText(code, werrbuf, MAXERRORLENGTH - len);
   56.27      WideCharToMultiByte(CP_ACP, 0, werrbuf, -1, errbuf + len,
   56.28                          MAXERRORLENGTH - len, NULL, NULL);
   56.29 -#else
   56.30 -    waveOutGetErrorText(code, errbuf + len, (UINT) (MAXERRORLENGTH - len));
   56.31 -#endif
   56.32  
   56.33      SDL_SetError("%s", errbuf);
   56.34  }
    57.1 --- a/src/audio/windx5/SDL_dx5audio.c	Mon Jan 31 07:36:12 2011 -0800
    57.2 +++ b/src/audio/windx5/SDL_dx5audio.c	Tue Feb 01 00:37:02 2011 -0800
    57.3 @@ -24,6 +24,7 @@
    57.4  /* Allow access to a raw mixing buffer */
    57.5  
    57.6  #include "SDL_timer.h"
    57.7 +#include "SDL_loadso.h"
    57.8  #include "SDL_audio.h"
    57.9  #include "../SDL_audio_c.h"
   57.10  #include "SDL_dx5audio.h"
   57.11 @@ -38,19 +39,19 @@
   57.12  #endif
   57.13  
   57.14  /* DirectX function pointers for audio */
   57.15 -static HINSTANCE DSoundDLL = NULL;
   57.16 +static void* DSoundDLL = NULL;
   57.17  static HRESULT(WINAPI * DSoundCreate) (LPGUID, LPDIRECTSOUND *, LPUNKNOWN) =
   57.18      NULL;
   57.19  
   57.20  static void
   57.21  DSOUND_Unload(void)
   57.22  {
   57.23 +    DSoundCreate = NULL;
   57.24 +
   57.25      if (DSoundDLL != NULL) {
   57.26 -        FreeLibrary(DSoundDLL);
   57.27 +        SDL_UnloadObject(DSoundDLL);
   57.28 +        DSoundDLL = NULL;
   57.29      }
   57.30 -
   57.31 -    DSoundCreate = NULL;
   57.32 -    DSoundDLL = NULL;
   57.33  }
   57.34  
   57.35  
   57.36 @@ -61,17 +62,16 @@
   57.37  
   57.38      DSOUND_Unload();
   57.39  
   57.40 -    DSoundDLL = LoadLibrary(TEXT("DSOUND.DLL"));
   57.41 +    DSoundDLL = SDL_LoadObject("DSOUND.DLL");
   57.42      if (DSoundDLL == NULL) {
   57.43          SDL_SetError("DirectSound: failed to load DSOUND.DLL");
   57.44      } else {
   57.45          /* Now make sure we have DirectX 5 or better... */
   57.46          /*  (DirectSoundCaptureCreate was added in DX5) */
   57.47 -        if (!GetProcAddress(DSoundDLL, TEXT("DirectSoundCaptureCreate"))) {
   57.48 +        if (!SDL_LoadFunction(DSoundDLL, "DirectSoundCaptureCreate")) {
   57.49              SDL_SetError("DirectSound: System doesn't appear to have DX5.");
   57.50          } else {
   57.51 -            DSoundCreate = (void *) GetProcAddress(DSoundDLL,
   57.52 -                                                   TEXT("DirectSoundCreate"));
   57.53 +            DSoundCreate = SDL_LoadFunction(DSoundDLL, "DirectSoundCreate");
   57.54          }
   57.55  
   57.56          if (!DSoundCreate) {
    58.1 --- a/src/audio/windx5/directx.h	Mon Jan 31 07:36:12 2011 -0800
    58.2 +++ b/src/audio/windx5/directx.h	Tue Feb 01 00:37:02 2011 -0800
    58.3 @@ -4,8 +4,7 @@
    58.4  
    58.5  /* Include all of the DirectX 5.0 headers and adds any necessary tweaks */
    58.6  
    58.7 -#define WIN32_LEAN_AND_MEAN
    58.8 -#include <windows.h>
    58.9 +#include "../../core/windows/SDL_windows.h"
   58.10  #include <mmsystem.h>
   58.11  #ifndef WIN32
   58.12  #define WIN32
    59.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    59.2 +++ b/src/core/android/SDL_android.cpp	Tue Feb 01 00:37:02 2011 -0800
    59.3 @@ -0,0 +1,258 @@
    59.4 +/*
    59.5 +    SDL - Simple DirectMedia Layer
    59.6 +    Copyright (C) 1997-2010 Sam Lantinga
    59.7 +
    59.8 +    This library is free software; you can redistribute it and/or
    59.9 +    modify it under the terms of the GNU Lesser General Public
   59.10 +    License as published by the Free Software Foundation; either
   59.11 +    version 2.1 of the License, or (at your option) any later version.
   59.12 +
   59.13 +    This library is distributed in the hope that it will be useful,
   59.14 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
   59.15 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   59.16 +    Lesser General Public License for more details.
   59.17 +
   59.18 +    You should have received a copy of the GNU Lesser General Public
   59.19 +    License along with this library; if not, write to the Free Software
   59.20 +    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   59.21 +
   59.22 +    Sam Lantinga
   59.23 +    slouken@libsdl.org
   59.24 +*/
   59.25 +#include "SDL_config.h"
   59.26 +
   59.27 +#include "SDL_android.h"
   59.28 +
   59.29 +extern "C" {
   59.30 +#include "../../events/SDL_events_c.h"
   59.31 +#include "../../video/android/SDL_androidkeyboard.h"
   59.32 +#include "../../video/android/SDL_androidtouch.h"
   59.33 +#include "../../video/android/SDL_androidvideo.h"
   59.34 +
   59.35 +/* Impelemented in audio/android/SDL_androidaudio.c */
   59.36 +extern void Android_RunAudioThread();
   59.37 +} // C
   59.38 +
   59.39 +/*******************************************************************************
   59.40 + This file links the Java side of Android with libsdl
   59.41 +*******************************************************************************/
   59.42 +#include <jni.h>
   59.43 +#include <android/log.h>
   59.44 +
   59.45 +
   59.46 +/*******************************************************************************
   59.47 +                               Globals
   59.48 +*******************************************************************************/
   59.49 +static JNIEnv* mEnv = NULL;
   59.50 +static JNIEnv* mAudioEnv = NULL;
   59.51 +
   59.52 +// Main activity
   59.53 +static jclass mActivityClass;
   59.54 +
   59.55 +// method signatures
   59.56 +static jmethodID midCreateGLContext;
   59.57 +static jmethodID midFlipBuffers;
   59.58 +static jmethodID midAudioInit;
   59.59 +static jmethodID midAudioWriteShortBuffer;
   59.60 +static jmethodID midAudioWriteByteBuffer;
   59.61 +static jmethodID midAudioQuit;
   59.62 +
   59.63 +// Accelerometer data storage
   59.64 +static float fLastAccelerometer[3];
   59.65 +
   59.66 +
   59.67 +/*******************************************************************************
   59.68 +                 Functions called by JNI
   59.69 +*******************************************************************************/
   59.70 +
   59.71 +// Library init
   59.72 +extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved)
   59.73 +{
   59.74 +    return JNI_VERSION_1_4;
   59.75 +}
   59.76 +
   59.77 +// Called before SDL_main() to initialize JNI bindings
   59.78 +extern "C" void SDL_Android_Init(JNIEnv* env, jclass cls)
   59.79 +{
   59.80 +    __android_log_print(ANDROID_LOG_INFO, "SDL", "SDL_Android_Init()");
   59.81 +
   59.82 +    mEnv = env;
   59.83 +    mActivityClass = cls;
   59.84 +
   59.85 +    midCreateGLContext = mEnv->GetStaticMethodID(mActivityClass,
   59.86 +                                "createGLContext","()V");
   59.87 +    midFlipBuffers = mEnv->GetStaticMethodID(mActivityClass,
   59.88 +                                "flipBuffers","()V");
   59.89 +    midAudioInit = mEnv->GetStaticMethodID(mActivityClass, 
   59.90 +                                "audioInit", "(IZZI)Ljava/lang/Object;");
   59.91 +    midAudioWriteShortBuffer = mEnv->GetStaticMethodID(mActivityClass,
   59.92 +                                "audioWriteShortBuffer", "([S)V");
   59.93 +    midAudioWriteByteBuffer = mEnv->GetStaticMethodID(mActivityClass,
   59.94 +                                "audioWriteByteBuffer", "([B)V");
   59.95 +    midAudioQuit = mEnv->GetStaticMethodID(mActivityClass,
   59.96 +                                "audioQuit", "()V");
   59.97 +
   59.98 +    if(!midCreateGLContext || !midFlipBuffers || !midAudioInit ||
   59.99 +       !midAudioWriteShortBuffer || !midAudioWriteByteBuffer || !midAudioQuit) {
  59.100 +        __android_log_print(ANDROID_LOG_WARN, "SDL", "SDL: Couldn't locate Java callbacks, check that they're named and typed correctly");
  59.101 +    }
  59.102 +}
  59.103 +
  59.104 +// Resize
  59.105 +extern "C" void Java_org_libsdl_app_SDLActivity_onNativeResize(
  59.106 +                                    JNIEnv* env, jclass jcls,
  59.107 +                                    jint width, jint height, jint format)
  59.108 +{
  59.109 +    Android_SetScreenResolution(width, height, format);
  59.110 +}
  59.111 +
  59.112 +// Keydown
  59.113 +extern "C" void Java_org_libsdl_app_SDLActivity_onNativeKeyDown(
  59.114 +                                    JNIEnv* env, jclass jcls, jint keycode)
  59.115 +{
  59.116 +    Android_OnKeyDown(keycode);
  59.117 +}
  59.118 +
  59.119 +// Keyup
  59.120 +extern "C" void Java_org_libsdl_app_SDLActivity_onNativeKeyUp(
  59.121 +                                    JNIEnv* env, jclass jcls, jint keycode)
  59.122 +{
  59.123 +    Android_OnKeyUp(keycode);
  59.124 +}
  59.125 +
  59.126 +// Touch
  59.127 +extern "C" void Java_org_libsdl_app_SDLActivity_onNativeTouch(
  59.128 +                                    JNIEnv* env, jclass jcls,
  59.129 +                                    jint action, jfloat x, jfloat y, jfloat p)
  59.130 +{
  59.131 +    Android_OnTouch(action, x, y, p);
  59.132 +}
  59.133 +
  59.134 +// Accelerometer
  59.135 +extern "C" void Java_org_libsdl_app_SDLActivity_onNativeAccel(
  59.136 +                                    JNIEnv* env, jclass jcls,
  59.137 +                                    jfloat x, jfloat y, jfloat z)
  59.138 +{
  59.139 +    fLastAccelerometer[0] = x;
  59.140 +    fLastAccelerometer[1] = y;
  59.141 +    fLastAccelerometer[2] = z;   
  59.142 +}
  59.143 +
  59.144 +// Quit
  59.145 +extern "C" void Java_org_libsdl_app_SDLActivity_nativeQuit(
  59.146 +                                    JNIEnv* env, jclass cls)
  59.147 +{    
  59.148 +    // Inject a SDL_QUIT event
  59.149 +    SDL_SendQuit();
  59.150 +}
  59.151 +
  59.152 +extern "C" void Java_org_libsdl_app_SDLActivity_nativeRunAudioThread(
  59.153 +                                    JNIEnv* env, jclass cls)
  59.154 +{
  59.155 +    /* This is the audio thread, with a different environment */
  59.156 +    mAudioEnv = env;
  59.157 +
  59.158 +    Android_RunAudioThread();
  59.159 +}
  59.160 +
  59.161 +
  59.162 +/*******************************************************************************
  59.163 +             Functions called by SDL into Java
  59.164 +*******************************************************************************/
  59.165 +extern "C" void Android_JNI_CreateContext()
  59.166 +{
  59.167 +    mEnv->CallStaticVoidMethod(mActivityClass, midCreateGLContext); 
  59.168 +}
  59.169 +
  59.170 +extern "C" void Android_JNI_SwapWindow()
  59.171 +{
  59.172 +    mEnv->CallStaticVoidMethod(mActivityClass, midFlipBuffers); 
  59.173 +}
  59.174 +
  59.175 +extern "C" void Android_JNI_SetActivityTitle(const char *title)
  59.176 +{
  59.177 +    jmethodID mid;
  59.178 +
  59.179 +    mid = mEnv->GetStaticMethodID(mActivityClass,"setActivityTitle","(Ljava/lang/String;)V");
  59.180 +    if (mid) {
  59.181 +        mEnv->CallStaticVoidMethod(mActivityClass, mid, mEnv->NewStringUTF(title));
  59.182 +    }
  59.183 +}
  59.184 +
  59.185 +extern "C" void Android_JNI_GetAccelerometerValues(float values[3])
  59.186 +{
  59.187 +    int i;
  59.188 +    for (i = 0; i < 3; ++i) {
  59.189 +        values[i] = fLastAccelerometer[i];
  59.190 +    }
  59.191 +}
  59.192 +
  59.193 +//
  59.194 +// Audio support
  59.195 +//
  59.196 +static jboolean audioBuffer16Bit = JNI_FALSE;
  59.197 +static jboolean audioBufferStereo = JNI_FALSE;
  59.198 +static jobject audioBuffer = NULL;
  59.199 +static void* audioBufferPinned = NULL;
  59.200 +
  59.201 +extern "C" int Android_JNI_OpenAudioDevice(int sampleRate, int is16Bit, int channelCount, int desiredBufferFrames)
  59.202 +{
  59.203 +    int audioBufferFrames;
  59.204 +
  59.205 +    __android_log_print(ANDROID_LOG_VERBOSE, "SDL", "SDL audio: opening device");
  59.206 +    audioBuffer16Bit = is16Bit;
  59.207 +    audioBufferStereo = channelCount > 1;
  59.208 +
  59.209 +    audioBuffer = mEnv->CallStaticObjectMethod(mActivityClass, midAudioInit, sampleRate, audioBuffer16Bit, audioBufferStereo, desiredBufferFrames);
  59.210 +
  59.211 +    if (audioBuffer == NULL) {
  59.212 +        __android_log_print(ANDROID_LOG_WARN, "SDL", "SDL audio: didn't get back a good audio buffer!");
  59.213 +        return 0;
  59.214 +    }
  59.215 +    audioBuffer = mEnv->NewGlobalRef(audioBuffer);
  59.216 +
  59.217 +    jboolean isCopy = JNI_FALSE;
  59.218 +    if (audioBuffer16Bit) {
  59.219 +        audioBufferPinned = mEnv->GetShortArrayElements((jshortArray)audioBuffer, &isCopy);
  59.220 +        audioBufferFrames = mEnv->GetArrayLength((jshortArray)audioBuffer);
  59.221 +    } else {
  59.222 +        audioBufferPinned = mEnv->GetByteArrayElements((jbyteArray)audioBuffer, &isCopy);
  59.223 +        audioBufferFrames = mEnv->GetArrayLength((jbyteArray)audioBuffer);
  59.224 +    }
  59.225 +    if (audioBufferStereo) {
  59.226 +        audioBufferFrames /= 2;
  59.227 +    }
  59.228 +
  59.229 +    return audioBufferFrames;
  59.230 +}
  59.231 +
  59.232 +extern "C" void * Android_JNI_GetAudioBuffer()
  59.233 +{
  59.234 +    return audioBufferPinned;
  59.235 +}
  59.236 +
  59.237 +extern "C" void Android_JNI_WriteAudioBuffer()
  59.238 +{
  59.239 +    if (audioBuffer16Bit) {
  59.240 +        mAudioEnv->ReleaseShortArrayElements((jshortArray)audioBuffer, (jshort *)audioBufferPinned, JNI_COMMIT);
  59.241 +        mAudioEnv->CallStaticVoidMethod(mActivityClass, midAudioWriteShortBuffer, (jshortArray)audioBuffer);
  59.242 +    } else {
  59.243 +        mAudioEnv->ReleaseByteArrayElements((jbyteArray)audioBuffer, (jbyte *)audioBufferPinned, JNI_COMMIT);
  59.244 +        mAudioEnv->CallStaticVoidMethod(mActivityClass, midAudioWriteByteBuffer, (jbyteArray)audioBuffer);
  59.245 +    }
  59.246 +
  59.247 +    /* JNI_COMMIT means the changes are committed to the VM but the buffer remains pinned */
  59.248 +}
  59.249 +
  59.250 +extern "C" void Android_JNI_CloseAudioDevice()
  59.251 +{
  59.252 +    mEnv->CallStaticVoidMethod(mActivityClass, midAudioQuit); 
  59.253 +
  59.254 +    if (audioBuffer) {
  59.255 +        mEnv->DeleteGlobalRef(audioBuffer);
  59.256 +        audioBuffer = NULL;
  59.257 +        audioBufferPinned = NULL;
  59.258 +    }
  59.259 +}
  59.260 +
  59.261 +/* vi: set ts=4 sw=4 expandtab: */
    60.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    60.2 +++ b/src/core/android/SDL_android.h	Tue Feb 01 00:37:02 2011 -0800
    60.3 @@ -0,0 +1,50 @@
    60.4 +/*
    60.5 +    SDL - Simple DirectMedia Layer
    60.6 +    Copyright (C) 1997-2010 Sam Lantinga
    60.7 +
    60.8 +    This library is free software; you can redistribute it and/or
    60.9 +    modify it under the terms of the GNU Lesser General Public
   60.10 +    License as published by the Free Software Foundation; either
   60.11 +    version 2.1 of the License, or (at your option) any later version.
   60.12 +
   60.13 +    This library is distributed in the hope that it will be useful,
   60.14 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
   60.15 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   60.16 +    Lesser General Public License for more details.
   60.17 +
   60.18 +    You should have received a copy of the GNU Lesser General Public
   60.19 +    License along with this library; if not, write to the Free Software
   60.20 +    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   60.21 +
   60.22 +    Sam Lantinga
   60.23 +    slouken@libsdl.org
   60.24 +*/
   60.25 +#include "SDL_config.h"
   60.26 +
   60.27 +/* Set up for C function definitions, even when using C++ */
   60.28 +#ifdef __cplusplus
   60.29 +/* *INDENT-OFF* */
   60.30 +extern "C" {
   60.31 +/* *INDENT-ON* */
   60.32 +#endif
   60.33 +
   60.34 +/* Interface from the SDL library into the Android Java activity */
   60.35 +extern void Android_JNI_CreateContext();
   60.36 +extern void Android_JNI_SwapWindow();
   60.37 +extern void Android_JNI_SetActivityTitle(const char *title);
   60.38 +extern void Android_JNI_GetAccelerometerValues(float values[3]);
   60.39 +
   60.40 +// Audio support
   60.41 +extern int Android_JNI_OpenAudioDevice(int sampleRate, int is16Bit, int channelCount, int desiredBufferFrames);
   60.42 +extern void* Android_JNI_GetAudioBuffer();
   60.43 +extern void Android_JNI_WriteAudioBuffer();
   60.44 +extern void Android_JNI_CloseAudioDevice();
   60.45 +
   60.46 +/* Ends C function definitions when using C++ */
   60.47 +#ifdef __cplusplus
   60.48 +/* *INDENT-OFF* */
   60.49 +}
   60.50 +/* *INDENT-ON* */
   60.51 +#endif
   60.52 +
   60.53 +/* vi: set ts=4 sw=4 expandtab: */
    61.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    61.2 +++ b/src/core/windows/SDL_windows.c	Tue Feb 01 00:37:02 2011 -0800
    61.3 @@ -0,0 +1,41 @@
    61.4 +/*
    61.5 +    SDL - Simple DirectMedia Layer
    61.6 +    Copyright (C) 1997-2010 Sam Lantinga
    61.7 +
    61.8 +    This library is free software; you can redistribute it and/or
    61.9 +    modify it under the terms of the GNU Lesser General Public
   61.10 +    License as published by the Free Software Foundation; either
   61.11 +    version 2.1 of the License, or (at your option) any later version.
   61.12 +
   61.13 +    This library is distributed in the hope that it will be useful,
   61.14 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
   61.15 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   61.16 +    Lesser General Public License for more details.
   61.17 +
   61.18 +    You should have received a copy of the GNU Lesser General Public
   61.19 +    License along with this library; if not, write to the Free Software
   61.20 +    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   61.21 +
   61.22 +    Sam Lantinga
   61.23 +    slouken@libsdl.org
   61.24 +*/
   61.25 +#include "SDL_config.h"
   61.26 +
   61.27 +#include "SDL_error.h"
   61.28 +#include "SDL_windows.h"
   61.29 +
   61.30 +
   61.31 +/* Sets an error message based on GetLastError() */
   61.32 +void
   61.33 +WIN_SetError(const char *prefix)
   61.34 +{
   61.35 +    TCHAR buffer[1024];
   61.36 +    char *message;
   61.37 +    FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0,
   61.38 +                  buffer, SDL_arraysize(buffer), NULL);
   61.39 +    message = WIN_StringToUTF8(buffer);
   61.40 +    SDL_SetError("%s%s%s", prefix ? prefix : "", prefix ? ": " : "", message);
   61.41 +    SDL_free(message);
   61.42 +}
   61.43 +
   61.44 +/* vi: set ts=4 sw=4 expandtab: */
    62.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    62.2 +++ b/src/core/windows/SDL_windows.h	Tue Feb 01 00:37:02 2011 -0800
    62.3 @@ -0,0 +1,53 @@
    62.4 +/*
    62.5 +    SDL - Simple DirectMedia Layer
    62.6 +    Copyright (C) 1997-2010 Sam Lantinga
    62.7 +
    62.8 +    This library is free software; you can redistribute it and/or
    62.9 +    modify it under the terms of the GNU Lesser General Public
   62.10 +    License as published by the Free Software Foundation; either
   62.11 +    version 2.1 of the License, or (at your option) any later version.
   62.12 +
   62.13 +    This library is distributed in the hope that it will be useful,
   62.14 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
   62.15 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   62.16 +    Lesser General Public License for more details.
   62.17 +
   62.18 +    You should have received a copy of the GNU Lesser General Public
   62.19 +    License along with this library; if not, write to the Free Software
   62.20 +    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   62.21 +
   62.22 +    Sam Lantinga
   62.23 +    slouken@libsdl.org
   62.24 +*/
   62.25 +
   62.26 +/* This is an include file for windows.h with the SDL build settings */
   62.27 +
   62.28 +#ifndef _INCLUDED_WINDOWS_H
   62.29 +#define _INCLUDED_WINDOWS_H
   62.30 +
   62.31 +#define WIN32_LEAN_AND_MEAN
   62.32 +#define STRICT
   62.33 +#ifndef UNICODE
   62.34 +#define UNICODE 1
   62.35 +#endif
   62.36 +#undef WINVER
   62.37 +#define WINVER  0x500           /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */
   62.38 +
   62.39 +#include <windows.h>
   62.40 +
   62.41 +
   62.42 +/* Routines to convert from UTF8 to native Windows text */
   62.43 +#if UNICODE
   62.44 +#define WIN_StringToUTF8(S) SDL_iconv_string("UTF-8", "UCS-2", (char *)(S), (SDL_wcslen(S)+1)*sizeof(WCHAR))
   62.45 +#define WIN_UTF8ToString(S) (WCHAR *)SDL_iconv_string("UCS-2", "UTF-8", (char *)(S), SDL_strlen(S)+1)
   62.46 +#else
   62.47 +#define WIN_StringToUTF8(S) SDL_iconv_string("UTF-8", "ASCII", (char *)(S), (SDL_strlen(S)+1))
   62.48 +#define WIN_UTF8ToString(S) SDL_iconv_string("ASCII", "UTF-8", (char *)(S), SDL_strlen(S)+1)
   62.49 +#endif
   62.50 +
   62.51 +/* Sets an error message based on GetLastError() */
   62.52 +extern void WIN_SetError(const char *prefix);
   62.53 +
   62.54 +#endif /* _INCLUDED_WINDOWS_H */
   62.55 +
   62.56 +/* vi: set ts=4 sw=4 expandtab: */
    63.1 --- a/src/cpuinfo/SDL_cpuinfo.c	Mon Jan 31 07:36:12 2011 -0800
    63.2 +++ b/src/cpuinfo/SDL_cpuinfo.c	Tue Feb 01 00:37:02 2011 -0800
    63.3 @@ -38,9 +38,8 @@
    63.4  #include <signal.h>
    63.5  #include <setjmp.h>
    63.6  #endif
    63.7 -#ifdef __WINDOWS__
    63.8 -#define WIN32_LEAN_AND_MEAN
    63.9 -#include <windows.h>
   63.10 +#ifdef __WIN32__
   63.11 +#include "../core/windows/SDL_windows.h"
   63.12  #endif
   63.13  
   63.14  #define CPU_HAS_RDTSC   0x00000001
   63.15 @@ -305,7 +304,7 @@
   63.16  static int SDL_CPUCount = 0;
   63.17  
   63.18  int
   63.19 -SDL_GetCPUCount()
   63.20 +SDL_GetCPUCount(void)
   63.21  {
   63.22      if (!SDL_CPUCount) {
   63.23  #if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
   63.24 @@ -319,7 +318,7 @@
   63.25              sysctlbyname("hw.ncpu", &SDL_CPUCount, &size, NULL, 0);
   63.26          }
   63.27  #endif
   63.28 -#ifdef __WINDOWS__
   63.29 +#ifdef __WIN32__
   63.30          if (SDL_CPUCount <= 0) {
   63.31              SYSTEM_INFO info;
   63.32              GetSystemInfo(&info);
   63.33 @@ -336,75 +335,127 @@
   63.34  
   63.35  /* Oh, such a sweet sweet trick, just not very useful. :) */
   63.36  static const char *
   63.37 -SDL_GetCPUType()
   63.38 +SDL_GetCPUType(void)
   63.39  {
   63.40 -    static char SDL_CPUType[48];
   63.41 +    static char SDL_CPUType[13];
   63.42  
   63.43      if (!SDL_CPUType[0]) {
   63.44          int i = 0;
   63.45          int a, b, c, d;
   63.46  
   63.47          if (CPU_haveCPUID()) {
   63.48 +            cpuid(0x00000000, a, b, c, d);
   63.49 +            SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
   63.50 +            SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
   63.51 +            SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
   63.52 +            SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
   63.53 +            SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
   63.54 +            SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
   63.55 +            SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
   63.56 +            SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
   63.57 +            SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
   63.58 +            SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
   63.59 +            SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
   63.60 +            SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
   63.61 +        }
   63.62 +        if (!SDL_CPUType[0]) {
   63.63 +            SDL_strlcpy(SDL_CPUType, "Unknown", sizeof(SDL_CPUType));
   63.64 +        }
   63.65 +    }
   63.66 +    return SDL_CPUType;
   63.67 +}
   63.68 +
   63.69 +static const char *
   63.70 +SDL_GetCPUName(void)
   63.71 +{
   63.72 +    static char SDL_CPUName[48];
   63.73 +
   63.74 +    if (!SDL_CPUName[0]) {
   63.75 +        int i = 0;
   63.76 +        int a, b, c, d;
   63.77 +
   63.78 +        if (CPU_haveCPUID()) {
   63.79              cpuid(0x80000000, a, b, c, d);
   63.80              if (a >= 0x80000004) {
   63.81                  cpuid(0x80000002, a, b, c, d);
   63.82 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
   63.83 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
   63.84 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
   63.85 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
   63.86 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
   63.87 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
   63.88 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
   63.89 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
   63.90 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
   63.91 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
   63.92 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
   63.93 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
   63.94 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
   63.95 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
   63.96 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
   63.97 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
   63.98 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
   63.99 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.100 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.101 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.102 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.103 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.104 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.105 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.106 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.107 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.108 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.109 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.110 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.111 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.112 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.113 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.114                  cpuid(0x80000003, a, b, c, d);
  63.115 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
  63.116 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
  63.117 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
  63.118 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
  63.119 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
  63.120 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
  63.121 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
  63.122 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
  63.123 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
  63.124 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
  63.125 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
  63.126 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
  63.127 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
  63.128 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
  63.129 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
  63.130 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
  63.131 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.132 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.133 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.134 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.135 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.136 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.137 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.138 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.139 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.140 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.141 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.142 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.143 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.144 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.145 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.146 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.147                  cpuid(0x80000004, a, b, c, d);
  63.148 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
  63.149 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
  63.150 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
  63.151 -                SDL_CPUType[i++] = (char)(a & 0xff); a >>= 8;
  63.152 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
  63.153 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
  63.154 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
  63.155 -                SDL_CPUType[i++] = (char)(b & 0xff); b >>= 8;
  63.156 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
  63.157 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
  63.158 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
  63.159 -                SDL_CPUType[i++] = (char)(c & 0xff); c >>= 8;
  63.160 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
  63.161 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
  63.162 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
  63.163 -                SDL_CPUType[i++] = (char)(d & 0xff); d >>= 8;
  63.164 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.165 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.166 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.167 +                SDL_CPUName[i++] = (char)(a & 0xff); a >>= 8;
  63.168 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.169 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.170 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.171 +                SDL_CPUName[i++] = (char)(b & 0xff); b >>= 8;
  63.172 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.173 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.174 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.175 +                SDL_CPUName[i++] = (char)(c & 0xff); c >>= 8;
  63.176 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.177 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.178 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.179 +                SDL_CPUName[i++] = (char)(d & 0xff); d >>= 8;
  63.180              }
  63.181          }
  63.182 -        if (!SDL_CPUType[0]) {
  63.183 -            SDL_strlcpy(SDL_CPUType, "Unknown", sizeof(SDL_CPUType));
  63.184 +        if (!SDL_CPUName[0]) {
  63.185 +            SDL_strlcpy(SDL_CPUName, "Unknown", sizeof(SDL_CPUName));
  63.186          }
  63.187      }
  63.188 -    return SDL_CPUType;
  63.189 +    return SDL_CPUName;
  63.190 +}
  63.191 +
  63.192 +int
  63.193 +SDL_GetCPUCacheLineSize(void)
  63.194 +{
  63.195 +    const char *cpuType = SDL_GetCPUType();
  63.196 +
  63.197 +    if (SDL_strcmp(cpuType, "GenuineIntel") == 0) {
  63.198 +        int a, b, c, d;
  63.199 +
  63.200 +        cpuid(0x00000001, a, b, c, d);
  63.201 +        return (((b >> 8) & 0xff) * 8);
  63.202 +    } else if (SDL_strcmp(cpuType, "AuthenticAMD") == 0) {
  63.203 +        int a, b, c, d;
  63.204 +
  63.205 +        cpuid(0x80000005, a, b, c, d);
  63.206 +        return (c & 0xff);
  63.207 +    } else {
  63.208 +        /* Just make a guess here... */
  63.209 +        return SDL_CACHELINE_SIZE;
  63.210 +    }
  63.211  }
  63.212  
  63.213  static Uint32 SDL_CPUFeatures = 0xFFFFFFFF;
  63.214 @@ -522,7 +573,9 @@
  63.215  main()
  63.216  {
  63.217      printf("CPU count: %d\n", SDL_GetCPUCount());
  63.218 -    printf("CPU name: %s\n", SDL_GetCPUType());
  63.219 +    printf("CPU type: %s\n", SDL_GetCPUType());
  63.220 +    printf("CPU name: %s\n", SDL_GetCPUName());
  63.221 +    printf("CacheLine size: %d\n", SDL_GetCPUCacheLineSize());
  63.222      printf("RDTSC: %d\n", SDL_HasRDTSC());
  63.223      printf("MMX: %d\n", SDL_HasMMX());
  63.224      printf("MMXExt: %d\n", SDL_HasMMXExt());
    64.1 --- a/src/events/SDL_events.c	Mon Jan 31 07:36:12 2011 -0800
    64.2 +++ b/src/events/SDL_events.c	Tue Feb 01 00:37:02 2011 -0800
    64.3 @@ -27,12 +27,12 @@
    64.4  #include "SDL_events.h"
    64.5  #include "SDL_syswm.h"
    64.6  #include "SDL_thread.h"
    64.7 -#include "SDL_sysevents.h"
    64.8  #include "SDL_events_c.h"
    64.9  #include "../timer/SDL_timer_c.h"
   64.10  #if !SDL_JOYSTICK_DISABLED
   64.11  #include "../joystick/SDL_joystick_c.h"
   64.12  #endif
   64.13 +#include "../video/SDL_sysvideo.h"
   64.14  
   64.15  /* Public data -- the event filter */
   64.16  SDL_EventFilter SDL_EventOK = NULL;
   64.17 @@ -58,36 +58,6 @@
   64.18      struct SDL_SysWMmsg wmmsg[MAXEVENTS];
   64.19  } SDL_EventQ;
   64.20  
   64.21 -/* Private data -- event locking structure */
   64.22 -static struct
   64.23 -{
   64.24 -    SDL_mutex *lock;
   64.25 -    int safe;
   64.26 -} SDL_EventLock;
   64.27 -
   64.28 -/* Thread functions */
   64.29 -static SDL_Thread *SDL_EventThread = NULL;      /* Thread handle */
   64.30 -static SDL_threadID event_thread;     /* The event thread id */
   64.31 -
   64.32 -void
   64.33 -SDL_Lock_EventThread(void)
   64.34 -{
   64.35 -    if (SDL_EventThread && (SDL_ThreadID() != event_thread)) {
   64.36 -        /* Grab lock and spin until we're sure event thread stopped */
   64.37 -        SDL_mutexP(SDL_EventLock.lock);
   64.38 -        while (!SDL_EventLock.safe) {
   64.39 -            SDL_Delay(1);
   64.40 -        }
   64.41 -    }
   64.42 -}
   64.43 -
   64.44 -void
   64.45 -SDL_Unlock_EventThread(void)
   64.46 -{
   64.47 -    if (SDL_EventThread && (SDL_ThreadID() != event_thread)) {
   64.48 -        SDL_mutexV(SDL_EventLock.lock);
   64.49 -    }
   64.50 -}
   64.51  
   64.52  static __inline__ SDL_bool
   64.53  SDL_ShouldPollJoystick()
   64.54 @@ -102,112 +72,6 @@
   64.55      return SDL_FALSE;
   64.56  }
   64.57  
   64.58 -static int SDLCALL
   64.59 -SDL_GobbleEvents(void *unused)
   64.60 -{
   64.61 -    event_thread = SDL_ThreadID();
   64.62 -
   64.63 -    while (SDL_EventQ.active) {
   64.64 -        SDL_VideoDevice *_this = SDL_GetVideoDevice();
   64.65 -
   64.66 -        /* Get events from the video subsystem */
   64.67 -        if (_this) {
   64.68 -            _this->PumpEvents(_this);
   64.69 -        }
   64.70 -#if !SDL_JOYSTICK_DISABLED
   64.71 -        /* Check for joystick state change */
   64.72 -        if (SDL_ShouldPollJoystick()) {
   64.73 -            SDL_JoystickUpdate();
   64.74 -        }
   64.75 -#endif
   64.76 -
   64.77 -        /* Give up the CPU for the rest of our timeslice */
   64.78 -        SDL_EventLock.safe = 1;
   64.79 -        if (SDL_timer_running) {
   64.80 -            SDL_ThreadedTimerCheck();
   64.81 -        }
   64.82 -        SDL_Delay(1);
   64.83 -
   64.84 -        /* Check for event locking.
   64.85 -           On the P of the lock mutex, if the lock is held, this thread
   64.86 -           will wait until the lock is released before continuing.  The
   64.87 -           safe flag will be set, meaning that the other thread can go
   64.88 -           about it's business.  The safe flag is reset before the V,
   64.89 -           so as soon as the mutex is free, other threads can see that
   64.90 -           it's not safe to interfere with the event thread.
   64.91 -         */
   64.92 -        SDL_mutexP(SDL_EventLock.lock);
   64.93 -        SDL_EventLock.safe = 0;
   64.94 -        SDL_mutexV(SDL_EventLock.lock);
   64.95 -    }
   64.96 -    SDL_SetTimerThreaded(0);
   64.97 -    event_thread = 0;
   64.98 -    return (0);
   64.99 -}
  64.100 -
  64.101 -static int
  64.102 -SDL_StartEventThread(Uint32 flags)
  64.103 -{
  64.104 -    /* Reset everything to zero */
  64.105 -    SDL_EventThread = NULL;
  64.106 -    SDL_memset(&SDL_EventLock, 0, sizeof(SDL_EventLock));
  64.107 -
  64.108 -    /* Create the lock and set ourselves active */
  64.109 -#if !SDL_THREADS_DISABLED
  64.110 -    SDL_EventQ.lock = SDL_CreateMutex();
  64.111 -    if (SDL_EventQ.lock == NULL) {
  64.112 -        return (-1);
  64.113 -    }
  64.114 -#endif /* !SDL_THREADS_DISABLED */
  64.115 -    SDL_EventQ.active = 1;
  64.116 -
  64.117 -    if ((flags & SDL_INIT_EVENTTHREAD) == SDL_INIT_EVENTTHREAD) {
  64.118 -        SDL_EventLock.lock = SDL_CreateMutex();
  64.119 -        if (SDL_EventLock.lock == NULL) {
  64.120 -            return (-1);
  64.121 -        }
  64.122 -        SDL_EventLock.safe = 0;
  64.123 -
  64.124 -        /* The event thread will handle timers too */
  64.125 -        SDL_SetTimerThreaded(2);
  64.126 -#if (defined(__WINDOWS__) && !defined(_WIN32_WCE)) && !defined(HAVE_LIBC)
  64.127 -#undef SDL_CreateThread
  64.128 -        SDL_EventThread =
  64.129 -            SDL_CreateThread(SDL_GobbleEvents, NULL, NULL, NULL);
  64.130 -#else
  64.131 -        SDL_EventThread = SDL_CreateThread(SDL_GobbleEvents, NULL);
  64.132 -#endif
  64.133 -        if (SDL_EventThread == NULL) {
  64.134 -            return (-1);
  64.135 -        }
  64.136 -    } else {
  64.137 -        event_thread = 0;
  64.138 -    }
  64.139 -    return (0);
  64.140 -}
  64.141 -
  64.142 -static void
  64.143 -SDL_StopEventThread(void)
  64.144 -{
  64.145 -    SDL_EventQ.active = 0;
  64.146 -    if (SDL_EventThread) {
  64.147 -        SDL_WaitThread(SDL_EventThread, NULL);
  64.148 -        SDL_EventThread = NULL;
  64.149 -        SDL_DestroyMutex(SDL_EventLock.lock);
  64.150 -        SDL_EventLock.lock = NULL;
  64.151 -    }
  64.152 -    if (SDL_EventQ.lock) {
  64.153 -        SDL_DestroyMutex(SDL_EventQ.lock);
  64.154 -        SDL_EventQ.lock = NULL;
  64.155 -    }
  64.156 -}
  64.157 -
  64.158 -SDL_threadID
  64.159 -SDL_EventThreadID(void)
  64.160 -{
  64.161 -    return (event_thread);
  64.162 -}
  64.163 -
  64.164  /* Public functions */
  64.165  
  64.166  void
  64.167 @@ -215,13 +79,10 @@
  64.168  {
  64.169      int i;
  64.170  
  64.171 -    /* Halt the event thread, if running */
  64.172 -    SDL_StopEventThread();
  64.173 -
  64.174 -    /* Shutdown event handlers */
  64.175 -    SDL_KeyboardQuit();
  64.176 -    SDL_MouseQuit();
  64.177 -    SDL_QuitQuit();
  64.178 +    if (SDL_EventQ.lock) {
  64.179 +        SDL_DestroyMutex(SDL_EventQ.lock);
  64.180 +        SDL_EventQ.lock = NULL;
  64.181 +    }
  64.182  
  64.183      /* Clean out EventQ */
  64.184      SDL_EventQ.head = 0;
  64.185 @@ -239,12 +100,11 @@
  64.186  
  64.187  /* This function (and associated calls) may be called more than once */
  64.188  int
  64.189 -SDL_StartEventLoop(Uint32 flags)
  64.190 +SDL_StartEventLoop(void)
  64.191  {
  64.192      int retcode;
  64.193  
  64.194      /* Clean out the event queue */
  64.195 -    SDL_EventThread = NULL;
  64.196      SDL_EventQ.lock = NULL;
  64.197      SDL_StopEventLoop();
  64.198  
  64.199 @@ -252,22 +112,15 @@
  64.200      SDL_EventOK = NULL;
  64.201      SDL_EventState(SDL_SYSWMEVENT, SDL_DISABLE);
  64.202  
  64.203 -    /* Initialize event handlers */
  64.204 -    retcode = 0;
  64.205 -    retcode += SDL_KeyboardInit();
  64.206 -    retcode += SDL_MouseInit();
  64.207 -    retcode += SDL_TouchInit();
  64.208 -    retcode += SDL_QuitInit();
  64.209 -    if (retcode < 0) {
  64.210 -        /* We don't expect them to fail, but... */
  64.211 +    /* Create the lock and set ourselves active */
  64.212 +#if !SDL_THREADS_DISABLED
  64.213 +    SDL_EventQ.lock = SDL_CreateMutex();
  64.214 +    if (SDL_EventQ.lock == NULL) {
  64.215          return (-1);
  64.216      }
  64.217 +#endif /* !SDL_THREADS_DISABLED */
  64.218 +    SDL_EventQ.active = 1;
  64.219  
  64.220 -    /* Create the lock and event thread */
  64.221 -    if (SDL_StartEventThread(flags) < 0) {
  64.222 -        SDL_StopEventLoop();
  64.223 -        return (-1);
  64.224 -    }
  64.225      return (0);
  64.226  }
  64.227  
  64.228 @@ -426,20 +279,18 @@
  64.229  void
  64.230  SDL_PumpEvents(void)
  64.231  {
  64.232 -    if (!SDL_EventThread) {
  64.233 -        SDL_VideoDevice *_this = SDL_GetVideoDevice();
  64.234 +    SDL_VideoDevice *_this = SDL_GetVideoDevice();
  64.235  
  64.236 -        /* Get events from the video subsystem */
  64.237 -        if (_this) {
  64.238 -            _this->PumpEvents(_this);
  64.239 -        }
  64.240 +    /* Get events from the video subsystem */
  64.241 +    if (_this) {
  64.242 +        _this->PumpEvents(_this);
  64.243 +    }
  64.244  #if !SDL_JOYSTICK_DISABLED
  64.245 -        /* Check for joystick state change */
  64.246 -        if (SDL_ShouldPollJoystick()) {
  64.247 -            SDL_JoystickUpdate();
  64.248 -        }
  64.249 +    /* Check for joystick state change */
  64.250 +    if (SDL_ShouldPollJoystick()) {
  64.251 +        SDL_JoystickUpdate();
  64.252 +    }
  64.253  #endif
  64.254 -    }
  64.255  }
  64.256  
  64.257  /* Public functions */
    65.1 --- a/src/events/SDL_events_c.h	Mon Jan 31 07:36:12 2011 -0800
    65.2 +++ b/src/events/SDL_events_c.h	Tue Feb 01 00:37:02 2011 -0800
    65.3 @@ -29,15 +29,12 @@
    65.4  #include "SDL_touch_c.h"
    65.5  #include "SDL_windowevents_c.h"
    65.6  #include "SDL_gesture_c.h"
    65.7 +
    65.8  /* Start and stop the event processing loop */
    65.9 -extern int SDL_StartEventLoop(Uint32 flags);
   65.10 +extern int SDL_StartEventLoop(void);
   65.11  extern void SDL_StopEventLoop(void);
   65.12  extern void SDL_QuitInterrupt(void);
   65.13  
   65.14 -extern void SDL_Lock_EventThread(void);
   65.15 -extern void SDL_Unlock_EventThread(void);
   65.16 -extern SDL_threadID SDL_EventThreadID(void);
   65.17 -
   65.18  extern int SDL_SendSysWMEvent(SDL_SysWMmsg * message);
   65.19  
   65.20  extern int SDL_QuitInit(void);
    66.1 --- a/src/events/SDL_keyboard.c	Mon Jan 31 07:36:12 2011 -0800
    66.2 +++ b/src/events/SDL_keyboard.c	Tue Feb 01 00:37:02 2011 -0800
    66.3 @@ -26,7 +26,7 @@
    66.4  #include "SDL_timer.h"
    66.5  #include "SDL_events.h"
    66.6  #include "SDL_events_c.h"
    66.7 -#include "SDL_sysevents.h"
    66.8 +#include "../video/SDL_sysvideo.h"
    66.9  
   66.10  
   66.11  /* Global keyboard information */
   66.12 @@ -562,7 +562,7 @@
   66.13  SDL_ResetKeyboard(void)
   66.14  {
   66.15      SDL_Keyboard *keyboard = &SDL_keyboard;
   66.16 -    SDL_scancode scancode;
   66.17 +    SDL_ScanCode scancode;
   66.18  
   66.19      for (scancode = 0; scancode < SDL_NUM_SCANCODES; ++scancode) {
   66.20          if (keyboard->keystate[scancode] == SDL_PRESSED) {
   66.21 @@ -590,7 +590,7 @@
   66.22  }
   66.23  
   66.24  void
   66.25 -SDL_SetScancodeName(SDL_scancode scancode, const char *name)
   66.26 +SDL_SetScancodeName(SDL_ScanCode scancode, const char *name)
   66.27  {
   66.28      SDL_scancode_names[scancode] = name;
   66.29  }
   66.30 @@ -638,7 +638,7 @@
   66.31  }
   66.32  
   66.33  int
   66.34 -SDL_SendKeyboardKey(Uint8 state, SDL_scancode scancode)
   66.35 +SDL_SendKeyboardKey(Uint8 state, SDL_ScanCode scancode)
   66.36  {
   66.37      SDL_Keyboard *keyboard = &SDL_keyboard;
   66.38      int posted;
   66.39 @@ -849,18 +849,18 @@
   66.40  }
   66.41  
   66.42  SDLKey
   66.43 -SDL_GetKeyFromScancode(SDL_scancode scancode)
   66.44 +SDL_GetKeyFromScancode(SDL_ScanCode scancode)
   66.45  {
   66.46      SDL_Keyboard *keyboard = &SDL_keyboard;
   66.47  
   66.48      return keyboard->keymap[scancode];
   66.49  }
   66.50  
   66.51 -SDL_scancode
   66.52 +SDL_ScanCode
   66.53  SDL_GetScancodeFromKey(SDLKey key)
   66.54  {
   66.55      SDL_Keyboard *keyboard = &SDL_keyboard;
   66.56 -    SDL_scancode scancode;
   66.57 +    SDL_ScanCode scancode;
   66.58  
   66.59      for (scancode = SDL_SCANCODE_UNKNOWN; scancode < SDL_NUM_SCANCODES;
   66.60           ++scancode) {
   66.61 @@ -872,7 +872,7 @@
   66.62  }
   66.63  
   66.64  const char *
   66.65 -SDL_GetScancodeName(SDL_scancode scancode)
   66.66 +SDL_GetScancodeName(SDL_ScanCode scancode)
   66.67  {
   66.68      const char *name = SDL_scancode_names[scancode];
   66.69  
   66.70 @@ -890,7 +890,7 @@
   66.71  
   66.72      if (key & SDLK_SCANCODE_MASK) {
   66.73          return
   66.74 -            SDL_GetScancodeName((SDL_scancode) (key & ~SDLK_SCANCODE_MASK));
   66.75 +            SDL_GetScancodeName((SDL_ScanCode) (key & ~SDLK_SCANCODE_MASK));
   66.76      }
   66.77  
   66.78      switch (key) {
    67.1 --- a/src/events/SDL_keyboard_c.h	Mon Jan 31 07:36:12 2011 -0800
    67.2 +++ b/src/events/SDL_keyboard_c.h	Tue Feb 01 00:37:02 2011 -0800
    67.3 @@ -43,13 +43,13 @@
    67.4     name. Encoded as UTF-8. The string is not copied, thus the pointer given to
    67.5     this function must stay valid forever (or at least until the call to
    67.6     VideoQuit()). */
    67.7 -extern void SDL_SetScancodeName(SDL_scancode scancode, const char *name);
    67.8 +extern void SDL_SetScancodeName(SDL_ScanCode scancode, const char *name);
    67.9  
   67.10  /* Set the keyboard focus window */
   67.11  extern void SDL_SetKeyboardFocus(SDL_Window * window);
   67.12  
   67.13  /* Send a keyboard key event */
   67.14 -extern int SDL_SendKeyboardKey(Uint8 state, SDL_scancode scancode);
   67.15 +extern int SDL_SendKeyboardKey(Uint8 state, SDL_ScanCode scancode);
   67.16  
   67.17  /* Send keyboard text input */
   67.18  extern int SDL_SendKeyboardText(const char *text);
    68.1 --- a/src/events/SDL_sysevents.h	Mon Jan 31 07:36:12 2011 -0800
    68.2 +++ b/src/events/SDL_sysevents.h	Tue Feb 01 00:37:02 2011 -0800
    68.3 @@ -29,7 +29,7 @@
    68.4  #define MUST_THREAD_EVENTS
    68.5  #endif
    68.6  
    68.7 -#ifdef __WINDOWS__              /* Windows doesn't allow a separate event thread */
    68.8 +#ifdef __WIN32__              /* Windows doesn't allow a separate event thread */
    68.9  #define CANT_THREAD_EVENTS
   68.10  #endif
   68.11  
    69.1 --- a/src/events/SDL_touch.c	Mon Jan 31 07:36:12 2011 -0800
    69.2 +++ b/src/events/SDL_touch.c	Tue Feb 01 00:37:02 2011 -0800
    69.3 @@ -397,15 +397,16 @@
    69.4                      float xin, float yin, float pressurein)
    69.5  {
    69.6      int index = SDL_GetTouchIndexId(id);
    69.7 -    SDL_Touch *touch = SDL_GetTouch(id);
    69.8 -    SDL_Finger *finger = SDL_GetFinger(touch,fingerid);
    69.9 +    SDL_Touch *touch;
   69.10 +    SDL_Finger *finger;
   69.11      int posted;
   69.12      Sint16 xrel, yrel;
   69.13      float x_max = 0, y_max = 0;
   69.14 -        Uint16 x;
   69.15 -        Uint16 y;
   69.16 -        Uint16 pressure;
   69.17 +    Uint16 x;
   69.18 +    Uint16 y;
   69.19 +    Uint16 pressure;
   69.20      
   69.21 +    touch = SDL_GetTouch(id);
   69.22      if (!touch) {
   69.23        return SDL_TouchNotFoundError(id);
   69.24      }
   69.25 @@ -418,6 +419,7 @@
   69.26          return 0;
   69.27      }
   69.28      
   69.29 +    finger = SDL_GetFinger(touch,fingerid);
   69.30      if(finger == NULL || !finger->down) {
   69.31          return SDL_SendFingerDown(id,fingerid,SDL_TRUE,xin,yin,pressurein);        
   69.32      } else {
   69.33 @@ -496,14 +498,16 @@
   69.34          return posted;
   69.35      }
   69.36  }
   69.37 +
   69.38  int
   69.39  SDL_SendTouchButton(SDL_TouchID id, Uint8 state, Uint8 button)
   69.40  {
   69.41 -    SDL_Touch *touch = SDL_GetTouch(id);
   69.42 +    SDL_Touch *touch;
   69.43      int posted;
   69.44      Uint32 type;
   69.45  
   69.46      
   69.47 +    touch = SDL_GetTouch(id);
   69.48      if (!touch) {
   69.49        return SDL_TouchNotFoundError(id);
   69.50      }
    70.1 --- a/src/events/SDL_windowevents.c	Mon Jan 31 07:36:12 2011 -0800
    70.2 +++ b/src/events/SDL_windowevents.c	Tue Feb 01 00:37:02 2011 -0800
    70.3 @@ -176,6 +176,14 @@
    70.4  
    70.5          posted = (SDL_PushEvent(&event) > 0);
    70.6      }
    70.7 +	
    70.8 +	if (windowevent == SDL_WINDOWEVENT_CLOSE) {
    70.9 +		if ( !window->prev && !window->next ) {
   70.10 +			// This is the last window in the list so send the SDL_QUIT event
   70.11 +			SDL_SendQuit();
   70.12 +		}
   70.13 +	}
   70.14 +
   70.15      return (posted);
   70.16  }
   70.17  
    71.1 --- a/src/events/scancodes_darwin.h	Mon Jan 31 07:36:12 2011 -0800
    71.2 +++ b/src/events/scancodes_darwin.h	Tue Feb 01 00:37:02 2011 -0800
    71.3 @@ -27,7 +27,7 @@
    71.4     - experimentation on various ADB and USB ISO keyboards and one ADB ANSI keyboard
    71.5  */
    71.6  /* *INDENT-OFF* */
    71.7 -static const SDL_scancode darwin_scancode_table[] = {
    71.8 +static const SDL_ScanCode darwin_scancode_table[] = {
    71.9      /*   0 */   SDL_SCANCODE_A,
   71.10      /*   1 */   SDL_SCANCODE_S,
   71.11      /*   2 */   SDL_SCANCODE_D,
    72.1 --- a/src/events/scancodes_linux.h	Mon Jan 31 07:36:12 2011 -0800
    72.2 +++ b/src/events/scancodes_linux.h	Tue Feb 01 00:37:02 2011 -0800
    72.3 @@ -26,7 +26,7 @@
    72.4     - Linux kernel source input.h
    72.5  */
    72.6  /* *INDENT-OFF* */
    72.7 -static SDL_scancode const linux_scancode_table[] = {
    72.8 +static SDL_ScanCode const linux_scancode_table[] = {
    72.9      /*  0 */    SDL_SCANCODE_UNKNOWN,
   72.10      /*  1 */    SDL_SCANCODE_ESCAPE,
   72.11      /*  2 */    SDL_SCANCODE_1,
    73.1 --- a/src/events/scancodes_windows.h	Mon Jan 31 07:36:12 2011 -0800
    73.2 +++ b/src/events/scancodes_windows.h	Tue Feb 01 00:37:02 2011 -0800
    73.3 @@ -26,7 +26,7 @@
    73.4     - msdn.microsoft.com
    73.5  */
    73.6  /* *INDENT-OFF* */
    73.7 -static const SDL_scancode windows_scancode_table[] = {
    73.8 +static const SDL_ScanCode windows_scancode_table[] = {
    73.9      /*  0, 0x00 */      SDL_SCANCODE_UNKNOWN,
   73.10      /*  1, 0x01 */      SDL_SCANCODE_UNKNOWN,
   73.11      /*  2, 0x02 */      SDL_SCANCODE_UNKNOWN,
    74.1 --- a/src/events/scancodes_xfree86.h	Mon Jan 31 07:36:12 2011 -0800
    74.2 +++ b/src/events/scancodes_xfree86.h	Tue Feb 01 00:37:02 2011 -0800
    74.3 @@ -26,7 +26,7 @@
    74.4     - atKeyNames.h from XFree86 source code
    74.5  */
    74.6  /* *INDENT-OFF* */
    74.7 -static const SDL_scancode xfree86_scancode_table[] = {
    74.8 +static const SDL_ScanCode xfree86_scancode_table[] = {
    74.9      /*  0 */    SDL_SCANCODE_UNKNOWN,
   74.10      /*  1 */    SDL_SCANCODE_ESCAPE,
   74.11      /*  2 */    SDL_SCANCODE_1,
   74.12 @@ -177,7 +177,7 @@
   74.13  };
   74.14  
   74.15  /* for wireless usb keyboard (manufacturer TRUST) without numpad. */
   74.16 -static const SDL_scancode xfree86_scancode_table2[] = {
   74.17 +static const SDL_ScanCode xfree86_scancode_table2[] = {
   74.18      /*  0 */    SDL_SCANCODE_UNKNOWN,
   74.19      /*  1 */    SDL_SCANCODE_ESCAPE,
   74.20      /*  2 */    SDL_SCANCODE_1,
    75.1 --- a/src/file/SDL_rwops.c	Mon Jan 31 07:36:12 2011 -0800
    75.2 +++ b/src/file/SDL_rwops.c	Tue Feb 01 00:37:02 2011 -0800
    75.3 @@ -37,15 +37,14 @@
    75.4  #include <fat.h>
    75.5  #endif /* __NDS__ */
    75.6  
    75.7 -#ifdef __WINDOWS__
    75.8 +#ifdef __WIN32__
    75.9  
   75.10  /* Functions to read/write Win32 API file pointers */
   75.11  /* Will not use it on WinCE because stdio is buffered, it means
   75.12     faster, and all stdio functions anyway are embedded in coredll.dll - 
   75.13     the main wince dll*/
   75.14  
   75.15 -#define WINDOWS_LEAN_AND_MEAN
   75.16 -#include <windows.h>
   75.17 +#include "../core/windows/SDL_windows.h"
   75.18  
   75.19  #ifndef INVALID_SET_FILE_POINTER
   75.20  #define INVALID_SET_FILE_POINTER 0xFFFFFFFF
   75.21 @@ -98,34 +97,28 @@
   75.22      }
   75.23  #ifdef _WIN32_WCE
   75.24      {
   75.25 -        size_t size = SDL_strlen(filename) + 1;
   75.26 -        wchar_t *filenameW = SDL_stack_alloc(wchar_t, size);
   75.27 -
   75.28 -        if (MultiByteToWideChar(CP_UTF8, 0, filename, -1, filenameW, size) ==
   75.29 -            0) {
   75.30 -            SDL_stack_free(filenameW);
   75.31 -            SDL_free(context->hidden.windowsio.buffer.data);
   75.32 -            context->hidden.windowsio.buffer.data = NULL;
   75.33 -            SDL_SetError("Unable to convert filename to Unicode");
   75.34 -            return -1;
   75.35 -        }
   75.36 -        h = CreateFile(filenameW, (w_right | r_right),
   75.37 +        LPTSTR tstr = WIN_UTF8ToString(filename);
   75.38 +        h = CreateFile(tstr, (w_right | r_right),
   75.39                         (w_right) ? 0 : FILE_SHARE_READ, NULL,
   75.40                         (must_exist | truncate | a_mode),
   75.41                         FILE_ATTRIBUTE_NORMAL, NULL);
   75.42 -        SDL_stack_free(filenameW);
   75.43 +        SDL_free(tstr);
   75.44      }
   75.45  #else
   75.46      /* Do not open a dialog box if failure */
   75.47      old_error_mode =
   75.48          SetErrorMode(SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS);
   75.49  
   75.50 -    h = CreateFile(filename, (w_right | r_right),
   75.51 -                   (w_right) ? 0 : FILE_SHARE_READ, NULL,
   75.52 -                   (must_exist | truncate | a_mode), FILE_ATTRIBUTE_NORMAL,
   75.53 -                   NULL);
   75.54 +    {
   75.55 +        LPTSTR tstr = WIN_UTF8ToString(filename);
   75.56 +        h = CreateFile(tstr, (w_right | r_right),
   75.57 +                       (w_right) ? 0 : FILE_SHARE_READ, NULL,
   75.58 +                       (must_exist | truncate | a_mode),
   75.59 +                       FILE_ATTRIBUTE_NORMAL, NULL);
   75.60 +        SDL_free(tstr);
   75.61 +    }
   75.62  
   75.63 -    /* restore old behaviour */
   75.64 +    /* restore old behavior */
   75.65      SetErrorMode(old_error_mode);
   75.66  #endif /* _WIN32_WCE */
   75.67  
   75.68 @@ -295,7 +288,7 @@
   75.69      }
   75.70      return (0);
   75.71  }
   75.72 -#endif /* __WINDOWS__ */
   75.73 +#endif /* __WIN32__ */
   75.74  
   75.75  #ifdef HAVE_STDIO_H
   75.76  
   75.77 @@ -449,7 +442,7 @@
   75.78          SDL_SetError("SDL_RWFromFile(): No file or no mode specified");
   75.79          return NULL;
   75.80      }
   75.81 -#if defined(__WINDOWS__)
   75.82 +#if defined(__WIN32__)
   75.83      rwops = SDL_AllocRW();
   75.84      if (!rwops)
   75.85          return NULL;            /* SDL_SetError already setup by SDL_AllocRW() */
    76.1 --- a/src/haptic/windows/SDL_syshaptic.c	Mon Jan 31 07:36:12 2011 -0800
    76.2 +++ b/src/haptic/windows/SDL_syshaptic.c	Tue Feb 01 00:37:02 2011 -0800
    76.3 @@ -39,6 +39,7 @@
    76.4  static struct
    76.5  {
    76.6      DIDEVICEINSTANCE instance;
    76.7 +    char *name;
    76.8      SDL_Haptic *haptic;
    76.9      DIDEVCAPS capabilities;
   76.10  } SDL_hapticlist[MAX_HAPTICS];
   76.11 @@ -220,6 +221,9 @@
   76.12          return DIENUM_CONTINUE;
   76.13      }
   76.14  
   76.15 +    /* Copy the name */
   76.16 +    SDL_hapticlist[SDL_numhaptics].name = WIN_StringToUTF8(SDL_hapticlist[SDL_numhaptics].instance.tszProductName);
   76.17 +
   76.18      /* Close up device and count it. */
   76.19      IDirectInputDevice_Release(device);
   76.20      SDL_numhaptics++;
   76.21 @@ -238,7 +242,7 @@
   76.22  const char *
   76.23  SDL_SYS_HapticName(int index)
   76.24  {
   76.25 -    return SDL_hapticlist[index].instance.tszProductName;
   76.26 +    return SDL_hapticlist[index].name;
   76.27  }
   76.28  
   76.29  
   76.30 @@ -630,6 +634,15 @@
   76.31  void
   76.32  SDL_SYS_HapticQuit(void)
   76.33  {
   76.34 +    int i;
   76.35 +
   76.36 +    for (i = 0; i < SDL_arraysize(SDL_hapticlist); ++i) {
   76.37 +        if (SDL_hapticlist[i].name) {
   76.38 +            SDL_free(SDL_hapticlist[i].name);
   76.39 +            SDL_hapticlist[i].name = NULL;
   76.40 +        }
   76.41 +    }
   76.42 +
   76.43      IDirectInput_Release(dinput);
   76.44      dinput = NULL;
   76.45  }
    77.1 --- a/src/joystick/SDL_joystick.c	Mon Jan 31 07:36:12 2011 -0800
    77.2 +++ b/src/joystick/SDL_joystick.c	Tue Feb 01 00:37:02 2011 -0800
    77.3 @@ -30,12 +30,6 @@
    77.4  #include "../events/SDL_events_c.h"
    77.5  #endif
    77.6  
    77.7 -/* This is used for Quake III Arena */
    77.8 -#if SDL_EVENTS_DISABLED
    77.9 -#define SDL_Lock_EventThread()
   77.10 -#define SDL_Unlock_EventThread()
   77.11 -#endif
   77.12 -
   77.13  Uint8 SDL_numjoysticks = 0;
   77.14  SDL_Joystick **SDL_joysticks = NULL;
   77.15  static SDL_Joystick *default_joystick = NULL;
   77.16 @@ -165,11 +159,9 @@
   77.17  
   77.18      /* Add joystick to list */
   77.19      ++joystick->ref_count;
   77.20 -    SDL_Lock_EventThread();
   77.21      for (i = 0; SDL_joysticks[i]; ++i)
   77.22          /* Skip to next joystick */ ;
   77.23      SDL_joysticks[i] = joystick;
   77.24 -    SDL_Unlock_EventThread();
   77.25  
   77.26      return (joystick);
   77.27  }
   77.28 @@ -379,9 +371,6 @@
   77.29          return;
   77.30      }
   77.31  
   77.32 -    /* Lock the event queue - prevent joystick polling */
   77.33 -    SDL_Lock_EventThread();
   77.34 -
   77.35      if (joystick == default_joystick) {
   77.36          default_joystick = NULL;
   77.37      }
   77.38 @@ -396,9 +385,6 @@
   77.39          }
   77.40      }
   77.41  
   77.42 -    /* Let the event thread keep running */
   77.43 -    SDL_Unlock_EventThread();
   77.44 -
   77.45      /* Free the data associated with this joystick */
   77.46      if (joystick->axes) {
   77.47          SDL_free(joystick->axes);
   77.48 @@ -419,9 +405,7 @@
   77.49  SDL_JoystickQuit(void)
   77.50  {
   77.51      /* Stop the event polling */
   77.52 -    SDL_Lock_EventThread();
   77.53      SDL_numjoysticks = 0;
   77.54 -    SDL_Unlock_EventThread();
   77.55  
   77.56      /* Quit the joystick setup */
   77.57      SDL_SYS_JoystickQuit();
    78.1 --- a/src/joystick/android/SDL_sysjoystick.c	Mon Jan 31 07:36:12 2011 -0800
    78.2 +++ b/src/joystick/android/SDL_sysjoystick.c	Tue Feb 01 00:37:02 2011 -0800
    78.3 @@ -32,7 +32,7 @@
    78.4  #include "SDL_joystick.h"
    78.5  #include "../SDL_sysjoystick.h"
    78.6  #include "../SDL_joystick_c.h"
    78.7 -#include "../../SDL_android.h"
    78.8 +#include "../../core/android/SDL_android.h"
    78.9  
   78.10  static const char *accelerometerName = "Android accelerometer";
   78.11  
    79.1 --- a/src/joystick/linux/SDL_sysjoystick.c	Mon Jan 31 07:36:12 2011 -0800
    79.2 +++ b/src/joystick/linux/SDL_sysjoystick.c	Tue Feb 01 00:37:02 2011 -0800
    79.3 @@ -701,25 +701,26 @@
    79.4                  continue;
    79.5              }
    79.6              if (test_bit(i, absbit)) {
    79.7 -                int values[6];
    79.8 +                struct input_absinfo absinfo;
    79.9  
   79.10 -                if (ioctl(fd, EVIOCGABS(i), values) < 0)
   79.11 +                if (ioctl(fd, EVIOCGABS(i), &absinfo) < 0)
   79.12                      continue;
   79.13  #ifdef DEBUG_INPUT_EVENTS
   79.14                  printf("Joystick has absolute axis: %x\n", i);
   79.15                  printf("Values = { %d, %d, %d, %d, %d }\n",
   79.16 -                       values[0], values[1], values[2], values[3], values[4]);
   79.17 +                       absinfo.value, absinfo.minimum, absinfo.maximum,
   79.18 +                       absinfo.fuzz, absinfo.flat);
   79.19  #endif /* DEBUG_INPUT_EVENTS */
   79.20                  joystick->hwdata->abs_map[i] = joystick->naxes;
   79.21 -                if (values[1] == values[2]) {
   79.22 +                if (absinfo.minimum == absinfo.maximum) {
   79.23                      joystick->hwdata->abs_correct[i].used = 0;
   79.24                  } else {
   79.25                      joystick->hwdata->abs_correct[i].used = 1;
   79.26                      joystick->hwdata->abs_correct[i].coef[0] =
   79.27 -                        (values[2] + values[1]) / 2 - values[4];
   79.28 +                        (absinfo.maximum + absinfo.minimum) / 2 - absinfo.flat;
   79.29                      joystick->hwdata->abs_correct[i].coef[1] =
   79.30 -                        (values[2] + values[1]) / 2 + values[4];
   79.31 -                    t = ((values[2] - values[1]) / 2 - 2 * values[4]);
   79.32 +                        (absinfo.maximum + absinfo.minimum) / 2 + absinfo.flat;
   79.33 +                    t = ((absinfo.maximum - absinfo.minimum) / 2 - 2 * absinfo.flat);
   79.34                      if (t != 0) {
   79.35                          joystick->hwdata->abs_correct[i].coef[2] =
   79.36                              (1 << 29) / t;
    80.1 --- a/src/joystick/riscos/SDL_sysjoystick.c	Mon Jan 31 07:36:12 2011 -0800
    80.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    80.3 @@ -1,180 +0,0 @@
    80.4 -/*
    80.5 -    SDL - Simple DirectMedia Layer
    80.6 -    Copyright (C) 1997-2010 Sam Lantinga
    80.7 -
    80.8 -    This library is free software; you can redistribute it and/or
    80.9 -    modify it under the terms of the GNU Lesser General Public
   80.10 -    License as published by the Free Software Foundation; either
   80.11 -    version 2.1 of the License, or (at your option) any later version.
   80.12 -
   80.13 -    This library is distributed in the hope that it will be useful,
   80.14 -    but WITHOUT ANY WARRANTY; without even the implied warranty of
   80.15 -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   80.16 -    Lesser General Public License for more details.
   80.17 -
   80.18 -    You should have received a copy of the GNU Lesser General Public
   80.19 -    License along with this library; if not, write to the Free Software
   80.20 -    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   80.21 -
   80.22 -    Sam Lantinga
   80.23 -    slouken@libsdl.org
   80.24 -*/
   80.25 -#include "SDL_config.h"
   80.26 -
   80.27 -#ifdef SDL_JOYSTICK_RISCOS
   80.28 -
   80.29 -/*
   80.30 -   RISC OS - Joystick support by Alan Buckley (alan_baa@hotmail.com) - 10 April 2003
   80.31 -
   80.32 -   Note: Currently assumes joystick is present if joystick module is loaded
   80.33 -   and that there is one joystick with four buttons.
   80.34 -*/