Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

added SDL development files for Windows

  • Loading branch information...
commit 50ad45e334cfa8fe0cd205f838e7c18bde38d1c0 1 parent f252c70
authored June 19, 2012

Showing 221 changed files with 64,263 additions and 7 deletions. Show diff stats Hide diff stats

  1. 45  CMakeLists.txt
  2. 18  sdl-windows/BUGS.txt
  3. 458  sdl-windows/COPYING.txt
  4. 13  sdl-windows/README-SDL.txt
  5. 49  sdl-windows/README.txt
  6. 159  sdl-windows/VisualC.html
  7. 727  sdl-windows/WhatsNew.txt
  8. 698  sdl-windows/docs.html
  9. 242  sdl-windows/docs/html/audio.html
  10. 260  sdl-windows/docs/html/cdrom.html
  11. 216  sdl-windows/docs/html/event.html
  12. 481  sdl-windows/docs/html/eventfunctions.html
  13. 233  sdl-windows/docs/html/eventstructures.html
  14. 225  sdl-windows/docs/html/general.html
  15. 174  sdl-windows/docs/html/guide.html
  16. 148  sdl-windows/docs/html/guideaboutsdldoc.html
  17. 228  sdl-windows/docs/html/guideaudioexamples.html
  18. 240  sdl-windows/docs/html/guidebasicsinit.html
  19. 275  sdl-windows/docs/html/guidecdromexamples.html
  20. 195  sdl-windows/docs/html/guidecredits.html
  21. 247  sdl-windows/docs/html/guideeventexamples.html
  22. 188  sdl-windows/docs/html/guideexamples.html
  23. 739  sdl-windows/docs/html/guideinput.html
  24. 746  sdl-windows/docs/html/guideinputkeyboard.html
  25. 178  sdl-windows/docs/html/guidepreface.html
  26. 173  sdl-windows/docs/html/guidethebasics.html
  27. 183  sdl-windows/docs/html/guidetimeexamples.html
  28. 463  sdl-windows/docs/html/guidevideo.html
  29. 730  sdl-windows/docs/html/guidevideoopengl.html
  30. 1,156  sdl-windows/docs/html/index.html
  31. 296  sdl-windows/docs/html/joystick.html
  32. 194  sdl-windows/docs/html/reference.html
  33. 335  sdl-windows/docs/html/sdlactiveevent.html
  34. 296  sdl-windows/docs/html/sdladdtimer.html
  35. 556  sdl-windows/docs/html/sdlaudiocvt.html
  36. 589  sdl-windows/docs/html/sdlaudiospec.html
  37. 339  sdl-windows/docs/html/sdlblitsurface.html
  38. 291  sdl-windows/docs/html/sdlbuildaudiocvt.html
  39. 359  sdl-windows/docs/html/sdlcd.html
  40. 217  sdl-windows/docs/html/sdlcdclose.html
  41. 226  sdl-windows/docs/html/sdlcdeject.html
  42. 239  sdl-windows/docs/html/sdlcdname.html
  43. 205  sdl-windows/docs/html/sdlcdnumdrives.html
  44. 275  sdl-windows/docs/html/sdlcdopen.html
  45. 233  sdl-windows/docs/html/sdlcdpause.html
  46. 243  sdl-windows/docs/html/sdlcdplay.html
  47. 325  sdl-windows/docs/html/sdlcdplaytracks.html
  48. 233  sdl-windows/docs/html/sdlcdresume.html
  49. 273  sdl-windows/docs/html/sdlcdstatus.html
  50. 226  sdl-windows/docs/html/sdlcdstop.html
  51. 313  sdl-windows/docs/html/sdlcdtrack.html
  52. 205  sdl-windows/docs/html/sdlcloseaudio.html
  53. 300  sdl-windows/docs/html/sdlcolor.html
  54. 224  sdl-windows/docs/html/sdlcondbroadcast.html
  55. 224  sdl-windows/docs/html/sdlcondsignal.html
  56. 231  sdl-windows/docs/html/sdlcondwait.html
  57. 230  sdl-windows/docs/html/sdlcondwaittimeout.html
  58. 407  sdl-windows/docs/html/sdlconvertaudio.html
  59. 271  sdl-windows/docs/html/sdlconvertsurface.html
  60. 240  sdl-windows/docs/html/sdlcreatecond.html
  61. 398  sdl-windows/docs/html/sdlcreatecursor.html
  62. 249  sdl-windows/docs/html/sdlcreatemutex.html
  63. 458  sdl-windows/docs/html/sdlcreatergbsurface.html
  64. 256  sdl-windows/docs/html/sdlcreatergbsurfacefrom.html
  65. 303  sdl-windows/docs/html/sdlcreatesemaphore.html
  66. 223  sdl-windows/docs/html/sdlcreatethread.html
  67. 256  sdl-windows/docs/html/sdlcreateyuvoverlay.html
  68. 231  sdl-windows/docs/html/sdldelay.html
  69. 206  sdl-windows/docs/html/sdldestroycond.html
  70. 209  sdl-windows/docs/html/sdldestroymutex.html
  71. 278  sdl-windows/docs/html/sdldestroysemaphore.html
  72. 262  sdl-windows/docs/html/sdldisplayformat.html
  73. 250  sdl-windows/docs/html/sdldisplayformatalpha.html
  74. 246  sdl-windows/docs/html/sdldisplayyuvoverlay.html
  75. 238  sdl-windows/docs/html/sdlenablekeyrepeat.html
  76. 252  sdl-windows/docs/html/sdlenableunicode.html
  77. 1,227  sdl-windows/docs/html/sdlenvvars.html
  78. 994  sdl-windows/docs/html/sdlevent.html
  79. 276  sdl-windows/docs/html/sdleventstate.html
  80. 252  sdl-windows/docs/html/sdlexposeevent.html
  81. 291  sdl-windows/docs/html/sdlfillrect.html
  82. 259  sdl-windows/docs/html/sdlflip.html
  83. 209  sdl-windows/docs/html/sdlfreecursor.html
  84. 219  sdl-windows/docs/html/sdlfreesurface.html
  85. 222  sdl-windows/docs/html/sdlfreewav.html
  86. 233  sdl-windows/docs/html/sdlfreeyuvoverlay.html
  87. 263  sdl-windows/docs/html/sdlgetappstate.html
  88. 221  sdl-windows/docs/html/sdlgetaudiostatus.html
  89. 229  sdl-windows/docs/html/sdlgetcliprect.html
  90. 219  sdl-windows/docs/html/sdlgetcursor.html
  91. 205  sdl-windows/docs/html/sdlgeterror.html
  92. 235  sdl-windows/docs/html/sdlgeteventfilter.html
  93. 219  sdl-windows/docs/html/sdlgetgammaramp.html
  94. 216  sdl-windows/docs/html/sdlgetkeyname.html
  95. 253  sdl-windows/docs/html/sdlgetkeystate.html
  96. 257  sdl-windows/docs/html/sdlgetmodstate.html
  97. 253  sdl-windows/docs/html/sdlgetmousestate.html
  98. 235  sdl-windows/docs/html/sdlgetrelativemousestate.html
  99. 231  sdl-windows/docs/html/sdlgetrgb.html
  100. 222  sdl-windows/docs/html/sdlgetrgba.html
  101. 209  sdl-windows/docs/html/sdlgetthreadid.html
  102. 206  sdl-windows/docs/html/sdlgetticks.html
  103. 226  sdl-windows/docs/html/sdlgetvideoinfo.html
  104. 208  sdl-windows/docs/html/sdlgetvideosurface.html
  105. 379  sdl-windows/docs/html/sdlglattr.html
  106. 247  sdl-windows/docs/html/sdlglgetattribute.html
  107. 262  sdl-windows/docs/html/sdlglgetprocaddress.html
  108. 231  sdl-windows/docs/html/sdlglloadlibrary.html
  109. 286  sdl-windows/docs/html/sdlglsetattribute.html
  110. 212  sdl-windows/docs/html/sdlglswapbuffers.html
  111. 368  sdl-windows/docs/html/sdlinit.html
  112. 283  sdl-windows/docs/html/sdlinitsubsystem.html
  113. 330  sdl-windows/docs/html/sdljoyaxisevent.html
  114. 340  sdl-windows/docs/html/sdljoyballevent.html
  115. 351  sdl-windows/docs/html/sdljoybuttonevent.html
  116. 413  sdl-windows/docs/html/sdljoyhatevent.html
  117. 223  sdl-windows/docs/html/sdljoystickclose.html
  118. 290  sdl-windows/docs/html/sdljoystickeventstate.html
  119. 271  sdl-windows/docs/html/sdljoystickgetaxis.html
  120. 262  sdl-windows/docs/html/sdljoystickgetball.html
  121. 231  sdl-windows/docs/html/sdljoystickgetbutton.html
  122. 297  sdl-windows/docs/html/sdljoystickgethat.html
  123. 218  sdl-windows/docs/html/sdljoystickindex.html
  124. 238  sdl-windows/docs/html/sdljoystickname.html
  125. 225  sdl-windows/docs/html/sdljoysticknumaxes.html
  126. 225  sdl-windows/docs/html/sdljoysticknumballs.html
  127. 225  sdl-windows/docs/html/sdljoysticknumbuttons.html
  128. 225  sdl-windows/docs/html/sdljoysticknumhats.html
  129. 259  sdl-windows/docs/html/sdljoystickopen.html
  130. 233  sdl-windows/docs/html/sdljoystickopened.html
  131. 211  sdl-windows/docs/html/sdljoystickupdate.html
  132. 2,630  sdl-windows/docs/html/sdlkey.html
  133. 375  sdl-windows/docs/html/sdlkeyboardevent.html
  134. 355  sdl-windows/docs/html/sdlkeysym.html
  135. 223  sdl-windows/docs/html/sdlkillthread.html
  136. 310  sdl-windows/docs/html/sdllistmodes.html
  137. 219  sdl-windows/docs/html/sdlloadbmp.html
  138. 296  sdl-windows/docs/html/sdlloadwav.html
  139. 208  sdl-windows/docs/html/sdllockaudio.html
  140. 306  sdl-windows/docs/html/sdllocksurface.html
  141. 252  sdl-windows/docs/html/sdllockyuvoverlay.html
  142. 254  sdl-windows/docs/html/sdlmaprgb.html
  143. 242  sdl-windows/docs/html/sdlmaprgba.html
  144. 237  sdl-windows/docs/html/sdlmixaudio.html
  145. 346  sdl-windows/docs/html/sdlmousebuttonevent.html
  146. 365  sdl-windows/docs/html/sdlmousemotionevent.html
  147. 241  sdl-windows/docs/html/sdlmutexp.html
  148. 235  sdl-windows/docs/html/sdlmutexv.html
  149. 222  sdl-windows/docs/html/sdlnumjoysticks.html
  150. 578  sdl-windows/docs/html/sdlopenaudio.html
  151. 362  sdl-windows/docs/html/sdloverlay.html
  152. 301  sdl-windows/docs/html/sdlpalette.html
  153. 221  sdl-windows/docs/html/sdlpauseaudio.html
  154. 321  sdl-windows/docs/html/sdlpeepevents.html
  155. 528  sdl-windows/docs/html/sdlpixelformat.html
  156. 269  sdl-windows/docs/html/sdlpollevent.html
  157. 244  sdl-windows/docs/html/sdlpumpevents.html
  158. 266  sdl-windows/docs/html/sdlpushevent.html
  159. 244  sdl-windows/docs/html/sdlquit.html
  160. 263  sdl-windows/docs/html/sdlquitevent.html
  161. 248  sdl-windows/docs/html/sdlquitsubsystem.html
  162. 258  sdl-windows/docs/html/sdlrect.html
  163. 236  sdl-windows/docs/html/sdlremovetimer.html
  164. 307  sdl-windows/docs/html/sdlresizeevent.html
  165. 236  sdl-windows/docs/html/sdlsavebmp.html
  166. 299  sdl-windows/docs/html/sdlsempost.html
  167. 319  sdl-windows/docs/html/sdlsemtrywait.html
  168. 273  sdl-windows/docs/html/sdlsemvalue.html
  169. 298  sdl-windows/docs/html/sdlsemwait.html
  170. 322  sdl-windows/docs/html/sdlsemwaittimeout.html
  171. 500  sdl-windows/docs/html/sdlsetalpha.html
  172. 241  sdl-windows/docs/html/sdlsetcliprect.html
  173. 321  sdl-windows/docs/html/sdlsetcolorkey.html
  174. 358  sdl-windows/docs/html/sdlsetcolors.html
  175. 222  sdl-windows/docs/html/sdlsetcursor.html
  176. 284  sdl-windows/docs/html/sdlseteventfilter.html
  177. 231  sdl-windows/docs/html/sdlsetgamma.html
  178. 230  sdl-windows/docs/html/sdlsetgammaramp.html
  179. 237  sdl-windows/docs/html/sdlsetmodstate.html
  180. 352  sdl-windows/docs/html/sdlsetpalette.html
  181. 267  sdl-windows/docs/html/sdlsettimer.html
  182. 558  sdl-windows/docs/html/sdlsetvideomode.html
  183. 239  sdl-windows/docs/html/sdlshowcursor.html
  184. 597  sdl-windows/docs/html/sdlsurface.html
  185. 233  sdl-windows/docs/html/sdlsyswmevent.html
  186. 190  sdl-windows/docs/html/sdlthreadid.html
  187. 211  sdl-windows/docs/html/sdlunlockaudio.html
  188. 219  sdl-windows/docs/html/sdlunlocksurface.html
  189. 225  sdl-windows/docs/html/sdlunlockyuvoverlay.html
  190. 266  sdl-windows/docs/html/sdlupdaterect.html
  191. 255  sdl-windows/docs/html/sdlupdaterects.html
  192. 337  sdl-windows/docs/html/sdluserevent.html
  193. 243  sdl-windows/docs/html/sdlvideodrivername.html
  194. 408  sdl-windows/docs/html/sdlvideoinfo.html
  195. 270  sdl-windows/docs/html/sdlvideomodeok.html
  196. 231  sdl-windows/docs/html/sdlwaitevent.html
  197. 231  sdl-windows/docs/html/sdlwaitthread.html
  198. 205  sdl-windows/docs/html/sdlwarpmouse.html
  199. 284  sdl-windows/docs/html/sdlwasinit.html
  200. 222  sdl-windows/docs/html/sdlwmgetcaption.html
  201. 224  sdl-windows/docs/html/sdlwmgrabinput.html
  202. 211  sdl-windows/docs/html/sdlwmiconifywindow.html
  203. 212  sdl-windows/docs/html/sdlwmsetcaption.html
  204. 260  sdl-windows/docs/html/sdlwmseticon.html
  205. 205  sdl-windows/docs/html/sdlwmtogglefullscreen.html
  206. 313  sdl-windows/docs/html/thread.html
  207. 206  sdl-windows/docs/html/time.html
  208. 507  sdl-windows/docs/html/video.html
  209. 188  sdl-windows/docs/html/wm.html
  210. BIN  sdl-windows/docs/images/rainbow.gif
  211. 55  sdl-windows/docs/index.html
  212. 101  sdl-windows/include/SDL.h
  213. 63  sdl-windows/include/SDL_active.h
  214. 284  sdl-windows/include/SDL_audio.h
  215. 29  sdl-windows/include/SDL_byteorder.h
  216. 202  sdl-windows/include/SDL_cdrom.h
  217. 45  sdl-windows/include/SDL_config.h
  218. 106  sdl-windows/include/SDL_config_dreamcast.h
  219. 112  sdl-windows/include/SDL_config_macos.h
  220. 150  sdl-windows/include/SDL_config_macosx.h
