You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
199 lines
12 KiB
199 lines
12 KiB
|
|
This is a list of major changes in SDL's version history. |
|
|
|
--------------------------------------------------------------------------- |
|
2.0.4: |
|
--------------------------------------------------------------------------- |
|
|
|
General: |
|
* Added support for web applications using Emscripten, see docs/README-emscripten.md for more information |
|
* Added support for web applications using Native Client (NaCl), see docs/README-nacl.md for more information |
|
* Added an API to queue audio instead of using the audio callback: |
|
SDL_QueueAudio(), SDL_GetQueuedAudioSize(), SDL_ClearQueuedAudio() |
|
* Added events for audio device hot plug support: |
|
SDL_AUDIODEVICEADDED, SDL_AUDIODEVICEREMOVED |
|
* Added SDL_PointInRect() |
|
* Added SDL_HasAVX2() to detect CPUs with AVX2 support |
|
* Added SDL_SetWindowHitTest() to let apps treat parts of their SDL window like traditional window decorations (drag areas, resize areas) |
|
* Added SDL_GetGrabbedWindow() to get the window that currently has input grab, if any |
|
* Added SDL_RenderIsClipEnabled() to tell whether clipping is currently enabled in a renderer |
|
* Added SDL_CaptureMouse() to capture the mouse to get events while the mouse is not in your window |
|
* Added SDL_WarpMouseGlobal() to warp the mouse cursor in global screen space |
|
* Added SDL_GetGlobalMouseState() to get the current mouse state outside of an SDL window |
|
* Added a direction field to mouse wheel events to tell whether they are flipped (natural) or not |
|
* Added GL_CONTEXT_RELEASE_BEHAVIOR GL attribute (maps to [WGL|GLX]_ARB_context_flush_control extension) |
|
* Added EGL_KHR_create_context support to allow OpenGL ES version selection on some platforms |
|
* Added NV12 and NV21 YUV texture support for OpenGL and OpenGL ES 2.0 renderers |
|
* Added a Vivante video driver that is used on various SoC platforms |
|
* Added an event SDL_RENDER_DEVICE_RESET that is sent from the D3D renderers when the D3D device is lost, and from Android's event loop when the GLES context had to be recreated |
|
* Added a hint SDL_HINT_NO_SIGNAL_HANDLERS to disable SDL's built in signal handling |
|
* Added a hint SDL_HINT_THREAD_STACK_SIZE to set the stack size of SDL's threads |
|
* Added SDL_sqrtf(), SDL_tan(), and SDL_tanf() to the stdlib routines |
|
* Improved support for WAV and BMP files with unusual chunks in them |
|
* Renamed SDL_assert_data to SDL_AssertData and SDL_assert_state to SDL_AssertState |
|
* Added a hint SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN to prevent window interaction while cursor is hidden |
|
* Added SDL_GetDisplayDPI() to get the DPI information for a display |
|
* Added SDL_JoystickCurrentPowerLevel() to get the battery level of a joystick |
|
* Added SDL_JoystickFromInstanceID(), as a helper function, to get the SDL_Joystick* that an event is referring to. |
|
* Added SDL_GameControllerFromInstanceID(), as a helper function, to get the SDL_GameController* that an event is referring to. |
|
|
|
Windows: |
|
* Added support for Windows Phone 8.1 and Windows 10/UWP (Universal Windows Platform) |
|
* Timer resolution is now 1 ms by default, adjustable with the SDL_HINT_TIMER_RESOLUTION hint |
|
* SDLmain no longer depends on the C runtime, so you can use the same .lib in both Debug and Release builds |
|
* Added SDL_SetWindowsMessageHook() to set a function to be called for every windows message before TranslateMessage() |
|
* Added a hint SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP to control whether SDL_PumpEvents() processes the Windows message loop |
|
* You can distinguish between real mouse and touch events by looking for SDL_TOUCH_MOUSEID in the mouse event "which" field |
|
* SDL_SysWMinfo now contains the window HDC |
|
* Added support for Unicode command line options |
|
* Prevent beeping when Alt-key combos are pressed |
|
* SDL_SetTextInputRect() re-positions the OS-rendered IME |
|
* Added a hint SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 to prevent generating SDL_WINDOWEVENT_CLOSE events when Alt-F4 is pressed |
|
* Added a hint SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING to use the old axis and button mapping for XInput devices (deprecated) |
|
|
|
Mac OS X: |
|
* Implemented drag-and-drop support |
|
* Improved joystick hot-plug detection |
|
* The SDL_WINDOWEVENT_EXPOSED window event is triggered in the appropriate situations |
|
* Fixed relative mouse mode when the application loses/regains focus |
|
* Fixed bugs related to transitioning to and from Spaces-aware fullscreen-desktop mode |
|
* Fixed the refresh rate of display modes |
|
* SDL_SysWMInfo is now ARC-compatible |
|
* Added a hint SDL_HINT_MAC_BACKGROUND_APP to prevent forcing the application to become a foreground process |
|
|
|
Linux: |
|
* Enabled building with Mir and Wayland support by default. |
|
* Added IBus IME support |
|
* Added a hint SDL_HINT_IME_INTERNAL_EDITING to control whether IBus should handle text editing internally instead of sending SDL_TEXTEDITING events |
|
* Added a hint SDL_HINT_VIDEO_X11_NET_WM_PING to allow disabling _NET_WM_PING protocol handling in SDL_CreateWindow() |
|
* Added support for multiple audio devices when using Pulseaudio |
|
* Fixed duplicate mouse events when using relative mouse motion |
|
|
|
iOS: |
|
* Added support for iOS 8 |
|
* The SDL_WINDOW_ALLOW_HIGHDPI window flag now enables high-dpi support, and SDL_GL_GetDrawableSize() or SDL_GetRendererOutputSize() gets the window resolution in pixels |
|
* SDL_GetWindowSize() and display mode sizes are in the "DPI-independent points" / "screen coordinates" coordinate space rather than pixels (matches OS X behavior) |
|
* Added native resolution support for the iPhone 6 Plus |
|
* Added support for MFi game controllers |
|
* Added support for the hint SDL_HINT_ACCELEROMETER_AS_JOYSTICK |
|
* Added sRGB OpenGL ES context support on iOS 7+ |
|
* Added support for SDL_DisableScreenSaver(), SDL_EnableScreenSaver() and the hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER |
|
* SDL_SysWMinfo now contains the OpenGL ES framebuffer and color renderbuffer objects used by the window's active GLES view |
|
* Fixed various rotation and orientation issues |
|
* Fixed memory leaks |
|
|
|
Android: |
|
* Added a hint SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH to prevent mouse events from being registered as touch events |
|
* Added hints SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION and SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION |
|
* Added support for SDL_DisableScreenSaver(), SDL_EnableScreenSaver() and the hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER |
|
* Added support for SDL_ShowMessageBox() and SDL_ShowSimpleMessageBox() |
|
|
|
Raspberry Pi: |
|
* Added support for the Raspberry Pi 2 |
|
|
|
|
|
--------------------------------------------------------------------------- |
|
2.0.3: |
|
--------------------------------------------------------------------------- |
|
|
|
Mac OS X: |
|
* Fixed creating an OpenGL context by default on Mac OS X 10.6 |
|
|
|
|
|
--------------------------------------------------------------------------- |
|
2.0.2: |
|
--------------------------------------------------------------------------- |
|
General: |
|
* Added SDL_GL_ResetAttributes() to reset OpenGL attributes to default values |
|
* Added an API to load a database of game controller mappings from a file: |
|
SDL_GameControllerAddMappingsFromFile(), SDL_GameControllerAddMappingsFromRW() |
|
* Added game controller mappings for the PS4 and OUYA controllers |
|
* Added SDL_GetDefaultAssertionHandler() and SDL_GetAssertionHandler() |
|
* Added SDL_DetachThread() |
|
* Added SDL_HasAVX() to determine if the CPU has AVX features |
|
* Added SDL_vsscanf(), SDL_acos(), and SDL_asin() to the stdlib routines |
|
* EGL can now create/manage OpenGL and OpenGL ES 1.x/2.x contexts, and share |
|
them using SDL_GL_SHARE_WITH_CURRENT_CONTEXT |
|
* Added a field "clicks" to the mouse button event which records whether the event is a single click, double click, etc. |
|
* The screensaver is now disabled by default, and there is a hint SDL_HINT_VIDEO_ALLOW_SCREENSAVER that can change that behavior. |
|
* Added a hint SDL_HINT_MOUSE_RELATIVE_MODE_WARP to specify whether mouse relative mode should be emulated using mouse warping. |
|
* testgl2 does not need to link with libGL anymore |
|
* Added testgles2 test program to demonstrate working with OpenGL ES 2.0 |
|
* Added controllermap test program to visually map a game controller |
|
|
|
Windows: |
|
* Support for OpenGL ES 2.x contexts using either WGL or EGL (natively via |
|
the driver or emulated through ANGLE) |
|
* Added a hint SDL_HINT_VIDEO_WIN_D3DCOMPILER to specify which D3D shader compiler to use for OpenGL ES 2 support through ANGLE |
|
* Added a hint SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT that is useful when creating multiple windows that should share the same OpenGL context. |
|
* Added an event SDL_RENDER_TARGETS_RESET that is sent when D3D9 render targets are reset after the device has been restored. |
|
|
|
Mac OS X: |
|
* Added a hint SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK to control whether Ctrl+click should be treated as a right click on Mac OS X. This is off by default. |
|
|
|
Linux: |
|
* Fixed fullscreen and focused behavior when receiving NotifyGrab events |
|
* Added experimental Wayland and Mir support, disabled by default |
|
|
|
Android: |
|
* Joystick support (minimum SDK version required to build SDL is now 12, |
|
the required runtime version remains at 10, but on such devices joystick |
|
support won't be available). |
|
* Hotplugging support for joysticks |
|
* Added a hint SDL_HINT_ACCELEROMETER_AS_JOYSTICK to control whether the accelerometer should be listed as a 3 axis joystick, which it will by default. |
|
|
|
|
|
--------------------------------------------------------------------------- |
|
2.0.1: |
|
--------------------------------------------------------------------------- |
|
|
|
General: |
|
* Added an API to get common filesystem paths in SDL_filesystem.h: |
|
SDL_GetBasePath(), SDL_GetPrefPath() |
|
* Added an API to do optimized YV12 and IYUV texture updates: |
|
SDL_UpdateYUVTexture() |
|
* Added an API to get the amount of RAM on the system: |
|
SDL_GetSystemRAM() |
|
* Added a macro to perform timestamp comparisons with SDL_GetTicks(): |
|
SDL_TICKS_PASSED() |
|
* Dramatically improved OpenGL ES 2.0 rendering performance |
|
* Added OpenGL attribute SDL_GL_FRAMEBUFFER_SRGB_CAPABLE |
|
|
|
Windows: |
|
* Created a static library configuration for the Visual Studio 2010 project |
|
* Added a hint to create the Direct3D device with support for multi-threading: |
|
SDL_HINT_RENDER_DIRECT3D_THREADSAFE |
|
* Added a function to get the D3D9 adapter index for a display: |
|
SDL_Direct3D9GetAdapterIndex() |
|
* Added a function to get the D3D9 device for a D3D9 renderer: |
|
SDL_RenderGetD3D9Device() |
|
* Fixed building SDL with the mingw32 toolchain (mingw-w64 is preferred) |
|
* Fixed crash when using two XInput controllers at the same time |
|
* Fixed detecting a mixture of XInput and DirectInput controllers |
|
* Fixed clearing a D3D render target larger than the window |
|
* Improved support for format specifiers in SDL_snprintf() |
|
|
|
Mac OS X: |
|
* Added support for retina displays: |
|
Create your window with the SDL_WINDOW_ALLOW_HIGHDPI flag, and then use SDL_GL_GetDrawableSize() to find the actual drawable size. You are responsible for scaling mouse and drawing coordinates appropriately. |
|
* Fixed mouse warping in fullscreen mode |
|
* Right mouse click is emulated by holding the Ctrl key while left clicking |
|
|
|
Linux: |
|
* Fixed float audio support with the PulseAudio driver |
|
* Fixed missing line endpoints in the OpenGL renderer on some drivers |
|
* X11 symbols are no longer defined to avoid collisions when linking statically |
|
|
|
iOS: |
|
* Fixed status bar visibility on iOS 7 |
|
* Flipped the accelerometer Y axis to match expected values |
|
|
|
Android: |
|
IMPORTANT: You MUST get the updated SDLActivity.java to match C code |
|
* Moved EGL initialization to native code |
|
* Fixed the accelerometer axis rotation relative to the device rotation |
|
* Fixed race conditions when handling the EGL context on pause/resume |
|
* Touch devices are available for enumeration immediately after init |
|
|
|
Raspberry Pi: |
|
* Added support for the Raspberry Pi, see README-raspberrypi.txt for details
|
|
|