
Simple DirectMedia Layer CREDITS
Thanks to everyone who made this possible, including:

* Cliff Matthews, for giving me a reason to start this project. :)
 -- Executor rocks!  *grin*

* Ryan Gordon for helping everybody out and keeping the dream alive. :)

* Gabriel Jacobo for his work on the Android port and generally helping out all around.
 
* Philipp Wiesemann for his attention to detail reviewing the entire SDL code base and proposes patches.

* Andreas Schiffler for his dedication to unit tests, Visual Studio projects, and managing the Google Summer of Code.

* Mike Sartain for incorporating SDL into Team Fortress 2 and cheering me on at Valve.

* Alfred Reynolds for the game controller API and general (in)sanity

* Jørgen Tjernø for numerous magical Mac OS X fixes.

* Pierre-Loup Griffais for his deep knowledge of OpenGL drivers.
 
* Julian Winter for the SDL 2.0 website.

* Sheena Smith for many months of great work on the SDL wiki creating the API documentation and style guides.

* Paul Hunkin for his port of SDL to Android during the Google Summer of Code 2010.

* Eli Gottlieb for his work on shaped windows during the Google Summer of Code 2010.

* Jim Grandpre for his work on multi-touch and gesture recognition during
  the Google Summer of Code 2010.

* Edgar "bobbens" Simo for his force feedback API development during the
  Google Summer of Code 2008.

* Aaron Wishnick for his work on audio resampling and pitch shifting during
  the Google Summer of Code 2008.

* Holmes Futrell for his port of SDL to the iPhone and iPod Touch during the
  Google Summer of Code 2008.

* Jon Atkins for SDL_image, SDL_mixer and SDL_net documentation.

* Everybody at Loki Software, Inc. for their great contributions!

 And a big hand to everyone else who has contributed over the years.

THANKS! :)

  -- Sam Lantinga			<slouken@libsdl.org>