45  CMakeLists.txt
... ...
@@ -1,5 +1,36 @@
1 1
 if(WIN32)
2  
-        message(FATAL_ERROR "Sorry, building bundled libs is not yet supported on Windows.")
  2
+        # FIXME: incomplete windows build with bundled libs
  3
+
  4
+        #-----------------------------------------------------------------
  5
+        # Build bundled JPEG library
  6
+        #-----------------------------------------------------------------
  7
+        add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/libs/jpeg/libjpeg.lib
  8
+                        COMMAND NMAKE /f makefile.vc setup-v10 && NMAKE /f makefile.vc
  9
+                        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/libs/jpeg
  10
+        )
  11
+
  12
+        add_custom_target(bundled_jpeg
  13
+                        DEPENDS ${CMAKE_SOURCE_DIR}/libs/jpeg/libjpeg.lib
  14
+        )
  15
+
  16
+        #-----------------------------------------------------------------
  17
+        # Build bundled cURL library
  18
+        #-----------------------------------------------------------------
  19
+        add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/libs/curl/builds/libcurl-release-static-ipv6/lib/libcurl_a.lib
  20
+                        COMMAND NMAKE /f Makefile.vc mode=static USE_SSPI=no USE_IDN=no
  21
+                        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/libs/curl/winbuild
  22
