This is a list of major changes in SDL's version history. --------------------------------------------------------------------------- 3.2.0: --------------------------------------------------------------------------- General: * SDL headers should now be included as `#include ` * 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