diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_android.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_android.h index 361bad8b..c3169e55 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_android.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_android.h @@ -35,16 +35,17 @@ #define HAVE_GCC_ATOMICS 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_iphoneos.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_iphoneos.h index deea0304..a27260e2 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_iphoneos.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_iphoneos.h @@ -33,16 +33,17 @@ #define HAVE_GCC_ATOMICS 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h index 9b098995..67f879a4 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h @@ -37,16 +37,18 @@ #endif /* Useful headers */ -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_os2.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_os2.h index dee94e7e..c37c077a 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_os2.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_os2.h @@ -27,20 +27,6 @@ #define HAVE_STDARG_H 1 #define HAVE_STDDEF_H 1 -#if 0 /* have stdint.h instead */ -/* Here are some reasonable defaults */ -typedef unsigned int size_t; -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; -typedef unsigned long uintptr_t; -#endif - #define SDL_AUDIO_DRIVER_DUMMY 1 #define SDL_AUDIO_DRIVER_DISK 1 /* Enable the OS/2 audio driver (src/audio/os2/\*.c) */ @@ -88,14 +74,13 @@ typedef unsigned long uintptr_t; #define HAVE_MATH_H 1 #define HAVE_FLOAT_H 1 #define HAVE_SIGNAL_H 1 -/* #undef HAVE_LIBSAMPLERATE_H */ /* C library functions */ #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 #define HAVE_FREE 1 -#ifdef __WATCOMC__ +#if defined(__WATCOMC__) #define HAVE__FSEEKI64 1 #define HAVE__FTELLI64 1 #endif @@ -103,7 +88,6 @@ typedef unsigned long uintptr_t; #define HAVE_GETENV 1 #define HAVE_SETENV 1 #define HAVE_PUTENV 1 -/*#undef HAVE_UNSETENV */ #define HAVE_QSORT 1 #define HAVE_ABS 1 #define HAVE_BCOPY 1 @@ -158,13 +142,15 @@ typedef unsigned long uintptr_t; #define HAVE_FABS 1 #define HAVE_FLOOR 1 #define HAVE_POW 1 -/*#define HAVE_SCALBN 1*/ +/* #undef HAVE_SCALBN */ #define HAVE_SIN 1 #define HAVE_SQRT 1 #define HAVE_TAN 1 #define HAVE_LOG 1 -/* #undef HAVE_ICONV */ -#define HAVE_ICONV_H 1 -/* #undef HAVE_POLL */ + +/* #undef HAVE_LIBSAMPLERATE_H */ + +/* Enable assembly routines */ +#define SDL_ASSEMBLY_ROUTINES 1 #endif /* SDL_config_os2_h_ */ diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_pandora.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_pandora.h index ea62fe59..f6f52fc1 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_pandora.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_pandora.h @@ -36,22 +36,24 @@ #define SDL_BYTEORDER 1234 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STDARG_H 1 -#define HAVE_MALLOC_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 #define HAVE_ICONV_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MATH_H 1 +#define HAVE_MEMORY_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 + #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_psp.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_psp.h index 28efb4c5..0e619790 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_psp.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_psp.h @@ -33,16 +33,17 @@ #define HAVE_GCC_ATOMICS 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_windows.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_windows.h index 0575eebf..a05772b0 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_windows.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_windows.h @@ -86,12 +86,14 @@ typedef unsigned int uintptr_t; /* This is disabled by default to avoid C runtime dependencies and manifest requirements */ #ifdef HAVE_LIBC /* Useful headers */ -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 /* C library functions */ #define HAVE_MALLOC 1 @@ -140,12 +142,19 @@ typedef unsigned int uintptr_t; #define HAVE_SQRTF 1 #define HAVE_TAN 1 #define HAVE_TANF 1 +#define HAVE__COPYSIGN 1 +#if defined(_MSC_VER) +/* These functions were added with the VC++ 2013 C runtime library */ #if _MSC_VER >= 1800 #define HAVE_STRTOLL 1 #define HAVE_VSSCANF 1 -#define HAVE_COPYSIGN 1 #define HAVE_SCALBN 1 #endif +/* This function is available with at least the VC++ 2008 C runtime library */ +#if _MSC_VER >= 1400 +#define HAVE__FSEEKI64 1 +#endif +#endif #if !defined(_MSC_VER) || defined(_USE_MATH_DEFINES) #define HAVE_M_PI 1 #endif @@ -155,7 +164,7 @@ typedef unsigned int uintptr_t; #endif /* Enable various audio drivers */ -/*#define SDL_AUDIO_DRIVER_WASAPI 1*/ +/* #undef SDL_AUDIO_DRIVER_WASAPI */ #define SDL_AUDIO_DRIVER_DSOUND 1 #define SDL_AUDIO_DRIVER_XAUDIO2 0 #define SDL_AUDIO_DRIVER_WINMM 1 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_winrt.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_winrt.h index 24f9e17f..93d7ae1b 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_winrt.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_winrt.h @@ -98,13 +98,14 @@ typedef unsigned int uintptr_t; #define HAVE_XINPUT_H 1 #endif #define HAVE_LIBC 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 #define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 #define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_wiz.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_wiz.h index 5bb845a0..3afd8d8a 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_wiz.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_config_wiz.h @@ -30,22 +30,24 @@ #define SDL_BYTEORDER 1234 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STDARG_H 1 -#define HAVE_MALLOC_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 #define HAVE_ICONV_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MATH_H 1 +#define HAVE_MEMORY_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 + #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_platform.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_platform.h index 75224a0d..9dde385f 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_platform.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_platform.h @@ -120,7 +120,7 @@ #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) /* Try to find out if we're compiling for WinRT or non-WinRT */ -#if defined(_MSC_VER) && _MSC_VER >= 1910 /* _MSC_VER == 1910 for Visual Studio 2017 */ +#if defined(_MSC_VER) && defined(__has_include) #define HAVE_WINAPIFAMILY_H __has_include() /* If _USING_V110_SDK71_ is defined it means we are using the Windows XP toolset. */ #elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_) /* _MSC_VER == 1700 for Visual Studio 2012 */ diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_revision.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_revision.h index c7ec6a2a..5242291f 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_revision.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_revision.h @@ -1,2 +1,2 @@ -#define SDL_REVISION "hg-11445:8d0fb04ecb13" -#define SDL_REVISION_NUMBER 11445 +#define SDL_REVISION "hg-11493:93013728e8a3" +#define SDL_REVISION_NUMBER 11493 diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_stdinc.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_stdinc.h index 38c8876f..546544f1 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_stdinc.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_stdinc.h @@ -389,10 +389,10 @@ SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords) return; switch (dwords % 4) { - case 0: do { *_p++ = _val; - case 3: *_p++ = _val; - case 2: *_p++ = _val; - case 1: *_p++ = _val; + case 0: do { *_p++ = _val; /* fallthrough */ + case 3: *_p++ = _val; /* fallthrough */ + case 2: *_p++ = _val; /* fallthrough */ + case 1: *_p++ = _val; /* fallthrough */ } while ( --_n ); } #endif diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_syswm.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_syswm.h index ac437c2a..2d18afb6 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_syswm.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_syswm.h @@ -110,11 +110,6 @@ typedef void *EGLSurface; #include "SDL_egl.h" #endif -#if defined(SDL_VIDEO_DRIVER_OS2) -#define INCL_WIN -#include -#endif - /** * These are the various supported windowing subsystems */ @@ -184,16 +179,6 @@ struct SDL_SysWMmsg int dummy; /* No Vivante window events yet */ } vivante; -#endif -#if defined(SDL_VIDEO_DRIVER_OS2) - struct - { - BOOL fFrame; /**< TRUE if hwnd is a frame window */ - HWND hwnd; /**< The window receiving the message */ - ULONG msg; /**< The message identifier */ - MPARAM mp1; /**< The first first message parameter */ - MPARAM mp2; /**< The second first message parameter */ - } os2; #endif /* Can't have an empty union */ int dummy; @@ -288,14 +273,6 @@ struct SDL_SysWMinfo } android; #endif -#if defined(SDL_VIDEO_DRIVER_OS2) - struct - { - HWND hwnd; /**< The window handle */ - HWND hwndFrame; /**< The frame window handle */ - } os2; -#endif - #if defined(SDL_VIDEO_DRIVER_VIVANTE) struct { diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_video.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_video.h index 52d6ead1..6f6cda8b 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_video.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_video.h @@ -604,8 +604,8 @@ extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window, * \param w The width of the window, in screen coordinates. Must be >0. * \param h The height of the window, in screen coordinates. Must be >0. * - * \note You can't change the size of a fullscreen window, it automatically - * matches the size of the display mode. + * \note Fullscreen windows automatically match the size of the display mode, + * and you should use SDL_SetWindowDisplayMode() to change their size. * * The window size in screen coordinates may differ from the size in pixels, if * the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with @@ -613,6 +613,7 @@ extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window, * SDL_GetRendererOutputSize() to get the real client area size in pixels. * * \sa SDL_GetWindowSize() + * \sa SDL_SetWindowDisplayMode() */ extern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_Window * window, int w, int h); diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_vulkan.h b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_vulkan.h index 6c7d305f..803b5fee 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/SDL_vulkan.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/SDL_vulkan.h @@ -150,7 +150,7 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void); * \note \c window should have been created with the \c SDL_WINDOW_VULKAN flag. * * \code - * unsigned count; + * unsigned int count; * // get count of required extensions * if(!SDL_Vulkan_GetInstanceExtensions(window, &count, NULL)) * handle_error(); @@ -188,7 +188,7 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void); */ extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions( SDL_Window *window, - unsigned *pCount, + unsigned int *pCount, const char **pNames); /** diff --git a/MacOSX/SDL2.framework/Versions/A/Headers/begin_code.h b/MacOSX/SDL2.framework/Versions/A/Headers/begin_code.h index 1e78a4df..5372d6f0 100644 --- a/MacOSX/SDL2.framework/Versions/A/Headers/begin_code.h +++ b/MacOSX/SDL2.framework/Versions/A/Headers/begin_code.h @@ -61,7 +61,7 @@ # else # define DECLSPEC __declspec(dllexport) # endif -# elif defined(__OS2__) && defined(__WATCOMC__) +# elif defined(__OS2__) # ifdef BUILD_SDL # define DECLSPEC __declspec(dllexport) # else diff --git a/MacOSX/SDL2.framework/Versions/A/SDL2 b/MacOSX/SDL2.framework/Versions/A/SDL2 index cec67886..f3422cf8 100755 Binary files a/MacOSX/SDL2.framework/Versions/A/SDL2 and b/MacOSX/SDL2.framework/Versions/A/SDL2 differ diff --git a/Windows/SDL2/WhatsNew.txt b/Windows/SDL2/WhatsNew.txt index f8cba4e3..06d590b5 100644 --- a/Windows/SDL2/WhatsNew.txt +++ b/Windows/SDL2/WhatsNew.txt @@ -1,6 +1,63 @@ This is a list of major changes in SDL's version history. +--------------------------------------------------------------------------- +2.0.6: +--------------------------------------------------------------------------- + +General: +* Added cross-platform Vulkan graphics support in SDL_vulkan.h + SDL_Vulkan_LoadLibrary() + SDL_Vulkan_GetVkGetInstanceProcAddr() + SDL_Vulkan_GetInstanceExtensions() + SDL_Vulkan_CreateSurface() + SDL_Vulkan_GetDrawableSize() + SDL_Vulkan_UnloadLibrary() + This is all the platform-specific code you need to bring up Vulkan on all SDL platforms. You can look at an example in test/testvulkan.c +* Added SDL_ComposeCustomBlendMode() to create custom blend modes for 2D rendering +* Added SDL_HasNEON() which returns whether the CPU has NEON instruction support +* Added support for many game controllers, including the Nintendo Switch Pro Controller +* Added support for inverted axes and separate axis directions in game controller mappings +* Added functions to return information about a joystick before it's opened: + SDL_JoystickGetDeviceVendor() + SDL_JoystickGetDeviceProduct() + SDL_JoystickGetDeviceProductVersion() + SDL_JoystickGetDeviceType() + SDL_JoystickGetDeviceInstanceID() +* Added functions to return information about an open joystick: + SDL_JoystickGetVendor() + SDL_JoystickGetProduct() + SDL_JoystickGetProductVersion() + SDL_JoystickGetType() + SDL_JoystickGetAxisInitialState() +* Added functions to return information about an open game controller: + SDL_GameControllerGetVendor() + SDL_GameControllerGetProduct() + SDL_GameControllerGetProductVersion() +* Added SDL_GameControllerNumMappings() and SDL_GameControllerMappingForIndex() to be able to enumerate the built-in game controller mappings +* Added SDL_LoadFile() and SDL_LoadFile_RW() to load a file into memory +* Added SDL_DuplicateSurface() to make a copy of a surface +* Added an experimental JACK audio driver +* Implemented non-power-of-two audio resampling, optionally using libsamplerate to perform the resampling +* Added the hint SDL_HINT_AUDIO_RESAMPLING_MODE to control the quality of resampling +* Added the hint SDL_HINT_RENDER_LOGICAL_SIZE_MODE to control the scaling policy for SDL_RenderSetLogicalSize(): + "0" or "letterbox" - Uses letterbox/sidebars to fit the entire rendering on screen (the default) + "1" or "overscan" - Will zoom the rendering so it fills the entire screen, allowing edges to be drawn offscreen +* Added the hints SDL_HINT_MOUSE_NORMAL_SPEED_SCALE and SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE to scale the mouse speed when being read from raw mouse input +* Added the hint SDL_HINT_TOUCH_MOUSE_EVENTS to control whether SDL will synthesize mouse events from touch events + +Windows: +* The new default audio driver on Windows is WASAPI and supports hot-plugging devices and changing the default audio device +* The old XAudio2 audio driver is deprecated and will be removed in the next release +* Added hints SDL_HINT_WINDOWS_INTRESOURCE_ICON and SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL to specify a custom icon resource ID for SDL windows +* The hint SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING is now on by default for compatibility with .NET languages and various Windows debuggers +* Updated the GUID format for game controller mappings, older mappings will be automatically converted on load +* Implemented the SDL_WINDOW_ALWAYS_ON_TOP flag on Windows + +Linux: +* Added an experimental KMS/DRM video driver for embedded development + + --------------------------------------------------------------------------- 2.0.5: --------------------------------------------------------------------------- diff --git a/Windows/SDL2/include/SDL_config_android.h b/Windows/SDL2/include/SDL_config_android.h index 361bad8b..c3169e55 100644 --- a/Windows/SDL2/include/SDL_config_android.h +++ b/Windows/SDL2/include/SDL_config_android.h @@ -35,16 +35,17 @@ #define HAVE_GCC_ATOMICS 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/Windows/SDL2/include/SDL_config_iphoneos.h b/Windows/SDL2/include/SDL_config_iphoneos.h index deea0304..a27260e2 100644 --- a/Windows/SDL2/include/SDL_config_iphoneos.h +++ b/Windows/SDL2/include/SDL_config_iphoneos.h @@ -33,16 +33,17 @@ #define HAVE_GCC_ATOMICS 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/Windows/SDL2/include/SDL_config_macosx.h b/Windows/SDL2/include/SDL_config_macosx.h index 9b098995..67f879a4 100644 --- a/Windows/SDL2/include/SDL_config_macosx.h +++ b/Windows/SDL2/include/SDL_config_macosx.h @@ -37,16 +37,18 @@ #endif /* Useful headers */ -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/Windows/SDL2/include/SDL_config_os2.h b/Windows/SDL2/include/SDL_config_os2.h index dee94e7e..c37c077a 100644 --- a/Windows/SDL2/include/SDL_config_os2.h +++ b/Windows/SDL2/include/SDL_config_os2.h @@ -27,20 +27,6 @@ #define HAVE_STDARG_H 1 #define HAVE_STDDEF_H 1 -#if 0 /* have stdint.h instead */ -/* Here are some reasonable defaults */ -typedef unsigned int size_t; -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; -typedef unsigned long uintptr_t; -#endif - #define SDL_AUDIO_DRIVER_DUMMY 1 #define SDL_AUDIO_DRIVER_DISK 1 /* Enable the OS/2 audio driver (src/audio/os2/\*.c) */ @@ -88,14 +74,13 @@ typedef unsigned long uintptr_t; #define HAVE_MATH_H 1 #define HAVE_FLOAT_H 1 #define HAVE_SIGNAL_H 1 -/* #undef HAVE_LIBSAMPLERATE_H */ /* C library functions */ #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 #define HAVE_FREE 1 -#ifdef __WATCOMC__ +#if defined(__WATCOMC__) #define HAVE__FSEEKI64 1 #define HAVE__FTELLI64 1 #endif @@ -103,7 +88,6 @@ typedef unsigned long uintptr_t; #define HAVE_GETENV 1 #define HAVE_SETENV 1 #define HAVE_PUTENV 1 -/*#undef HAVE_UNSETENV */ #define HAVE_QSORT 1 #define HAVE_ABS 1 #define HAVE_BCOPY 1 @@ -158,13 +142,15 @@ typedef unsigned long uintptr_t; #define HAVE_FABS 1 #define HAVE_FLOOR 1 #define HAVE_POW 1 -/*#define HAVE_SCALBN 1*/ +/* #undef HAVE_SCALBN */ #define HAVE_SIN 1 #define HAVE_SQRT 1 #define HAVE_TAN 1 #define HAVE_LOG 1 -/* #undef HAVE_ICONV */ -#define HAVE_ICONV_H 1 -/* #undef HAVE_POLL */ + +/* #undef HAVE_LIBSAMPLERATE_H */ + +/* Enable assembly routines */ +#define SDL_ASSEMBLY_ROUTINES 1 #endif /* SDL_config_os2_h_ */ diff --git a/Windows/SDL2/include/SDL_config_pandora.h b/Windows/SDL2/include/SDL_config_pandora.h index ea62fe59..f6f52fc1 100644 --- a/Windows/SDL2/include/SDL_config_pandora.h +++ b/Windows/SDL2/include/SDL_config_pandora.h @@ -36,22 +36,24 @@ #define SDL_BYTEORDER 1234 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STDARG_H 1 -#define HAVE_MALLOC_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 #define HAVE_ICONV_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MATH_H 1 +#define HAVE_MEMORY_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 + #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 diff --git a/Windows/SDL2/include/SDL_config_psp.h b/Windows/SDL2/include/SDL_config_psp.h index 28efb4c5..0e619790 100644 --- a/Windows/SDL2/include/SDL_config_psp.h +++ b/Windows/SDL2/include/SDL_config_psp.h @@ -33,16 +33,17 @@ #define HAVE_GCC_ATOMICS 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/Windows/SDL2/include/SDL_config_windows.h b/Windows/SDL2/include/SDL_config_windows.h index 0575eebf..a05772b0 100644 --- a/Windows/SDL2/include/SDL_config_windows.h +++ b/Windows/SDL2/include/SDL_config_windows.h @@ -86,12 +86,14 @@ typedef unsigned int uintptr_t; /* This is disabled by default to avoid C runtime dependencies and manifest requirements */ #ifdef HAVE_LIBC /* Useful headers */ -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 /* C library functions */ #define HAVE_MALLOC 1 @@ -140,12 +142,19 @@ typedef unsigned int uintptr_t; #define HAVE_SQRTF 1 #define HAVE_TAN 1 #define HAVE_TANF 1 +#define HAVE__COPYSIGN 1 +#if defined(_MSC_VER) +/* These functions were added with the VC++ 2013 C runtime library */ #if _MSC_VER >= 1800 #define HAVE_STRTOLL 1 #define HAVE_VSSCANF 1 -#define HAVE_COPYSIGN 1 #define HAVE_SCALBN 1 #endif +/* This function is available with at least the VC++ 2008 C runtime library */ +#if _MSC_VER >= 1400 +#define HAVE__FSEEKI64 1 +#endif +#endif #if !defined(_MSC_VER) || defined(_USE_MATH_DEFINES) #define HAVE_M_PI 1 #endif @@ -155,7 +164,7 @@ typedef unsigned int uintptr_t; #endif /* Enable various audio drivers */ -/*#define SDL_AUDIO_DRIVER_WASAPI 1*/ +/* #undef SDL_AUDIO_DRIVER_WASAPI */ #define SDL_AUDIO_DRIVER_DSOUND 1 #define SDL_AUDIO_DRIVER_XAUDIO2 0 #define SDL_AUDIO_DRIVER_WINMM 1 diff --git a/Windows/SDL2/include/SDL_config_winrt.h b/Windows/SDL2/include/SDL_config_winrt.h index 24f9e17f..93d7ae1b 100644 --- a/Windows/SDL2/include/SDL_config_winrt.h +++ b/Windows/SDL2/include/SDL_config_winrt.h @@ -98,13 +98,14 @@ typedef unsigned int uintptr_t; #define HAVE_XINPUT_H 1 #endif #define HAVE_LIBC 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 #define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 #define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 /* C library functions */ #define HAVE_MALLOC 1 diff --git a/Windows/SDL2/include/SDL_config_wiz.h b/Windows/SDL2/include/SDL_config_wiz.h index 5bb845a0..3afd8d8a 100644 --- a/Windows/SDL2/include/SDL_config_wiz.h +++ b/Windows/SDL2/include/SDL_config_wiz.h @@ -30,22 +30,24 @@ #define SDL_BYTEORDER 1234 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STDARG_H 1 -#define HAVE_MALLOC_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 #define HAVE_ICONV_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MATH_H 1 +#define HAVE_MEMORY_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 + #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 diff --git a/Windows/SDL2/include/SDL_platform.h b/Windows/SDL2/include/SDL_platform.h index 75224a0d..9dde385f 100644 --- a/Windows/SDL2/include/SDL_platform.h +++ b/Windows/SDL2/include/SDL_platform.h @@ -120,7 +120,7 @@ #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) /* Try to find out if we're compiling for WinRT or non-WinRT */ -#if defined(_MSC_VER) && _MSC_VER >= 1910 /* _MSC_VER == 1910 for Visual Studio 2017 */ +#if defined(_MSC_VER) && defined(__has_include) #define HAVE_WINAPIFAMILY_H __has_include() /* If _USING_V110_SDK71_ is defined it means we are using the Windows XP toolset. */ #elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_) /* _MSC_VER == 1700 for Visual Studio 2012 */ diff --git a/Windows/SDL2/include/SDL_revision.h b/Windows/SDL2/include/SDL_revision.h index c7ec6a2a..5242291f 100644 --- a/Windows/SDL2/include/SDL_revision.h +++ b/Windows/SDL2/include/SDL_revision.h @@ -1,2 +1,2 @@ -#define SDL_REVISION "hg-11445:8d0fb04ecb13" -#define SDL_REVISION_NUMBER 11445 +#define SDL_REVISION "hg-11493:93013728e8a3" +#define SDL_REVISION_NUMBER 11493 diff --git a/Windows/SDL2/include/SDL_stdinc.h b/Windows/SDL2/include/SDL_stdinc.h index 38c8876f..546544f1 100644 --- a/Windows/SDL2/include/SDL_stdinc.h +++ b/Windows/SDL2/include/SDL_stdinc.h @@ -389,10 +389,10 @@ SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords) return; switch (dwords % 4) { - case 0: do { *_p++ = _val; - case 3: *_p++ = _val; - case 2: *_p++ = _val; - case 1: *_p++ = _val; + case 0: do { *_p++ = _val; /* fallthrough */ + case 3: *_p++ = _val; /* fallthrough */ + case 2: *_p++ = _val; /* fallthrough */ + case 1: *_p++ = _val; /* fallthrough */ } while ( --_n ); } #endif diff --git a/Windows/SDL2/include/SDL_syswm.h b/Windows/SDL2/include/SDL_syswm.h index ac437c2a..2d18afb6 100644 --- a/Windows/SDL2/include/SDL_syswm.h +++ b/Windows/SDL2/include/SDL_syswm.h @@ -110,11 +110,6 @@ typedef void *EGLSurface; #include "SDL_egl.h" #endif -#if defined(SDL_VIDEO_DRIVER_OS2) -#define INCL_WIN -#include -#endif - /** * These are the various supported windowing subsystems */ @@ -184,16 +179,6 @@ struct SDL_SysWMmsg int dummy; /* No Vivante window events yet */ } vivante; -#endif -#if defined(SDL_VIDEO_DRIVER_OS2) - struct - { - BOOL fFrame; /**< TRUE if hwnd is a frame window */ - HWND hwnd; /**< The window receiving the message */ - ULONG msg; /**< The message identifier */ - MPARAM mp1; /**< The first first message parameter */ - MPARAM mp2; /**< The second first message parameter */ - } os2; #endif /* Can't have an empty union */ int dummy; @@ -288,14 +273,6 @@ struct SDL_SysWMinfo } android; #endif -#if defined(SDL_VIDEO_DRIVER_OS2) - struct - { - HWND hwnd; /**< The window handle */ - HWND hwndFrame; /**< The frame window handle */ - } os2; -#endif - #if defined(SDL_VIDEO_DRIVER_VIVANTE) struct { diff --git a/Windows/SDL2/include/SDL_video.h b/Windows/SDL2/include/SDL_video.h index 52d6ead1..6f6cda8b 100644 --- a/Windows/SDL2/include/SDL_video.h +++ b/Windows/SDL2/include/SDL_video.h @@ -604,8 +604,8 @@ extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window, * \param w The width of the window, in screen coordinates. Must be >0. * \param h The height of the window, in screen coordinates. Must be >0. * - * \note You can't change the size of a fullscreen window, it automatically - * matches the size of the display mode. + * \note Fullscreen windows automatically match the size of the display mode, + * and you should use SDL_SetWindowDisplayMode() to change their size. * * The window size in screen coordinates may differ from the size in pixels, if * the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with @@ -613,6 +613,7 @@ extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window, * SDL_GetRendererOutputSize() to get the real client area size in pixels. * * \sa SDL_GetWindowSize() + * \sa SDL_SetWindowDisplayMode() */ extern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_Window * window, int w, int h); diff --git a/Windows/SDL2/include/SDL_vulkan.h b/Windows/SDL2/include/SDL_vulkan.h index 6c7d305f..803b5fee 100644 --- a/Windows/SDL2/include/SDL_vulkan.h +++ b/Windows/SDL2/include/SDL_vulkan.h @@ -150,7 +150,7 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void); * \note \c window should have been created with the \c SDL_WINDOW_VULKAN flag. * * \code - * unsigned count; + * unsigned int count; * // get count of required extensions * if(!SDL_Vulkan_GetInstanceExtensions(window, &count, NULL)) * handle_error(); @@ -188,7 +188,7 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void); */ extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions( SDL_Window *window, - unsigned *pCount, + unsigned int *pCount, const char **pNames); /** diff --git a/Windows/SDL2/include/begin_code.h b/Windows/SDL2/include/begin_code.h index 1e78a4df..5372d6f0 100644 --- a/Windows/SDL2/include/begin_code.h +++ b/Windows/SDL2/include/begin_code.h @@ -61,7 +61,7 @@ # else # define DECLSPEC __declspec(dllexport) # endif -# elif defined(__OS2__) && defined(__WATCOMC__) +# elif defined(__OS2__) # ifdef BUILD_SDL # define DECLSPEC __declspec(dllexport) # else diff --git a/Windows/SDL2/lib/SDL2.dll b/Windows/SDL2/lib/SDL2.dll index 4f80ddea..fcfe45b4 100644 Binary files a/Windows/SDL2/lib/SDL2.dll and b/Windows/SDL2/lib/SDL2.dll differ diff --git a/Windows/SDL2/lib64/SDL2.dll b/Windows/SDL2/lib64/SDL2.dll index 0e414846..adf8db73 100644 Binary files a/Windows/SDL2/lib64/SDL2.dll and b/Windows/SDL2/lib64/SDL2.dll differ