+        )
  23
+
  24
+        add_custom_target(bundled_curl
  25
+                        DEPENDS ${CMAKE_SOURCE_DIR}/libs/curl/builds/libcurl-release-static-ipv6/lib/libcurl_a.lib
  26
+        )
  27
+
  28
+        # return compiled libs to the parent CMakeLists.txt
  29
+        set(BUNDLED_LIBRARIES "${CMAKE_SOURCE_DIR}/libs/curl/builds/libcurl-release-static-ipv6/lib/libcurl_a.lib"
  30
+                        "${CMAKE_SOURCE_DIR}/libs/jpeg/libjpeg.lib"
  31
+                        "${CMAKE_SOURCE_DIR}/libs/sdl-windows/lib/x86/SDL.lib"
  32
+                        "${CMAKE_SOURCE_DIR}/libs/sdl-windows/lib/x86/SDLmain.lib"
  33
+                        PARENT_SCOPE)
3 34
 elseif(UNIX)
4 35
         if(CROSS_COMPILE32)
5 36
                 set(CROSS_COMPILE32_FLAGS "CFLAGS=-m32 LDFLAGS=-m32")
@@ -48,10 +79,10 @@ elseif(UNIX)
48 79
                         "${CMAKE_SOURCE_DIR}/libs/jpeg/.libs/libjpeg.a"
49 80
                         "${CMAKE_SOURCE_DIR}/libs/sdl/build/.libs/libSDL.a"
50 81
                         PARENT_SCOPE)
51  
-        
52  
-        # return include dirs to the parent CMakeLists.txt
53  
-        set(BUNDLED_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/libs/curl/include"
54  
-                        "${CMAKE_SOURCE_DIR}/libs/jpeg"
55  
-                        "${CMAKE_SOURCE_DIR}/libs/sdl/include"
56  
-                        PARENT_SCOPE)
57 82
 endif()
  83
+
  84
+# return include dirs to the parent CMakeLists.txt
  85
+set(BUNDLED_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/libs/curl/include"
  86
+	"${CMAKE_SOURCE_DIR}/libs/jpeg"
  87
+	"${CMAKE_SOURCE_DIR}/libs/sdl/include"
  88
+	PARENT_SCOPE)
18  sdl-windows/BUGS.txt
... ...
@@ -0,0 +1,18 @@
  1
+
  2
+Bugs are now managed in the SDL bug tracker, here:
  3
+
  4
+    http://bugzilla.libsdl.org/
  5
+
  6
+You may report bugs there, and search to see if a given issue has already
  7
+ been reported, discussed, and maybe even fixed.
  8
+
  9
+
  10
+
  11
+You may also find help at the SDL mailing list. Subscription information:
  12
+
  13
+    http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
  14
+
  15
+Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
  16
+ bugs discussed on the mailing list may be forgotten or missed.
  17
+
  18
+
458  sdl-windows/COPYING.txt
... ...
@@ -0,0 +1,458 @@
  1
+		  GNU LESSER GENERAL PUBLIC LICENSE
  2
+		       Version 2.1, February 1999
  3
+
  4
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
  5
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  6
+ Everyone is permitted to copy and distribute verbatim copies
  7
+ of this license document, but changing it is not allowed.
  8
+
  9
+[This is the first released version of the Lesser GPL.  It also counts
  10
+ as the successor of the GNU Library Public License, version 2, hence
  11
+ the version number 2.1.]
  12
+
  13
+			    Preamble
  14
+
  15
+  The licenses for most software are designed to take away your
  16
+freedom to share and change it.  By contrast, the GNU General Public
  17
+Licenses are intended to guarantee your freedom to share and change
  18
+free software--to make sure the software is free for all its users.
  19
+
  20
+  This license, the Lesser General Public License, applies to some
  21
+specially designated software packages--typically libraries--of the
  22
+Free Software Foundation and other authors who decide to use it.  You
  23
+can use it too, but we suggest you first think carefully about whether
  24
+this license or the ordinary General Public License is the better
  25
+strategy to use in any particular case, based on the explanations below.
  26
+
  27
+  When we speak of free software, we are referring to freedom of use,
  28
+not price.  Our General Public Licenses are designed to make sure that
  29
+you have the freedom to distribute copies of free software (and charge
  30
+for this service if you wish); that you receive source code or can get
  31
+it if you want it; that you can change the software and use pieces of
  32
+it in new free programs; and that you are informed that you can do
  33
+these things.
  34
+
  35
+  To protect your rights, we need to make restrictions that forbid
  36
+distributors to deny you these rights or to ask you to surrender these
  37
+rights.  These restrictions translate to certain responsibilities for
  38
+you if you distribute copies of the library or if you modify it.
  39
+
  40
+  For example, if you distribute copies of the library, whether gratis
  41
+or for a fee, you must give the recipients all the rights that we gave
  42
+you.  You must make sure that they, too, receive or can get the source
  43
+code.  If you link other code with the library, you must provide
  44
+complete object files to the recipients, so that they can relink them
  45
+with the library after making changes to the library and recompiling
  46
+it.  And you must show them these terms so they know their rights.
  47
+
  48
+  We protect your rights with a two-step method: (1) we copyright the
  49
+library, and (2) we offer you this license, which gives you legal
  50
+permission to copy, distribute and/or modify the library.
  51
+
  52
+  To protect each distributor, we want to make it very clear that
  53
+there is no warranty for the free library.  Also, if the library is
  54
+modified by someone else and passed on, the recipients should know
  55
+that what they have is not the original version, so that the original
  56
+author's reputation will not be affected by problems that might be
  57
+introduced by others.
  58
+
  59
+  Finally, software patents pose a constant threat to the existence of
  60
+any free program.  We wish to make sure that a company cannot
  61
+effectively restrict the users of a free program by obtaining a
  62
+restrictive license from a patent holder.  Therefore, we insist that
  63
+any patent license obtained for a version of the library must be
  64
+consistent with the full freedom of use specified in this license.
  65
+
  66
+  Most GNU software, including some libraries, is covered by the
  67
+ordinary GNU General Public License.  This license, the GNU Lesser
  68
+General Public License, applies to certain designated libraries, and
  69
+is quite different from the ordinary General Public License.  We use
  70
+this license for certain libraries in order to permit linking those
  71
+libraries into non-free programs.
  72
+
  73
+  When a program is linked with a library, whether statically or using
  74
+a shared library, the combination of the two is legally speaking a
  75
+combined work, a derivative of the original library.  The ordinary
  76
+General Public License therefore permits such linking only if the
  77
+entire combination fits its criteria of freedom.  The Lesser General
  78
+Public License permits more lax criteria for linking other code with
  79
+the library.
  80
+
  81
+  We call this license the "Lesser" General Public License because it
  82
+does Less to protect the user's freedom than the ordinary General
  83
+Public License.  It also provides other free software developers Less
  84
+of an advantage over competing non-free programs.  These disadvantages
  85
+are the reason we use the ordinary General Public License for many
  86
+libraries.  However, the Lesser license provides advantages in certain
  87
+special circumstances.
  88
+
  89
+  For example, on rare occasions, there may be a special need to
  90
+encourage the widest possible use of a certain library, so that it becomes
  91
+a de-facto standard.  To achieve this, non-free programs must be
  92
+allowed to use the library.  A more frequent case is that a free
  93
+library does the same job as widely used non-free libraries.  In this
  94
+case, there is little to gain by limiting the free library to free
  95
+software only, so we use the Lesser General Public License.
  96
+
  97
+  In other cases, permission to use a particular library in non-free
  98
+programs enables a greater number of people to use a large body of
  99
+free software.  For example, permission to use the GNU C Library in
  100
+non-free programs enables many more people to use the whole GNU
  101
+operating system, as well as its variant, the GNU/Linux operating
  102
+system.
  103
+
  104
