SDL2/WhatsNew.txt

131 lines
7 KiB
Plaintext

This is a list of major changes in SDL's version history.
---------------------------------------------------------------------------
3.2.0:
---------------------------------------------------------------------------
General:
* SDL headers should now be included as `#include <SDL3/SDL.h>`
* M_PI is no longer defined in SDL_stdinc.h, now the symbols SDL_PI_D (double) and SDL_PI_F (float) are available
* SDL_GetWindowWMInfo() returns a standard int result code instead of SDL_bool, and takes SDL_SYSWM_CURRENT_VERSION as a new third parameter
* The preprocessor symbol __MACOSX__ has been renamed __MACOS__
* The preprocessor symbol __IPHONEOS__ has been renamed __IOS__
* The following macros have been renamed:
* RW_SEEK_CUR -> SDL_RW_SEEK_CUR
* RW_SEEK_END -> SDL_RW_SEEK_END
* RW_SEEK_SET -> SDL_RW_SEEK_SET
* SDL_FreeWAV has been removed and calls can be replaced with SDL_free
* The following functions have been renamed:
* SDL_AudioStreamAvailable => SDL_GetAudioStreamAvailable
* SDL_AudioStreamClear => SDL_ClearAudioStream
* SDL_AudioStreamFlush => SDL_FlushAudioStream
* SDL_AudioStreamGet => SDL_GetAudioStreamData
* SDL_AudioStreamPut => SDL_PutAudioStreamData
* SDL_FreeAudioStream => SDL_DestroyAudioStream
* SDL_JoystickAttachVirtual => SDL_AttachVirtualJoystick
* SDL_JoystickAttachVirtualEx => SDL_AttachVirtualJoystickEx
* SDL_JoystickClose => SDL_CloseJoystick
* SDL_JoystickCurrentPowerLevel => SDL_GetJoystickPowerLevel
* SDL_JoystickDetachVirtual => SDL_DetachVirtualJoystick
* SDL_JoystickEventState => SDL_GetJoystickEventState
* SDL_JoystickFromInstanceID => SDL_GetJoystickFromInstanceID
* SDL_JoystickFromPlayerIndex => SDL_GetJoystickFromPlayerIndex
* SDL_JoystickGetAttached => SDL_IsJoystickConnected
* SDL_JoystickGetAxis => SDL_GetJoystickAxis
* SDL_JoystickGetAxisInitialState => SDL_GetJoystickAxisInitialState
* SDL_JoystickGetButton => SDL_GetJoystickButton
* SDL_JoystickGetDeviceGUID => SDL_GetJoystickDeviceGUID
* SDL_JoystickGetDeviceInstanceID => SDL_GetJoystickDeviceInstanceID
* SDL_JoystickGetDevicePlayerIndex => SDL_GetJoystickDevicePlayerIndex
* SDL_JoystickGetDeviceProduct => SDL_GetJoystickDeviceProduct
* SDL_JoystickGetDeviceProductVersion => SDL_GetJoystickDeviceProductVersion
* SDL_JoystickGetDeviceType => SDL_GetJoystickDeviceType
* SDL_JoystickGetDeviceVendor => SDL_GetJoystickDeviceVendor
* SDL_JoystickGetFirmwareVersion => SDL_GetJoystickFirmwareVersion
* SDL_JoystickGetGUID => SDL_GetJoystickGUID
* SDL_JoystickGetGUIDFromString => SDL_GetJoystickGUIDFromString
* SDL_JoystickGetGUIDString => SDL_GetJoystickGUIDString
* SDL_JoystickGetHat => SDL_GetJoystickHat
* SDL_JoystickGetPlayerIndex => SDL_GetJoystickPlayerIndex
* SDL_JoystickGetProduct => SDL_GetJoystickProduct
* SDL_JoystickGetProductVersion => SDL_GetJoystickProductVersion
* SDL_JoystickGetSerial => SDL_GetJoystickSerial
* SDL_JoystickGetType => SDL_GetJoystickType
* SDL_JoystickGetVendor => SDL_GetJoystickVendor
* SDL_JoystickInstanceID => SDL_GetJoystickInstanceID
* SDL_JoystickIsVirtual => SDL_IsJoystickVirtual
* SDL_JoystickName => SDL_GetJoystickName
* SDL_JoystickNameForIndex => SDL_GetJoystickNameForIndex
* SDL_JoystickNumAxes => SDL_GetNumJoystickAxes
* SDL_JoystickNumButtons => SDL_GetNumJoystickButtons
* SDL_JoystickNumHats => SDL_GetNumJoystickHats
* SDL_JoystickOpen => SDL_OpenJoystick
* SDL_JoystickPath => SDL_GetJoystickPath
* SDL_JoystickPathForIndex => SDL_GetJoystickPathForIndex
* SDL_JoystickRumble => SDL_RumbleJoystick
* SDL_JoystickRumbleTriggers => SDL_RumbleJoystickTriggers
* SDL_JoystickSendEffect => SDL_SendJoystickEffect
* SDL_JoystickSetLED => SDL_SetJoystickLED
* SDL_JoystickSetPlayerIndex => SDL_SetJoystickPlayerIndex
* SDL_JoystickSetVirtualAxis => SDL_SetJoystickVirtualAxis
* SDL_JoystickSetVirtualButton => SDL_SetJoystickVirtualButton
* SDL_JoystickSetVirtualHat => SDL_SetJoystickVirtualHat
* SDL_JoystickUpdate => SDL_UpdateJoysticks
* SDL_NewAudioStream => SDL_CreateAudioStream
* SDL_NumJoysticks => SDL_GetNumJoysticks
* Removed the following functions from the API, see docs/README-migration.md for details:
* SDL_AudioInit()
* SDL_AudioQuit()
* SDL_CalculateGammaRamp()
* SDL_CreateRGBSurface()
* SDL_CreateRGBSurfaceFrom()
* SDL_CreateRGBSurfaceWithFormat()
* SDL_CreateRGBSurfaceWithFormatFrom()
* SDL_GameControllerGetSensorDataWithTimestamp()
* SDL_GetRevisionNumber()
* SDL_GetWindowBrightness()
* SDL_GetWindowGammaRamp()
* SDL_RWFromFP()
* SDL_SensorGetDataWithTimestamp()
* SDL_SetWindowBrightness()
* SDL_SetWindowGammaRamp()
* SDL_VideoInit()
* SDL_VideoQuit()
* Removed the following hints from the API, see docs/README-migration.md for details:
* SDL_HINT_IDLE_TIMER_DISABLED
* SDL_HINT_VIDEO_X11_FORCE_EGL
* SDL_HINT_VIDEO_X11_XINERAMA
* SDL_HINT_VIDEO_X11_XVIDMODE
* Renamed hints 'SDL_HINT_VIDEODRIVER' and 'SDL_HINT_AUDIODRIVER' to 'SDL_HINT_VIDEO_DRIVER' and 'SDL_HINT_AUDIO_DRIVER'
* Renamed environment variables 'SDL_VIDEODRIVER' and 'SDL_AUDIODRIVER' to 'SDL_VIDEO_DRIVER' and 'SDL_AUDIO_DRIVER'
* SDL_stdinc.h no longer includes stdio.h, stdlib.h, etc., it only provides the SDL C runtime functionality
* Added SDL_CreateSurface() and SDL_CreateSurfaceFrom() which replace the SDL_CreateRGBSurface*(), and can also be used to create YUV surfaces
* Removed unused 'flags' parameter from SDL_ConvertSurface and SDL_ConvertSurfaceFormat
* Removed 'SDL_GL_CONTEXT_EGL' from OpenGL configuration attributes
* SDL_GetTicks() now returns a 64-bit value and the tick values should be directly compared instead of using the SDL_TICKS_PASSED macro
* Added SDL_GetTicksNS() to return the number of nanoseconds since the SDL library initialized
* Added SDL_DelayNS() to specify a delay in nanoseconds, to the highest precision the system will support
* The timestamp member of the SDL_Event structure is now in nanoseconds, filled in with the time the event was generated, or the time it was queued if that's not available
* The `SDL_DISPLAYEVENT_*` and `SDL_WINDOWEVENT_*` events have been moved to top level events
* Intrinsic headers are no longer included in the public SDL headers
* The following enums have been renamed:
* KMOD_ALT => SDL_KMOD_ALT
* KMOD_CAPS => SDL_KMOD_CAPS
* KMOD_CTRL => SDL_KMOD_CTRL
* KMOD_GUI => SDL_KMOD_GUI
* KMOD_LALT => SDL_KMOD_LALT
* KMOD_LCTRL => SDL_KMOD_LCTRL
* KMOD_LGUI => SDL_KMOD_LGUI
* KMOD_LSHIFT => SDL_KMOD_LSHIFT
* KMOD_MODE => SDL_KMOD_MODE
* KMOD_NONE => SDL_KMOD_NONE
* KMOD_NUM => SDL_KMOD_NUM
* KMOD_RALT => SDL_KMOD_RALT
* KMOD_RCTRL => SDL_KMOD_RCTRL
* KMOD_RESERVED => SDL_KMOD_RESERVED
* KMOD_RGUI => SDL_KMOD_RGUI
* KMOD_RSHIFT => SDL_KMOD_RSHIFT
* KMOD_SCROLL => SDL_KMOD_SCROLL
* KMOD_SHIFT => SDL_KMOD_SHIFT