SDL2

Issues

 * ✅ New event types to handle (E.g. mouse wheel is now an event of its own)
 * Standard I/O streams on Windows seem to no longer be redirected to file by default.
 * In cases where the I/O isn't redirected, Windows needs proper line-buffering set up.
 * This is a SDL compile-time option, to my knowledge.
 * Crash reports from users are often made much more useful due to their console output
 * Notes here: When run from a cmd console, SDL2 will not print output directly to the console, but output can still be piped. When using mintty (terminal emulator), output will get printed. Now that our Windows build instructions point to msys2, anyone developing on Windows can be assumed to use mintty. --BTAxis (talk) 05:02, 18 February 2015 (CST)


 * ✅ Input focus on glyphs rather than chars breaks many of our input assumptions
 * Also causes modifier keys to register as letters, currently.
 * On Windows, SDL2_mixer is linked to various irrelevant (to us) DLLs such as libFLAC-8.dll and libmodplug-1.dll. While this is not a problem as such, it does mean we can keep down our DLL clutter by about 10 files and our download size by a few MBs if we abandon this backend and use OpenAL exclusively.

Useful Features

 * SDL_ShowSimpleMessageBox
 * Would allow us to provide better, platform-specific help if ndata is missing, OpenGL can't be initialized, etc.
 * SDL_DropEvent
 * Allows file drag-and-drop, which could alleviate first-run confusion.
 * SDL_SetWindowFullscreen
 * Allows for modern "fake" fullscreen without mode-setting. Plays well with multiple monitors.