+  Although the Lesser General Public License is Less protective of the
  105
+users' freedom, it does ensure that the user of a program that is
  106
+linked with the Library has the freedom and the wherewithal to run
  107
+that program using a modified version of the Library.
  108
+
  109
+  The precise terms and conditions for copying, distribution and
  110
+modification follow.  Pay close attention to the difference between a
  111
+"work based on the library" and a "work that uses the library".  The
  112
+former contains code derived from the library, whereas the latter must
  113
+be combined with the library in order to run.
  114
+
  115
+		  GNU LESSER GENERAL PUBLIC LICENSE
  116
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  117
+
  118
+  0. This License Agreement applies to any software library or other
  119
+program which contains a notice placed by the copyright holder or
  120
+other authorized party saying it may be distributed under the terms of
  121
+this Lesser General Public License (also called "this License").
  122
+Each licensee is addressed as "you".
  123
+
  124
+  A "library" means a collection of software functions and/or data
  125
+prepared so as to be conveniently linked with application programs
  126
+(which use some of those functions and data) to form executables.
  127
+
  128
+  The "Library", below, refers to any such software library or work
  129
+which has been distributed under these terms.  A "work based on the
  130
+Library" means either the Library or any derivative work under
  131
+copyright law: that is to say, a work containing the Library or a
  132
+portion of it, either verbatim or with modifications and/or translated
  133
+straightforwardly into another language.  (Hereinafter, translation is
  134
+included without limitation in the term "modification".)
  135
+
  136
+  "Source code" for a work means the preferred form of the work for
  137
+making modifications to it.  For a library, complete source code means
  138
+all the source code for all modules it contains, plus any associated
  139
+interface definition files, plus the scripts used to control compilation
  140
+and installation of the library.
  141
+
  142
+  Activities other than copying, distribution and modification are not
  143
+covered by this License; they are outside its scope.  The act of
  144
+running a program using the Library is not restricted, and output from
  145
+such a program is covered only if its contents constitute a work based
  146
+on the Library (independent of the use of the Library in a tool for
  147
+writing it).  Whether that is true depends on what the Library does
  148
+and what the program that uses the Library does.
  149
+  
  150
+  1. You may copy and distribute verbatim copies of the Library's
  151
+complete source code as you receive it, in any medium, provided that
  152
+you conspicuously and appropriately publish on each copy an
  153
+appropriate copyright notice and disclaimer of warranty; keep intact
  154
+all the notices that refer to this License and to the absence of any
  155
+warranty; and distribute a copy of this License along with the
  156
+Library.
  157
+
  158
+  You may charge a fee for the physical act of transferring a copy,
  159
+and you may at your option offer warranty protection in exchange for a
  160
+fee.
  161
+
  162
+  2. You may modify your copy or copies of the Library or any portion
  163
+of it, thus forming a work based on the Library, and copy and
  164
+distribute such modifications or work under the terms of Section 1
  165
+above, provided that you also meet all of these conditions:
  166
+
  167
+    a) The modified work must itself be a software library.
  168
+
  169
+    b) You must cause the files modified to carry prominent notices
  170
+    stating that you changed the files and the date of any change.
  171
+
  172
+    c) You must cause the whole of the work to be licensed at no
  173
+    charge to all third parties under the terms of this License.
  174
+
  175
+    d) If a facility in the modified Library refers to a function or a
  176
+    table of data to be supplied by an application program that uses
  177
+    the facility, other than as an argument passed when the facility
  178
+    is invoked, then you must make a good faith effort to ensure that,
  179
+    in the event an application does not supply such function or
  180
+    table, the facility still operates, and performs whatever part of
  181
+    its purpose remains meaningful.
  182
+
  183
+    (For example, a function in a library to compute square roots has
  184
+    a purpose that is entirely well-defined independent of the
  185
+    application.  Therefore, Subsection 2d requires that any
  186
+    application-supplied function or table used by this function must
  187
+    be optional: if the application does not supply it, the square
  188
+    root function must still compute square roots.)
  189
+
  190
+These requirements apply to the modified work as a whole.  If
  191
+identifiable sections of that work are not derived from the Library,
  192
+and can be reasonably considered independent and separate works in
  193
+themselves, then this License, and its terms, do not apply to those
  194
+sections when you distribute them as separate works.  But when you
  195
+distribute the same sections as part of a whole which is a work based
  196
+on the Library, the distribution of the whole must be on the terms of
  197
+this License, whose permissions for other licensees extend to the
  198
+entire whole, and thus to each and every part regardless of who wrote
  199
+it.
  200
+
  201
+Thus, it is not the intent of this section to claim rights or contest
  202
+your rights to work written entirely by you; rather, the intent is to
  203
+exercise the right to control the distribution of derivative or
  204
+collective works based on the Library.
  205
+
  206
+In addition, mere aggregation of another work not based on the Library
  207
+with the Library (or with a work based on the Library) on a volume of
  208
+a storage or distribution medium does not bring the other work under
  209
+the scope of this License.
  210
+
  211
+  3. You may opt to apply the terms of the ordinary GNU General Public
  212
+License instead of this License to a given copy of the Library.  To do
  213
+this, you must alter all the notices that refer to this License, so
  214
+that they refer to the ordinary GNU General Public License, version 2,
  215
+instead of to this License.  (If a newer version than version 2 of the
  216
+ordinary GNU General Public License has appeared, then you can specify
  217
+that version instead if you wish.)  Do not make any other change in
  218
+these notices.
  219
+
  220
+  Once this change is made in a given copy, it is irreversible for
  221
+that copy, so the ordinary GNU General Public License applies to all
  222
+subsequent copies and derivative works made from that copy.
  223
+
  224
+  This option is useful when you wish to copy part of the code of
  225
+the Library into a program that is not a library.
  226
+
  227
+  4. You may copy and distribute the Library (or a portion or
  228
+derivative of it, under Section 2) in object code or executable form
  229
+under the terms of Sections 1 and 2 above provided that you accompany
  230
+it with the complete corresponding machine-readable source code, which
  231
+must be distributed under the terms of Sections 1 and 2 above on a
  232
+medium customarily used for software interchange.
  233
+
  234
+  If distribution of object code is made by offering access to copy
  235
+from a designated place, then offering equivalent access to copy the
  236
+source code from the same place satisfies the requirement to
  237
+distribute the source code, even though third parties are not
  238
+compelled to copy the source along with the object code.
  239
+
  240
+  5. A program that contains no derivative of any portion of the
  241
+Library, but is designed to work with the Library by being compiled or
  242
+linked with it, is called a "work that uses the Library".  Such a
  243
+work, in isolation, is not a derivative work of the Library, and
  244
+therefore falls outside the scope of this License.
  245
+
  246
+  However, linking a "work that uses the Library" with the Library
  247
+creates an executable that is a derivative of the Library (because it
  248
+contains portions of the Library), rather than a "work that uses the
  249
+library".  The executable is therefore covered by this License.
  250
+Section 6 states terms for distribution of such executables.
  251
+
  252
+  When a "work that uses the Library" uses material from a header file
  253
+that is part of the Library, the object code for the work may be a
  254
+derivative work of the Library even though the source code is not.
  255
+Whether this is true is especially significant if the work can be
  256
+linked without the Library, or if the work is itself a library.  The
  257
+threshold for this to be true is not precisely defined by law.
  258
+
  259
+  If such an object file uses only numerical parameters, data
  260
+structure layouts and accessors, and small macros and small inline
  261
+functions (ten lines or less in length), then the use of the object
  262
+file is unrestricted, regardless of whether it is legally a derivative
  263
+work.  (Executables containing this object code plus portions of the
  264
+Library will still fall under Section 6.)
  265
+
  266
+  Otherwise, if the work is a derivative of the Library, you may
  267
+distribute the object code for the work under the terms of Section 6.
  268
+Any executables containing that work also fall under Section 6,
  269
+whether or not they are linked directly with the Library itself.
  270
+
  271
+  6. As an exception to the Sections above, you may also combine or
  272
+link a "work that uses the Library" with the Library to produce a
  273
+work containing portions of the Library, and distribute that work
  274
+under terms of your choice, provided that the terms permit
  275
+modification of the work for the customer's own use and reverse
  276
+engineering for debugging such modifications.
  277
+
  278
+  You must give prominent notice with each copy of the work that the
  279
+Library is used in it and that the Library and its use are covered by
  280
+this License.  You must supply a copy of this License.  If the work
  281
+during execution displays copyright notices, you must include the
  282
+copyright notice for the Library among them, as well as a reference
  283
+directing the user to the copy of this License.  Also, you must do one
  284
+of these things:
  285
+
  286
+    a) Accompany the work with the complete corresponding
  287
+    machine-readable source code for the Library including whatever
  288
+    changes were used in the work (which must be distributed under
  289
+    Sections 1 and 2 above); and, if the work is an executable linked
  290
+    with the Library, with the complete machine-readable "work that
  291
+    uses the Library", as object code and/or source code, so that the
  292
+    user can modify the Library and then relink to produce a modified
  293
+    executable containing the modified Library.  (It is understood
  294
+    that the user who changes the contents of definitions files in the
  295
+    Library will not necessarily be able to recompile the application
  296
+    to use the modified definitions.)
  297
+
  298
+    b) Use a suitable shared library mechanism for linking with the
  299
+    Library.  A suitable mechanism is one that (1) uses at run time a
  300
+    copy of the library already present on the user's computer system,
  301
+    rather than copying library functions into the executable, and (2)
  302
+    will operate properly with a modified version of the library, if
  303
+    the user installs one, as long as the modified version is
  304
+    interface-compatible with the version that the work was made with.
  305
+
  306
+    c) Accompany the work with a written offer, valid for at
  307
+    least three years, to give the same user the materials
  308
+    specified in Subsection 6a, above, for a charge no more
  309
+    than the cost of performing this distribution.
  310
+
  311
+    d) If distribution of the work is made by offering access to copy
  312
+    from a designated place, offer equivalent access to copy the above
  313
+    specified materials from the same place.
  314
+
  315
+    e) Verify that the user has already received a copy of these
  316
+    materials or that you have already sent this user a copy.
  317
+
  318
+  For an executable, the required form of the "work that uses the
  319
+Library" must include any data and utility programs needed for
  320
+reproducing the executable from it.  However, as a special exception,
  321
+the materials to be distributed need not include anything that is
  322
+normally distributed (in either source or binary form) with the major
  323
+components (compiler, kernel, and so on) of the operating system on
  324
+which the executable runs, unless that component itself accompanies
  325
+the executable.
  326
+
  327
+  It may happen that this requirement contradicts the license
  328
+restrictions of other proprietary libraries that do not normally
  329
+accompany the operating system.  Such a contradiction means you cannot
  330
+use both them and the Library together in an executable that you
  331
+distribute.
  332
+
  333
+  7. You may place library facilities that are a work based on the
  334
+Library side-by-side in a single library together with other library
  335
+facilities not covered by this License, and distribute such a combined
  336
+library, provided that the separate distribution of the work based on
  337
+the Library and of the other library facilities is otherwise
  338
+permitted, and provided that you do these two things:
  339
+
  340
+    a) Accompany the combined library with a copy of the same work
  341
+    based on the Library, uncombined with any other library
  342
+    facilities.  This must be distributed under the terms of the
  343
+    Sections above.
  344
+
  345
+    b) Give prominent notice with the combined library of the fact
  346
+    that part of it is a work based on the Library, and explaining
  347
+    where to find the accompanying uncombined form of the same work.
  348
+
  349
+  8. You may not copy, modify, sublicense, link with, or distribute
  350
+the Library except as expressly provided under this License.  Any
  351
+attempt otherwise to copy, modify, sublicense, link with, or
  352
+distribute the Library is void, and will automatically terminate your
  353
+rights under this License.  However, parties who have received copies,
  354
+or rights, from you under this License will not have their licenses
  355
+terminated so long as such parties remain in full compliance.
  356
+
  357
+  9. You are not required to accept this License, since you have not
  358
+signed it.  However, nothing else grants you permission to modify or
  359
+distribute the Library or its derivative works.  These actions are
  360
+prohibited by law if you do not accept this License.  Therefore, by
  361
+modifying or distributing the Library (or any work based on the
  362
+Library), you indicate your acceptance of this License to do so, and
  363
+all its terms and conditions for copying, distributing or modifying
  364
+the Library or works based on it.
  365
+
  366
+  10. Each time you redistribute the Library (or any work based on the
  367
+Library), the recipient automatically receives a license from the
  368
+original licensor to copy, distribute, link with or modify the Library
  369
+subject to these terms and conditions.  You may not impose any further
  370
+restrictions on the recipients' exercise of the rights granted herein.
  371
+You are not responsible for enforcing compliance by third parties with
  372
+this License.
  373
+
  374
+  11. If, as a consequence of a court judgment or allegation of patent
  375
+infringement or for any other reason (not limited to patent issues),
  376
+conditions are imposed on you (whether by court order, agreement or
  377
+otherwise) that contradict the conditions of this License, they do not
  378
+excuse you from the conditions of this License.  If you cannot
  379
+distribute so as to satisfy simultaneously your obligations under this
  380
+License and any other pertinent obligations, then as a consequence you
  381
+may not distribute the Library at all.  For example, if a patent
  382
+license would not permit royalty-free redistribution of the Library by
  383
+all those who receive copies directly or indirectly through you, then
  384
+the only way you could satisfy both it and this License would be to
  385
+refrain entirely from distribution of the Library.
  386
+
  387
+If any portion of this section is held invalid or unenforceable under any
  388
+particular circumstance, the balance of the section is intended to apply,
  389
+and the section as a whole is intended to apply in other circumstances.
  390
+
  391
+It is not the purpose of this section to induce you to infringe any
  392
+patents or other property right claims or to contest validity of any
  393
+such claims; this section has the sole purpose of protecting the
  394
+integrity of the free software distribution system which is
  395
+implemented by public license practices.  Many people have made
  396
+generous contributions to the wide range of software distributed
  397
+through that system in reliance on consistent application of that
  398
+system; it is up to the author/donor to decide if he or she is willing
  399
+to distribute software through any other system and a licensee cannot
  400
+impose that choice.
  401
+
  402
+This section is intended to make thoroughly clear what is believed to
  403
+be a consequence of the rest of this License.
  404
+
  405
+  12. If the distribution and/or use of the Library is restricted in
  406
+certain countries either by patents or by copyrighted interfaces, the
  407
+original copyright holder who places the Library under this License may add
  408
+an explicit geographical distribution limitation excluding those countries,
  409
+so that distribution is permitted only in or among countries not thus
  410
+excluded.  In such case, this License incorporates the limitation as if
  411
+written in the body of this License.
  412
+
  413
+  13. The Free Software Foundation may publish revised and/or new
  414
+versions of the Lesser General Public License from time to time.
  415
+Such new versions will be similar in spirit to the present version,
  416
+but may differ in detail to address new problems or concerns.
  417
+
  418
+Each version is given a distinguishing version number.  If the Library
  419
+specifies a version number of this License which applies to it and
  420
+"any later version", you have the option of following the terms and
  421
+conditions either of that version or of any later version published by
  422
+the Free Software Foundation.  If the Library does not specify a
  423
+license version number, you may choose any version ever published by
  424
+the Free Software Foundation.
  425
+
  426
+  14. If you wish to incorporate parts of the Library into other free
  427
+programs whose distribution conditions are incompatible with these,
  428
+write to the author to ask for permission.  For software which is
  429
+copyrighted by the Free Software Foundation, write to the Free
  430
+Software Foundation; we sometimes make exceptions for this.  Our
  431
+decision will be guided by the two goals of preserving the free status
  432
+of all derivatives of our free software and of promoting the sharing
  433
+and reuse of software generally.
  434
+
  435
+			    NO WARRANTY
  436
+
  437
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
  438
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
  439
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
  440
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
  441
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
  442
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  443
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
  444
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
  445
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  446
+
  447
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
  448
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
  449
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
  450
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
  451
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
  452
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
  453
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
  454
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
  455
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  456
+DAMAGES.
  457
+
  458
+		     END OF TERMS AND CONDITIONS
13  sdl-windows/README-SDL.txt
... ...
@@ -0,0 +1,13 @@
  1
+
  2
+Please distribute this file with the SDL runtime environment:
  3
+
  4
+The Simple DirectMedia Layer (SDL for short) is a cross-platfrom library
  5
+designed to make it easy to write multi-media software, such as games and
  6
+emulators.
  7
+
  8
+The Simple DirectMedia Layer library source code is available from:
  9
+http://www.libsdl.org/
  10
+
  11
+This library is distributed under the terms of the GNU LGPL license:
  12
+http://www.gnu.org/copyleft/lesser.html
  13
+
49  sdl-windows/README.txt
... ...
@@ -0,0 +1,49 @@
  1
+
  2
+                         Simple DirectMedia Layer
  3
+
  4
+                                  (SDL)
  5
+
  6
+                                Version 1.2
  7
+
  8
+---
  9
+http://www.libsdl.org/
  10
+
  11
+This is the Simple DirectMedia Layer, a general API that provides low
  12
+level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
  13
+and 2D framebuffer across multiple platforms.
  14
+
  15
+The current version supports Linux, Windows CE/95/98/ME/XP/Vista, BeOS,
  16
+MacOS Classic, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX,
  17
+and QNX.  The code contains support for Dreamcast, Atari, AIX, OSF/Tru64,
  18
+RISC OS, SymbianOS, Nintendo DS, and OS/2, but these are not officially
  19
+supported.
  20
+
  21
+SDL is written in C, but works with C++ natively, and has bindings to
  22
+several other languages, including Ada, C#, Eiffel, Erlang, Euphoria,
  23
+Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP,
  24
+Pike, Pliant, Python, Ruby, and Smalltalk.
  25
+
  26
+This library is distributed under GNU LGPL version 2, which can be
  27
+found in the file  "COPYING".  This license allows you to use SDL
  28
+freely in commercial programs as long as you link with the dynamic
  29
+library.
  30
+
  31
+The best way to learn how to use SDL is to check out the header files in
  32
+the "include" subdirectory and the programs in the "test" subdirectory.
  33
+The header files and test programs are well commented and always up to date.
  34
+More documentation is available in HTML format in "docs/index.html", and
  35
+a documentation wiki is available online at:
  36
+	http://www.libsdl.org/cgi/docwiki.cgi
  37
+
  38
+The test programs in the "test" subdirectory are in the public domain.
  39
+
  40
+Frequently asked questions are answered online:
  41
+	http://www.libsdl.org/faq.php
  42
+
  43
+If you need help with the library, or just want to discuss SDL related
  44
+issues, you can join the developers mailing list:
  45
+	http://www.libsdl.org/mailing-list.php
  46
+
  47
+Enjoy!
  48
+	Sam Lantinga				(slouken@libsdl.org)
  49
+
159  sdl-windows/VisualC.html
... ...
@@ -0,0 +1,159 @@
  1
+<HTML>
  2
+	<HEAD>
  3
+		<TITLE>Using SDL with Microsoft Visual C++</TITLE>
  4
+	</HEAD>
  5
+	<BODY>
  6
+		<H1>
  7
+			Using SDL with Microsoft Visual C++ 5,6&nbsp;and 7
  8
+		</H1>
  9
+		<H3>
  10
+			by <A HREF="mailto:snowlion@sprynet.com">Lion Kimbro </A>and additions by <A HREF="mailto:james@conceptofzero.net">
  11
+				James Turk</A>
  12
+		</H3>
  13
+		<p>
  14
+			You can either use the precompiled libraries from <A HREF="http://www.libsdl.org/download.php">
  15
+				the SDL Download web site </A>, or you can build SDL yourself.
  16
+		</p>
  17
+		<H3>
  18
+			Building SDL
  19
+		</H3>
  20
+		<P>
  21
+			Go into the VisualC
  22
+			directory that is created, and double-click on the VC++ file "<CODE>SDL.dsw</CODE>"<STRONG><FONT color="#009900">
  23
+					("<CODE>SDL.sln</CODE>").</FONT></STRONG> This should open up the IDE.
  24
+		</P>
  25
+		<P>
  26
+			You may be prompted at this point to upgrade the workspace, should you be using 
  27
+			a more recent version of Visual C++. If so, allow the workspace to be upgraded.
  28
+		</P>
  29
+		<P>
  30
+			Build the <CODE>.dll</CODE> and <CODE>.lib</CODE> files.
  31
+		</P>
  32
+		<P>
  33
+			This is done by right clicking on each project in turn (Projects are listed in 
  34
+			the Workspace panel in the FileView tab), and selecting "Build".
  35
+		</P>
  36
+		<P>
  37
+			If you get an error about SDL_config.h being missing, you should
  38
+			copy include/SDL_config.h.default to include/SDL_config.h and try again.
  39
+		</P>
  40
+		<P>
  41
+			You may get a few warnings, but you should not get any errors. You do have to 
  42
+			have at least the DirectX 5 SDK installed, however. The latest 
  43
+			version of DirectX can be downloaded or purchased on a cheap CD (my 
  44
+			recommendation) from <A HREF="http://www.microsoft.com">Microsoft </A>.
  45
+		</P>
  46
+		<P>
  47
+			Later, we will refer to the following .lib and .dll files that have just been 
  48
+			generated:
  49
+		</P>
  50
+		<ul>
  51
+    <li> SDL.dll</li>
  52
+    <li> SDL.lib</li>
  53
+    <li> SDLmain.lib</li>
  54
+    </ul>
  55
+		<P>
  56
+			Search for these using the Windows Find (Windows-F) utility, if you don't 
  57
+			already know where they should be. For those of you with a clue, look inside 
  58
+			the Debug or Release directories of the subdirectories of the Project folder. 
  59
+			(It might be easier to just use Windows Find if this sounds confusing. And 
  60
+			don't worry about needing a clue; we all need visits from the clue fairy 
  61
+			frequently.)
  62
+		</P>
  63
+		<H3>
  64
+			Creating a Project with SDL
  65
+		</H3>
  66
+		<P>
  67
+			Create a project as a Win32 Application.
  68
+		</P>
  69
+		<P>
  70
+			Create a C++ file for your project.
  71
+		</P>
  72
+		<P>
  73
+			Set the C runtime to "Multi-threaded DLL" in the menu: <CODE>Project|Settings|C/C++ 
  74
+				tab|Code Generation|Runtime Library </CODE>.
  75
+		</P>
  76
+		<P>
  77
+			Add the SDL <CODE>include</CODE> directory to your list of includes in the 
  78
+			menu: <CODE>Project|Settings|C/C++ tab|Preprocessor|Additional include directories </CODE>
  79
+			.
  80
+			<br>
  81
+			<STRONG><FONT color="#009900">VC7 Specific: Instead of doing this I find it easier to 
  82
+					add the include and library directories to the list that VC7 keeps. Do this by 
  83
+					selecting Tools|Options|Projects|VC++ Directories and under the "Show 
  84
+					Directories For:" dropbox select "Include Files", and click the "New Directory 
  85
+					Icon" and add the [SDLROOT]\include directory (ex. If you installed to 
  86
+					c:\SDL-1.2.5\ add c:\SDL-1.2.5\include).&nbsp;Proceed to&nbsp;change the 
  87
+					dropbox selection to "Library Files" and add [SDLROOT]\lib.</FONT></STRONG>
  88
+		</P>
  89
+			<P>
  90
+				The "include directory" I am referring to is the <CODE>include</CODE> folder 
  91
+				within the main SDL directory (the one that this HTML file located within).
  92
+			</P>
  93
+			<P>
  94
+				Now we're going to use the files that we had created earlier in the Build SDL 
  95
+				step.
  96
+			</P>
  97
+			<P>
  98
+				Copy the following files into your Project directory:
  99
+			</P>
  100
+			<ul>
  101
+     <li> SDL.dll</li>
  102
+     </ul>
  103
+			<P>
  104
+				Add the following files to your project (It is not necessary to copy them to 
  105
+				your project directory):
  106
+			</P>
  107
+			<ul>
  108
+     <li> SDL.lib </li>
  109
+     <li> SDLmain.lib</li>
  110
+     </ul>
  111
+			<P>
  112
+				(To add them to your project, right click on your project, and select "Add 
  113
+				files to project")
  114
+			</P>
  115
+		<P><STRONG><FONT color="#009900">Instead of adding the files to your project it is more 
  116
+					desireable to add them to the linker options: Project|Properties|Linker|Command 
  117
+					Line and type the names of the libraries to link with in the "Additional 
  118
+					Options:" box.&nbsp; Note: This must be done&nbsp;for&nbsp;each&nbsp;build 
  119
+					configuration (eg. Release,Debug).</FONT></STRONG></P>
  120
+		<H3>
  121
+			SDL 101, First Day of Class
  122
+		</H3>
  123
+		<P>
  124
+			Now create the basic body of your project. The body of your program should take 
  125
+			the following form: <CODE>
  126
+				<PRE>
  127
+#include "SDL.h"
  128
+
  129
+int main( int argc, char* argv[] )
  130
+{
  131
+  // Body of the program goes here.
  132
+  return 0;
  133
+}
  134
+</PRE>
  135
+			</CODE>
  136
+		<P></P>
  137
+		<H3>
  138
+			That's it!
  139
+		</H3>
  140
+		<P>
  141
+			I hope that this document has helped you get through the most difficult part of 
  142
+			using the SDL: installing it. Suggestions for improvements to this document 
  143
+			should be sent to the writers of this document.
  144
+		</P>
  145
+		<P>
  146
+			Thanks to Paulus Esterhazy (pesterhazy@gmx.net), for the work on VC++ port.
  147
+		</P>
  148
+		<P>
  149
+			This document was originally called "VisualC.txt", and was written by <A HREF="mailto:slouken@libsdl.org">
  150
+				Sam Lantinga</A>.
  151
+		</P>
  152
+		<P>
  153
+			Later, it was converted to HTML and expanded into the document that you see 
  154
+			today by <A HREF="mailto:snowlion@sprynet.com">Lion Kimbro</A>.
  155
+		</P>
  156
+		<P>Minor Fixes and Visual C++ 7 Information (In Green) was added by <A HREF="mailto:james@conceptofzero.net">James Turk</A>
  157
+		</P>
  158
+	</BODY>
  159
+</HTML>
727  sdl-windows/WhatsNew.txt
... ...
@@ -0,0 +1,727 @@
  1
+
  2
+This is a list of API changes in SDL's version history.
  3
+
  4
+Version 1.0:
  5
+
  6
+1.2.14:
  7
+	Added cast macros for correct usage with C++:
  8
+		SDL_reinterpret_cast(type, expression)
  9
+		SDL_static_cast(type, expression)
  10
+
  11
+	Added SDL_VIDEO_FULLSCREEN_DISPLAY as a preferred synonym for 
  12
+	SDL_VIDEO_FULLSCREEN_HEAD on X11.
  13
+
  14
+	Added SDL_DISABLE_LOCK_KEYS environment variable to enable normal
  15
+	up/down events for Caps-Lock and Num-Lock keys.
  16
+
  17
+1.2.13:
  18
+	Added SDL_BUTTON_X1 and SDL_BUTTON_X2 constants.
  19
+
  20
+1.2.12:
  21
+	Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling
  22
+	of the screensaver on Mac OS X and X11.
  23
+
  24
+1.2.10:
  25
+	If SDL_OpenAudio() is passed zero for the desired format
  26
+	fields, the following environment variables will be used
  27
+	to fill them in:
  28
+		SDL_AUDIO_FREQUENCY
  29
+		SDL_AUDIO_FORMAT
  30
+		SDL_AUDIO_CHANNELS
  31
+		SDL_AUDIO_SAMPLES
  32
+	If an environment variable is not specified, it will be set
  33
+	to a reasonable default value.
  34
+
  35
+	Added support for the SDL_VIDEO_FULLSCREEN_HEAD environment
  36
+	variable, currently supported on X11 Xinerama configurations.
  37
+
  38
+	Added SDL_GL_SWAP_CONTROL to wait for vsync in OpenGL applications.
  39
+
  40
+	Added SDL_GL_ACCELERATED_VISUAL to guarantee hardware acceleration.
  41
+
  42
+	Added current_w and current_h to the SDL_VideoInfo structure,
  43
+	which is set to the desktop resolution during video intialization,
  44
+	and then set to the current resolution when a video mode is set.
  45
+
  46
+	SDL_SetVideoMode() now accepts 0 for width or height and will use
  47
+	the current video mode (or the desktop mode if no mode has been set.)
  48
+
  49
+	Added SDL_GetKeyRepeat()
  50
+
  51
+	Added SDL_config.h, with defaults for various build environments.
  52
+
  53
+1.2.7:
  54
+	Added CPU feature detection functions to SDL_cpuinfo.h:
  55
+		SDL_HasRDTSC(), SDL_HasMMX(), SDL_Has3DNow(), SDL_HasSSE(),
  56
+		SDL_HasAltiVec()
  57
+	Added function to create RWops from const memory: SDL_RWFromConstMem()
  58
+
  59
+1.2.6:
  60
+	Added SDL_LoadObject(), SDL_LoadFunction(), and SDL_UnloadObject()
  61
+
  62
+	Added SDL_GL_MULTISAMPLEBUFFERS and SDL_GL_MULTISAMPLESAMPLES for FSAA
  63
+
  64
+1.2.5:
  65
+	Added SDL_BUTTON_WHEELUP (4) and SDL_BUTTON_WHEELDOWN (5)
  66
+
  67
+	Added SDL_GL_STEREO for stereoscopic OpenGL contexts
  68
+
  69
+1.2.0:
  70
+	Added SDL_VIDEOEXPOSE event to signal that the screen needs to
  71
+	be redrawn.  This is currently only delivered to OpenGL windows
  72
+	on X11, though it may be delivered in the future when the video
  73
+	memory is lost under DirectX.
  74
+
  75
+1.1.8:
  76
+	You can pass SDL_NOFRAME to SDL_VideoMode() to create a window
  77
+	that has no title bar or frame decoration.  Fullscreen video
  78
+	modes automatically have this flag set.
  79
+
  80
+	Added a function to query the clipping rectangle for a surface:
  81
+		void SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect)
  82
+
  83
+	Added a function to query the current event filter:
  84
+		SDL_EventFilter SDL_GetEventFilter(void)
  85
+
  86
+	If you pass -1 to SDL_ShowCursor(), it won't change the current
  87
+	cursor visibility state, but will still return it.
  88
+
  89
+	SDL_LockSurface() and SDL_UnlockSurface() are recursive, meaning
  90
+	you can nest them as deep as you want, as long as each lock call
  91
+	has a matching unlock call.  The surface remains locked until the
  92
+	last matching unlock call.
  93
+
  94
+	Note that you may not blit to or from a locked surface.
  95
+
  96
+1.1.7:
  97
+	The SDL_SetGammaRamp() and SDL_GetGammaRamp() functions now take
  98
+	arrays of Uint16 values instead of Uint8 values.  For the most part,
  99
+	you can just take your old values and shift them up 8 bits to get
  100
+	new correct values for your gamma ramps.
  101
+
  102
+	You can pass SDL_RLEACCEL in flags passed to SDL_ConvertSurface()
  103
+        and SDL will try to RLE accelerate colorkey and alpha blits in the
  104
+	resulting surface.
  105
+
  106
+1.1.6:
  107
+	Added a function to return the thread ID of a specific thread:
  108
+		Uint32 SDL_GetThreadID(SDL_Thread *thread)
  109
+	If 'thread' is NULL, this function returns the id for this thread.
  110
+
  111
+1.1.5:
  112
+	The YUV overlay structure has been changed to use an array of
  113
+	pitches and pixels representing the planes of a YUV image, to
  114
+	better enable hardware acceleration.  The YV12 and IYUV formats
  115
+	each have three planes, corresponding to the Y, U, and V portions
  116
+	of the image, while packed pixel YUV formats just have one plane.
  117
+
  118
+	For palettized mode (8bpp), the screen colormap is now split in
  119
+	a physical and a logical palette. The physical palette determines
  120
+	what colours the screen pixels will get when displayed, and the
  121
+	logical palette controls the mapping from blits to/from the screen.
  122
+	A new function, SDL_SetPalette() has been added to change
  123
+	logical and physical palettes separately. SDL_SetColors() works
  124
+	just as before, and is equivalent to calling SDL_SetPalette() with
  125
+	a flag argument of (SDL_LOGPAL|SDL_PHYSPAL).
  126
+
  127
+	SDL_BlitSurface() no longer modifies the source rectangle, only the
  128
+	destination rectangle. The width/height members of the destination
  129
+	rectangle are ignored, only the position is used.
  130
+
  131
+	The old source clipping function SDL_SetClipping() has been replaced
  132
+	with a more useful function to set the destination clipping rectangle:
  133
+		SDL_bool SDL_SetClipRect(SDL_Surface *surface, SDL_Rect *rect)
  134
+		
  135
+	Added a function to see what subsystems have been initialized:
  136
+		Uint32 SDL_WasInit(Uint32 flags)
  137
+
  138
+	The Big Alpha Flip: SDL now treats alpha as opacity like everybody
  139
+	else, and not as transparency:
  140
+
  141
+	A new cpp symbol: SDL_ALPHA_OPAQUE is defined as 255
  142
+	A new cpp symbol: SDL_ALPHA_TRANSPARENT is defined as 0
  143
+	Values between 0 and 255 vary from fully transparent to fully opaque.
  144
+
  145
+	New functions:
  146
+	SDL_DisplayFormatAlpha()
  147
+	    Returns a surface converted to a format with alpha-channel
  148
+	    that can be blit efficiently to the screen. (In other words,
  149
+	    like SDL_DisplayFormat() but the resulting surface has
  150
+	    an alpha channel.)  This is useful for surfaces with alpha.
  151
+	SDL_MapRGBA()
  152
+	    Works as SDL_MapRGB() but takes an additional alpha parameter.
  153
+	SDL_GetRGBA()
  154
+	    Works as SDL_GetRGB() but also returns the alpha value
  155
+	    (SDL_ALPHA_OPAQUE for formats without an alpha channel)
  156
+
  157
+	Both SDL_GetRGB() and SDL_GetRGBA() now always return values in
  158
+	the [0..255] interval. Previously, SDL_GetRGB() would return
  159
+	(0xf8, 0xfc, 0xf8) for a completely white pixel in RGB565 format.
  160
+	(N.B.: This is broken for bit fields < 3 bits.)
  161
+
  162
+	SDL_MapRGB() returns pixels in which the alpha channel is set opaque.
  163
+
  164
+	SDL_SetAlpha() can now be used for both setting the per-surface
  165
+	alpha, using the new way of thinking of alpha, and also to enable
  166
+	and disable per-pixel alpha blending for surfaces with an alpha
  167
+	channel:
  168
+		To disable alpha blending:
  169
+			SDL_SetAlpha(surface, 0, 0);
  170
+		To re-enable alpha blending:
  171
+			SDL_SetAlpha(surface, SDL_SRCALPHA, 0);
  172
+	Surfaces with an alpha channel have blending enabled by default.
  173
+
  174
+	SDL_SetAlpha() now accepts SDL_RLEACCEL as a flag, which requests
  175
+	RLE acceleration of blits, just as like with SDL_SetColorKey().
  176
+	This flag can be set for both surfaces with an alpha channel
  177
+	and surfaces with an alpha value set by SDL_SetAlpha().
  178
+	As always, RLE surfaces must be locked before pixel access is
  179
+	allowed, and unlocked before any other SDL operations are done
  180
+	on it.
  181
+
  182
+	The blit semantics for surfaces with and without alpha and colorkey
  183
+	have now been defined:
  184
+
  185
+	RGBA->RGB:
  186
+	    SDL_SRCALPHA set:
  187
+		alpha-blend (using alpha-channel).
  188
+		SDL_SRCCOLORKEY ignored.
  189
+	    SDL_SRCALPHA not set:
  190
+		copy RGB.
  191
+		if SDL_SRCCOLORKEY set, only copy the pixels matching the
  192
+		RGB values of the source colour key, ignoring alpha in the
  193
+		comparison.
  194
+
  195
+	RGB->RGBA:
  196
+	    SDL_SRCALPHA set:
  197
+		alpha-blend (using the source per-surface alpha value);
  198
+		set destination alpha to opaque.
  199
+	    SDL_SRCALPHA not set:
  200
+		copy RGB, set destination alpha to opaque.
  201
+	    both:
  202
+		if SDL_SRCCOLORKEY set, only copy the pixels matching the
  203
+		source colour key.
  204
+
  205
+	RGBA->RGBA:
  206
+	    SDL_SRCALPHA set:
  207
+		alpha-blend (using the source alpha channel) the RGB values;
  208
+		leave destination alpha untouched. [Note: is this correct?]
  209
+		SDL_SRCCOLORKEY ignored.
  210
+	    SDL_SRCALPHA not set:
  211
+		copy all of RGBA to the destination.
  212
+		if SDL_SRCCOLORKEY set, only copy the pixels matching the
  213
+		RGB values of the source colour key, ignoring alpha in the
  214
+		comparison.
  215
+
  216
+	RGB->RGB: 
  217
+	    SDL_SRCALPHA set:
  218
+		alpha-blend (using the source per-surface alpha value).
  219
+	    SDL_SRCALPHA not set:
  220
+		copy RGB.
  221
+	    both:
  222
+		if SDL_SRCCOLORKEY set, only copy the pixels matching the
  223
+		source colour key.
  224
+
  225
+	As a special case, blits from surfaces with per-surface alpha
  226
+	value of 128 (50% transparency) are optimised and much faster
  227
+	than other alpha values. This does not apply to surfaces with
  228
+	alpha channels (per-pixel alpha).
  229
+
  230
+	New functions for manipulating the gamma of the display have
  231
+	been added:
  232
+		int SDL_SetGamma(float red, float green, float blue);
  233
+		int SDL_SetGammaRamp(Uint8 *red, Uint8 *green, Uint8 *blue);
  234
+		int SDL_GetGammaRamp(Uint8 *red, Uint8 *green, Uint8 *blue);
  235
+	Gamma ramps are tables with 256 entries which map the screen color
  236
+	components into actually displayed colors.  For an example of
  237
+	implementing gamma correction and gamma fades, see test/testgamma.c
  238
+	Gamma control is not supported on all hardware.
  239
+
  240
+1.1.4:
  241
+	The size of the SDL_CDtrack structure changed from 8 to 12 bytes
  242
+	as the size of the length member was extended to 32 bits.
  243
+
  244
+        You can now use SDL for 2D blitting with a GL mode by passing the
  245
+	SDL_OPENGLBLIT flag to SDL_SetVideoMode().  You can specify 16 or
  246
+	32 bpp, and the data in the framebuffer is put into the GL scene
  247
+	when you call SDL_UpdateRects(), and the scene will be visible
  248
+	when you call SDL_GL_SwapBuffers().
  249
+
  250
+	Run the "testgl" test program with the -logo command line option
  251
+	to see an example of this blending of 2D and 3D in SDL.
  252
+
  253
+1.1.3:
  254
+	Added SDL_FreeRW() to the API, to complement SDL_AllocRW()
  255
+
  256
+	Added resizable window support - just add SDL_RESIZABLE to the
  257
+	SDL_SetVideoMode() flags, and then wait for SDL_VIDEORESIZE events.
  258
+	See SDL_events.h for details on the new SDL_ResizeEvent structure.
  259
+
  260
+	Added condition variable support, based on mutexes and semaphores.
  261
+		SDL_CreateCond()
  262
+		SDL_DestroyCond()
  263
+		SDL_CondSignal()
  264
+		SDL_CondBroadcast()
  265
+		SDL_CondWait()
  266
+		SDL_CondTimedWait()
  267
+	The new function prototypes are in SDL_mutex.h
  268
+
  269
+	Added counting semaphore support, based on the mutex primitive.
  270
+		SDL_CreateSemaphore()
  271
+		SDL_DestroySemaphore()
  272
+		SDL_SemWait()
  273
+		SDL_SemTryWait()
  274
+		SDL_SemWaitTimeout()
  275
+		SDL_SemPost()
  276
+		SDL_SemValue()
  277
+	The new function prototypes are in SDL_mutex.h
  278
+
  279
+	Added support for asynchronous blitting.  To take advantage of this,
  280
+	you must set the SDL_ASYNCBLIT flag when setting the video mode and
  281
+	creating surfaces that you want accelerated in this way.  You must
  282
+	lock surfaces that have this flag set, and the lock will block until
  283
+	any queued blits have completed.
  284
+
  285
+	Added YUV video overlay support.
  286
+	The supported YUV formats are: YV12, IYUV, YUY2, UYVY, and YVYU.
  287
+	This function creates an overlay surface:
  288
+		SDL_CreateYUVOverlay()
  289
+	You must lock and unlock the overlay to get access to the data: