diff --git a/Externals/SDL2-2.0.0/WhatsNew.txt b/Externals/SDL2-2.0.0/WhatsNew.txt deleted file mode 100644 index a54ab0abbb..0000000000 --- a/Externals/SDL2-2.0.0/WhatsNew.txt +++ /dev/null @@ -1,3 +0,0 @@ - -This is a list of API changes in SDL's version history. - diff --git a/Externals/SDL2-2.0.0/include/SDL_revision.h b/Externals/SDL2-2.0.0/include/SDL_revision.h deleted file mode 100644 index 2d57530ee6..0000000000 --- a/Externals/SDL2-2.0.0/include/SDL_revision.h +++ /dev/null @@ -1,2 +0,0 @@ -#define SDL_REVISION "hg-7633:d6a8fa507a45" -#define SDL_REVISION_NUMBER 7633 diff --git a/Externals/SDL2-2.0.0/lib/Win32/SDL2.lib b/Externals/SDL2-2.0.0/lib/Win32/SDL2.lib deleted file mode 100644 index 0a4ffb10f4..0000000000 Binary files a/Externals/SDL2-2.0.0/lib/Win32/SDL2.lib and /dev/null differ diff --git a/Externals/SDL2-2.0.0/lib/x64/SDL2.lib b/Externals/SDL2-2.0.0/lib/x64/SDL2.lib deleted file mode 100644 index 091b8112df..0000000000 Binary files a/Externals/SDL2-2.0.0/lib/x64/SDL2.lib and /dev/null differ diff --git a/Externals/SDL2-2.0.0/BUGS.txt b/Externals/SDL2-2.0.1/BUGS.txt similarity index 100% rename from Externals/SDL2-2.0.0/BUGS.txt rename to Externals/SDL2-2.0.1/BUGS.txt diff --git a/Externals/SDL2-2.0.0/COPYING.txt b/Externals/SDL2-2.0.1/COPYING.txt similarity index 100% rename from Externals/SDL2-2.0.0/COPYING.txt rename to Externals/SDL2-2.0.1/COPYING.txt diff --git a/Externals/SDL2-2.0.0/README-SDL.txt b/Externals/SDL2-2.0.1/README-SDL.txt similarity index 100% rename from Externals/SDL2-2.0.0/README-SDL.txt rename to Externals/SDL2-2.0.1/README-SDL.txt diff --git a/Externals/SDL2-2.0.0/README.txt b/Externals/SDL2-2.0.1/README.txt similarity index 100% rename from Externals/SDL2-2.0.0/README.txt rename to Externals/SDL2-2.0.1/README.txt diff --git a/Externals/SDL2-2.0.1/WhatsNew.txt b/Externals/SDL2-2.0.1/WhatsNew.txt new file mode 100644 index 0000000000..00836d8632 --- /dev/null +++ b/Externals/SDL2-2.0.1/WhatsNew.txt @@ -0,0 +1,57 @@ + +This is a list of major changes in SDL's version history. + +--------------------------------------------------------------------------- +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 diff --git a/Externals/SDL2-2.0.0/include/SDL.h b/Externals/SDL2-2.0.1/include/SDL.h similarity index 86% rename from Externals/SDL2-2.0.0/include/SDL.h rename to Externals/SDL2-2.0.1/include/SDL.h index f2d760c2ed..c0c067ca58 100644 --- a/Externals/SDL2-2.0.0/include/SDL.h +++ b/Externals/SDL2-2.0.1/include/SDL.h @@ -32,18 +32,20 @@ * * \section intro_sec Introduction * - * This is the Simple DirectMedia Layer, a general API that provides low - * level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, - * and 2D framebuffer across multiple platforms. + * Simple DirectMedia Layer is a cross-platform development library designed + * to provide low level access to audio, keyboard, mouse, joystick, and + * graphics hardware via OpenGL and Direct3D. It is used by video playback + * software, emulators, and popular games including Valve's award winning + * catalog and many Humble Bundle games. * - * SDL is written in C, but works with C++ natively, and has bindings to - * several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, - * Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, - * Pike, Pliant, Python, Ruby, and Smalltalk. + * SDL officially supports Windows, Mac OS X, Linux, iOS, and Android. + * Support for other platforms may be found in the source code. * - * This library is distributed under the zlib license, which can be - * found in the file "COPYING". This license allows you to use SDL - * freely for any purpose as long as you retain the copyright notice. + * SDL is written in C, works natively with C++, and there are bindings + * available for several other languages, including C# and Python. + * + * This library is distributed under the zlib license, which can be found + * in the file "COPYING.txt". * * The best way to learn how to use SDL is to check out the header files in * the "include" subdirectory and the programs in the "test" subdirectory. @@ -72,6 +74,7 @@ #include "SDL_endian.h" #include "SDL_error.h" #include "SDL_events.h" +#include "SDL_filesystem.h" #include "SDL_joystick.h" #include "SDL_gamecontroller.h" #include "SDL_haptic.h" @@ -103,7 +106,7 @@ extern "C" { * These are the flags which may be passed to SDL_Init(). You should * specify the subsystems which you will be using in your application. */ -/*@{*/ +/* @{ */ #define SDL_INIT_TIMER 0x00000001 #define SDL_INIT_AUDIO 0x00000010 #define SDL_INIT_VIDEO 0x00000020 /**< SDL_INIT_VIDEO implies SDL_INIT_EVENTS */ @@ -116,7 +119,7 @@ extern "C" { SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \ SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER \ ) -/*@}*/ +/* @} */ /** * This function initializes the subsystems specified by \c flags diff --git a/Externals/SDL2-2.0.0/include/SDL_assert.h b/Externals/SDL2-2.0.1/include/SDL_assert.h similarity index 95% rename from Externals/SDL2-2.0.0/include/SDL_assert.h rename to Externals/SDL2-2.0.1/include/SDL_assert.h index 5a6afc5e2b..4329434064 100644 --- a/Externals/SDL2-2.0.0/include/SDL_assert.h +++ b/Externals/SDL2-2.0.1/include/SDL_assert.h @@ -86,8 +86,14 @@ This also solves the problem of... disable assertions. */ +#ifdef _MSC_VER /* stupid /W4 warnings. */ +#define SDL_NULL_WHILE_LOOP_CONDITION (-1 == __LINE__) +#else +#define SDL_NULL_WHILE_LOOP_CONDITION (0) +#endif + #define SDL_disabled_assert(condition) \ - do { (void) sizeof ((condition)); } while (0) + do { (void) sizeof ((condition)); } while (SDL_NULL_WHILE_LOOP_CONDITION) typedef enum { @@ -140,7 +146,7 @@ extern DECLSPEC SDL_assert_state SDLCALL SDL_ReportAssertion(SDL_assert_data *, } \ break; /* not retrying. */ \ } \ - } while (0) + } while (SDL_NULL_WHILE_LOOP_CONDITION) #endif /* enabled assertions support code */ @@ -165,6 +171,9 @@ extern DECLSPEC SDL_assert_state SDLCALL SDL_ReportAssertion(SDL_assert_data *, # error Unknown assertion level. #endif +/* this assertion is never disabled at any level. */ +#define SDL_assert_always(condition) SDL_enabled_assert(condition) + typedef SDL_assert_state (SDLCALL *SDL_AssertionHandler)( const SDL_assert_data* data, void* userdata); diff --git a/Externals/SDL2-2.0.0/include/SDL_atomic.h b/Externals/SDL2-2.0.1/include/SDL_atomic.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_atomic.h rename to Externals/SDL2-2.0.1/include/SDL_atomic.h index 7bd669d1ac..48b0053a0f 100644 --- a/Externals/SDL2-2.0.0/include/SDL_atomic.h +++ b/Externals/SDL2-2.0.1/include/SDL_atomic.h @@ -91,7 +91,7 @@ extern "C" { * The spin lock functions and type are required and can not be * emulated because they are used in the atomic emulation code. */ -/*@{*/ +/* @{ */ typedef int SDL_SpinLock; @@ -118,7 +118,7 @@ extern DECLSPEC void SDLCALL SDL_AtomicLock(SDL_SpinLock *lock); */ extern DECLSPEC void SDLCALL SDL_AtomicUnlock(SDL_SpinLock *lock); -/*@}*//*SDL AtomicLock*/ +/* @} *//* SDL AtomicLock */ /** diff --git a/Externals/SDL2-2.0.0/include/SDL_audio.h b/Externals/SDL2-2.0.1/include/SDL_audio.h similarity index 98% rename from Externals/SDL2-2.0.0/include/SDL_audio.h rename to Externals/SDL2-2.0.1/include/SDL_audio.h index 0b6f28af6e..b9da236fc5 100644 --- a/Externals/SDL2-2.0.0/include/SDL_audio.h +++ b/Externals/SDL2-2.0.1/include/SDL_audio.h @@ -66,7 +66,7 @@ typedef Uint16 SDL_AudioFormat; /** * \name Audio flags */ -/*@{*/ +/* @{ */ #define SDL_AUDIO_MASK_BITSIZE (0xFF) #define SDL_AUDIO_MASK_DATATYPE (1<<8) @@ -85,7 +85,7 @@ typedef Uint16 SDL_AudioFormat; * * Defaults to LSB byte order. */ -/*@{*/ +/* @{ */ #define AUDIO_U8 0x0008 /**< Unsigned 8-bit samples */ #define AUDIO_S8 0x8008 /**< Signed 8-bit samples */ #define AUDIO_U16LSB 0x0010 /**< Unsigned 16-bit samples */ @@ -94,30 +94,30 @@ typedef Uint16 SDL_AudioFormat; #define AUDIO_S16MSB 0x9010 /**< As above, but big-endian byte order */ #define AUDIO_U16 AUDIO_U16LSB #define AUDIO_S16 AUDIO_S16LSB -/*@}*/ +/* @} */ /** * \name int32 support */ -/*@{*/ +/* @{ */ #define AUDIO_S32LSB 0x8020 /**< 32-bit integer samples */ #define AUDIO_S32MSB 0x9020 /**< As above, but big-endian byte order */ #define AUDIO_S32 AUDIO_S32LSB -/*@}*/ +/* @} */ /** * \name float32 support */ -/*@{*/ +/* @{ */ #define AUDIO_F32LSB 0x8120 /**< 32-bit floating point samples */ #define AUDIO_F32MSB 0x9120 /**< As above, but big-endian byte order */ #define AUDIO_F32 AUDIO_F32LSB -/*@}*/ +/* @} */ /** * \name Native audio byte ordering */ -/*@{*/ +/* @{ */ #if SDL_BYTEORDER == SDL_LIL_ENDIAN #define AUDIO_U16SYS AUDIO_U16LSB #define AUDIO_S16SYS AUDIO_S16LSB @@ -129,21 +129,21 @@ typedef Uint16 SDL_AudioFormat; #define AUDIO_S32SYS AUDIO_S32MSB #define AUDIO_F32SYS AUDIO_F32MSB #endif -/*@}*/ +/* @} */ /** * \name Allow change flags * * Which audio format changes are allowed when opening a device. */ -/*@{*/ +/* @{ */ #define SDL_AUDIO_ALLOW_FREQUENCY_CHANGE 0x00000001 #define SDL_AUDIO_ALLOW_FORMAT_CHANGE 0x00000002 #define SDL_AUDIO_ALLOW_CHANNELS_CHANGE 0x00000004 #define SDL_AUDIO_ALLOW_ANY_CHANGE (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE|SDL_AUDIO_ALLOW_FORMAT_CHANGE|SDL_AUDIO_ALLOW_CHANNELS_CHANGE) -/*@}*/ +/* @} */ -/*@}*//*Audio flags*/ +/* @} *//* Audio flags */ /** * This function is called when the audio device needs more data. @@ -218,10 +218,10 @@ typedef struct SDL_AudioCVT * These functions return the list of built in audio drivers, in the * order that they are normally initialized by default. */ -/*@{*/ +/* @{ */ extern DECLSPEC int SDLCALL SDL_GetNumAudioDrivers(void); extern DECLSPEC const char *SDLCALL SDL_GetAudioDriver(int index); -/*@}*/ +/* @} */ /** * \name Initialization and cleanup @@ -230,10 +230,10 @@ extern DECLSPEC const char *SDLCALL SDL_GetAudioDriver(int index); * you have a specific need to specify the audio driver you want to * use. You should normally use SDL_Init() or SDL_InitSubSystem(). */ -/*@{*/ +/* @{ */ extern DECLSPEC int SDLCALL SDL_AudioInit(const char *driver_name); extern DECLSPEC void SDLCALL SDL_AudioQuit(void); -/*@}*/ +/* @} */ /** * This function returns the name of the current audio driver, or NULL @@ -359,7 +359,7 @@ extern DECLSPEC SDL_AudioDeviceID SDLCALL SDL_OpenAudioDevice(const char * * Get the current audio state. */ -/*@{*/ +/* @{ */ typedef enum { SDL_AUDIO_STOPPED = 0, @@ -370,7 +370,7 @@ extern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioStatus(void); extern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev); -/*@}*//*Audio State*/ +/* @} *//* Audio State */ /** * \name Pause audio functions @@ -381,11 +381,11 @@ SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev); * data for your callback function after opening the audio device. * Silence will be written to the audio device during the pause. */ -/*@{*/ +/* @{ */ extern DECLSPEC void SDLCALL SDL_PauseAudio(int pause_on); extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev, int pause_on); -/*@}*//*Pause audio functions*/ +/* @} *//* Pause audio functions */ /** * This function loads a WAVE from the data source, automatically freeing @@ -482,12 +482,12 @@ extern DECLSPEC void SDLCALL SDL_MixAudioFormat(Uint8 * dst, * the callback function is not running. Do not call these from the callback * function or you will cause deadlock. */ -/*@{*/ +/* @{ */ extern DECLSPEC void SDLCALL SDL_LockAudio(void); extern DECLSPEC void SDLCALL SDL_LockAudioDevice(SDL_AudioDeviceID dev); extern DECLSPEC void SDLCALL SDL_UnlockAudio(void); extern DECLSPEC void SDLCALL SDL_UnlockAudioDevice(SDL_AudioDeviceID dev); -/*@}*//*Audio lock functions*/ +/* @} *//* Audio lock functions */ /** * This function shuts down audio processing and closes the audio device. diff --git a/Externals/SDL2-2.0.0/include/SDL_bits.h b/Externals/SDL2-2.0.1/include/SDL_bits.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_bits.h rename to Externals/SDL2-2.0.1/include/SDL_bits.h diff --git a/Externals/SDL2-2.0.0/include/SDL_blendmode.h b/Externals/SDL2-2.0.1/include/SDL_blendmode.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_blendmode.h rename to Externals/SDL2-2.0.1/include/SDL_blendmode.h diff --git a/Externals/SDL2-2.0.0/include/SDL_clipboard.h b/Externals/SDL2-2.0.1/include/SDL_clipboard.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_clipboard.h rename to Externals/SDL2-2.0.1/include/SDL_clipboard.h diff --git a/Externals/SDL2-2.0.0/include/SDL_config.h b/Externals/SDL2-2.0.1/include/SDL_config.h similarity index 96% rename from Externals/SDL2-2.0.0/include/SDL_config.h rename to Externals/SDL2-2.0.1/include/SDL_config.h index 0b7621564d..4d5c7c293f 100644 --- a/Externals/SDL2-2.0.0/include/SDL_config.h +++ b/Externals/SDL2-2.0.1/include/SDL_config.h @@ -105,12 +105,10 @@ typedef unsigned int uintptr_t; #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #define HAVE_STRSTR 1 -#define HAVE_ITOA 1 #define HAVE__LTOA 1 #define HAVE__ULTOA 1 #define HAVE_STRTOL 1 #define HAVE_STRTOUL 1 -#define HAVE_STRTOLL 1 #define HAVE_STRTOD 1 #define HAVE_ATOI 1 #define HAVE_ATOF 1 @@ -118,22 +116,27 @@ typedef unsigned int uintptr_t; #define HAVE_STRNCMP 1 #define HAVE__STRICMP 1 #define HAVE__STRNICMP 1 -#define HAVE_SSCANF 1 -#define HAVE_M_PI 1 #define HAVE_ATAN 1 #define HAVE_ATAN2 1 #define HAVE_CEIL 1 -#define HAVE_COPYSIGN 1 #define HAVE_COS 1 #define HAVE_COSF 1 #define HAVE_FABS 1 #define HAVE_FLOOR 1 #define HAVE_LOG 1 #define HAVE_POW 1 -#define HAVE_SCALBN 1 #define HAVE_SIN 1 #define HAVE_SINF 1 #define HAVE_SQRT 1 +#if _MSC_VER >= 1800 +#define HAVE_STRTOLL 1 +#define HAVE_SSCANF 1 +#define HAVE_COPYSIGN 1 +#define HAVE_SCALBN 1 +#endif +#if !defined(_MSC_VER) || defined(_USE_MATH_DEFINES) +#define HAVE_M_PI 1 +#endif #else #define HAVE_STDARG_H 1 #define HAVE_STDDEF_H 1 @@ -181,6 +184,9 @@ typedef unsigned int uintptr_t; /* Enable system power support */ #define SDL_POWER_WINDOWS 1 +/* Enable filesystem support */ +#define SDL_FILESYSTEM_WINDOWS 1 + /* Enable assembly routines (Win64 doesn't have inline asm) */ #ifndef _WIN64 #define SDL_ASSEMBLY_ROUTINES 1 diff --git a/Externals/SDL2-2.0.0/include/SDL_cpuinfo.h b/Externals/SDL2-2.0.1/include/SDL_cpuinfo.h similarity index 96% rename from Externals/SDL2-2.0.0/include/SDL_cpuinfo.h rename to Externals/SDL2-2.0.1/include/SDL_cpuinfo.h index dde3074f03..6d72bbb81c 100644 --- a/Externals/SDL2-2.0.0/include/SDL_cpuinfo.h +++ b/Externals/SDL2-2.0.1/include/SDL_cpuinfo.h @@ -134,6 +134,11 @@ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE41(void); */ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE42(void); +/** + * This function returns the amount of RAM configured in the system, in MB. + */ +extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void); + /* Ends C function definitions when using C++ */ #ifdef __cplusplus diff --git a/Externals/SDL2-2.0.0/include/SDL_endian.h b/Externals/SDL2-2.0.1/include/SDL_endian.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_endian.h rename to Externals/SDL2-2.0.1/include/SDL_endian.h index c58edcca02..3450316c0a 100644 --- a/Externals/SDL2-2.0.0/include/SDL_endian.h +++ b/Externals/SDL2-2.0.1/include/SDL_endian.h @@ -33,10 +33,10 @@ /** * \name The two types of endianness */ -/*@{*/ +/* @{ */ #define SDL_LIL_ENDIAN 1234 #define SDL_BIG_ENDIAN 4321 -/*@}*/ +/* @} */ #ifndef SDL_BYTEORDER /* Not defined in SDL_config.h? */ #ifdef __linux__ @@ -206,7 +206,7 @@ SDL_SwapFloat(float x) * \name Swap to native * Byteswap item from the specified endianness to the native endianness. */ -/*@{*/ +/* @{ */ #if SDL_BYTEORDER == SDL_LIL_ENDIAN #define SDL_SwapLE16(X) (X) #define SDL_SwapLE32(X) (X) @@ -226,7 +226,7 @@ SDL_SwapFloat(float x) #define SDL_SwapBE64(X) (X) #define SDL_SwapFloatBE(X) (X) #endif -/*@}*//*Swap to native*/ +/* @} *//* Swap to native */ /* Ends C function definitions when using C++ */ #ifdef __cplusplus diff --git a/Externals/SDL2-2.0.0/include/SDL_error.h b/Externals/SDL2-2.0.1/include/SDL_error.h similarity index 97% rename from Externals/SDL2-2.0.0/include/SDL_error.h rename to Externals/SDL2-2.0.1/include/SDL_error.h index 229b268027..2b8bb4165f 100644 --- a/Externals/SDL2-2.0.0/include/SDL_error.h +++ b/Externals/SDL2-2.0.1/include/SDL_error.h @@ -48,7 +48,7 @@ extern DECLSPEC void SDLCALL SDL_ClearError(void); * \internal * Private error reporting function - used internally. */ -/*@{*/ +/* @{ */ #define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) #define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param)) @@ -63,7 +63,7 @@ typedef enum } SDL_errorcode; /* SDL_Error() unconditionally returns -1. */ extern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code); -/*@}*//*Internal error functions*/ +/* @} *//* Internal error functions */ /* Ends C function definitions when using C++ */ #ifdef __cplusplus diff --git a/Externals/SDL2-2.0.0/include/SDL_events.h b/Externals/SDL2-2.0.1/include/SDL_events.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_events.h rename to Externals/SDL2-2.0.1/include/SDL_events.h index b997b5ec8b..c08903073a 100644 --- a/Externals/SDL2-2.0.0/include/SDL_events.h +++ b/Externals/SDL2-2.0.1/include/SDL_events.h @@ -541,7 +541,7 @@ typedef union SDL_Event */ extern DECLSPEC void SDLCALL SDL_PumpEvents(void); -/*@{*/ +/* @{ */ typedef enum { SDL_ADDEVENT, @@ -570,7 +570,7 @@ typedef enum extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event * events, int numevents, SDL_eventaction action, Uint32 minType, Uint32 maxType); -/*@}*/ +/* @} */ /** * Checks to see if certain event types are in the event queue. @@ -681,7 +681,7 @@ extern DECLSPEC void SDLCALL SDL_DelEventWatch(SDL_EventFilter filter, extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter, void *userdata); -/*@{*/ +/* @{ */ #define SDL_QUERY -1 #define SDL_IGNORE 0 #define SDL_DISABLE 0 @@ -697,7 +697,7 @@ extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter, * current processing state of the specified event. */ extern DECLSPEC Uint8 SDLCALL SDL_EventState(Uint32 type, int state); -/*@}*/ +/* @} */ #define SDL_GetEventState(type) SDL_EventState(type, SDL_QUERY) /** diff --git a/Externals/SDL2-2.0.1/include/SDL_filesystem.h b/Externals/SDL2-2.0.1/include/SDL_filesystem.h new file mode 100644 index 0000000000..ea8a1b56f9 --- /dev/null +++ b/Externals/SDL2-2.0.1/include/SDL_filesystem.h @@ -0,0 +1,136 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2013 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +/** + * \file SDL_filesystem.h + * + * \brief Include file for filesystem SDL API functions + */ + +#ifndef _SDL_filesystem_h +#define _SDL_filesystem_h + +#include "SDL_stdinc.h" + +#include "begin_code.h" + +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Get the path where the application resides. + * + * Get the "base path". This is the directory where the application was run + * from, which is probably the installation directory, and may or may not + * be the process's current working directory. + * + * This returns an absolute path in UTF-8 encoding, and is guaranteed to + * end with a path separator ('\\' on Windows, '/' most other places). + * + * The pointer returned by this function is owned by you. Please call + * SDL_free() on the pointer when you are done with it, or it will be a + * memory leak. This is not necessarily a fast call, though, so you should + * call this once near startup and save the string if you need it. + * + * Some platforms can't determine the application's path, and on other + * platforms, this might be meaningless. In such cases, this function will + * return NULL. + * + * \return String of base dir in UTF-8 encoding, or NULL on error. + * + * \sa SDL_GetPrefPath + */ +extern DECLSPEC char *SDLCALL SDL_GetBasePath(void); + +/** + * \brief Get the user-and-app-specific path where files can be written. + * + * Get the "pref dir". This is meant to be where users can write personal + * files (preferences and save games, etc) that are specific to your + * application. This directory is unique per user, per application. + * + * This function will decide the appropriate location in the native filesystem, + * create the directory if necessary, and return a string of the absolute + * path to the directory in UTF-8 encoding. + * + * On Windows, the string might look like: + * "C:\\Users\\bob\\AppData\\Roaming\\My Company\\My Program Name\\" + * + * On Linux, the string might look like: + * "/home/bob/.local/share/My Program Name/" + * + * On Mac OS X, the string might look like: + * "/Users/bob/Library/Application Support/My Program Name/" + * + * (etc.) + * + * You specify the name of your organization (if it's not a real organization, + * your name or an Internet domain you own might do) and the name of your + * application. These should be untranslated proper names. + * + * Both the org and app strings may become part of a directory name, so + * please follow these rules: + * + * - Try to use the same org string (including case-sensitivity) for + * all your applications that use this function. + * - Always use a unique app string for each one, and make sure it never + * changes for an app once you've decided on it. + * - Unicode characters are legal, as long as it's UTF-8 encoded, but... + * - ...only use letters, numbers, and spaces. Avoid punctuation like + * "Game Name 2: Bad Guy's Revenge!" ... "Game Name 2" is sufficient. + * + * This returns an absolute path in UTF-8 encoding, and is guaranteed to + * end with a path separator ('\\' on Windows, '/' most other places). + * + * The pointer returned by this function is owned by you. Please call + * SDL_free() on the pointer when you are done with it, or it will be a + * memory leak. This is not necessarily a fast call, though, so you should + * call this once near startup and save the string if you need it. + * + * You should assume the path returned by this function is the only safe + * place to write files (and that SDL_GetBasePath(), while it might be + * writable, or even the parent of the returned path, aren't where you + * should be writing things). + * + * Some platforms can't determine the pref path, and on other + * platforms, this might be meaningless. In such cases, this function will + * return NULL. + * + * \param org The name of your organization. + * \param app The name of your application. + * \return UTF-8 string of user dir in platform-dependent notation. NULL + * if there's a problem (creating directory failed, etc). + * + * \sa SDL_GetBasePath + */ +extern DECLSPEC char *SDLCALL SDL_GetPrefPath(const char *org, const char *app); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +} +#endif +#include "close_code.h" + +#endif /* _SDL_system_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/Externals/SDL2-2.0.0/include/SDL_gamecontroller.h b/Externals/SDL2-2.0.1/include/SDL_gamecontroller.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_gamecontroller.h rename to Externals/SDL2-2.0.1/include/SDL_gamecontroller.h diff --git a/Externals/SDL2-2.0.0/include/SDL_gesture.h b/Externals/SDL2-2.0.1/include/SDL_gesture.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_gesture.h rename to Externals/SDL2-2.0.1/include/SDL_gesture.h diff --git a/Externals/SDL2-2.0.0/include/SDL_haptic.h b/Externals/SDL2-2.0.1/include/SDL_haptic.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_haptic.h rename to Externals/SDL2-2.0.1/include/SDL_haptic.h index da555c9c3c..a029eb9969 100644 --- a/Externals/SDL2-2.0.0/include/SDL_haptic.h +++ b/Externals/SDL2-2.0.1/include/SDL_haptic.h @@ -140,12 +140,12 @@ typedef struct _SDL_Haptic SDL_Haptic; * * Different haptic features a device can have. */ -/*@{*/ +/* @{ */ /** * \name Haptic effects */ -/*@{*/ +/* @{ */ /** * \brief Constant effect supported. @@ -177,7 +177,7 @@ typedef struct _SDL_Haptic SDL_Haptic; #define SDL_HAPTIC_LEFTRIGHT (1<<2) /* !!! FIXME: put this back when we have more bits in 2.1 */ -/*#define SDL_HAPTIC_SQUARE (1<<2)*/ +/* #define SDL_HAPTIC_SQUARE (1<<2) */ /** * \brief Triangle wave effect supported. @@ -262,7 +262,7 @@ typedef struct _SDL_Haptic SDL_Haptic; */ #define SDL_HAPTIC_CUSTOM (1<<11) -/*@}*//*Haptic effects*/ +/* @} *//* Haptic effects */ /* These last few are features the device has, not effects */ @@ -305,7 +305,7 @@ typedef struct _SDL_Haptic SDL_Haptic; /** * \name Direction encodings */ -/*@{*/ +/* @{ */ /** * \brief Uses polar coordinates for the direction. @@ -328,9 +328,9 @@ typedef struct _SDL_Haptic SDL_Haptic; */ #define SDL_HAPTIC_SPHERICAL 2 -/*@}*//*Direction encodings*/ +/* @} *//* Direction encodings */ -/*@}*//*Haptic features*/ +/* @} *//* Haptic features */ /* * Misc defines. diff --git a/Externals/SDL2-2.0.0/include/SDL_hints.h b/Externals/SDL2-2.0.1/include/SDL_hints.h similarity index 95% rename from Externals/SDL2-2.0.0/include/SDL_hints.h rename to Externals/SDL2-2.0.1/include/SDL_hints.h index 74b63ee099..dac928e075 100644 --- a/Externals/SDL2-2.0.0/include/SDL_hints.h +++ b/Externals/SDL2-2.0.1/include/SDL_hints.h @@ -94,6 +94,17 @@ extern "C" { */ #define SDL_HINT_RENDER_OPENGL_SHADERS "SDL_RENDER_OPENGL_SHADERS" +/** + * \brief A variable controlling whether the Direct3D device is initialized for thread-safe operations. + * + * This variable can be set to the following values: + * "0" - Thread-safety is not enabled (faster) + * "1" - Thread-safety is enabled + * + * By default the Direct3D device is created with thread-safety disabled. + */ +#define SDL_HINT_RENDER_DIRECT3D_THREADSAFE "SDL_RENDER_DIRECT3D_THREADSAFE" + /** * \brief A variable controlling the scaling quality * @@ -257,6 +268,11 @@ extern "C" { #define SDL_HINT_TIMER_RESOLUTION "SDL_TIMER_RESOLUTION" +/** + * \brief If set to 1, then do not allow high-DPI windows. ("Retina" on Mac) + */ +#define SDL_HINT_VIDEO_HIGHDPI_DISABLED "SDL_VIDEO_HIGHDPI_DISABLED" + /** * \brief An enumeration of hint priorities diff --git a/Externals/SDL2-2.0.0/include/SDL_joystick.h b/Externals/SDL2-2.0.1/include/SDL_joystick.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_joystick.h rename to Externals/SDL2-2.0.1/include/SDL_joystick.h index 2667403483..b0e4b5dab8 100644 --- a/Externals/SDL2-2.0.0/include/SDL_joystick.h +++ b/Externals/SDL2-2.0.1/include/SDL_joystick.h @@ -187,7 +187,7 @@ extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick, /** * \name Hat positions */ -/*@{*/ +/* @{ */ #define SDL_HAT_CENTERED 0x00 #define SDL_HAT_UP 0x01 #define SDL_HAT_RIGHT 0x02 @@ -197,7 +197,7 @@ extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick, #define SDL_HAT_RIGHTDOWN (SDL_HAT_RIGHT|SDL_HAT_DOWN) #define SDL_HAT_LEFTUP (SDL_HAT_LEFT|SDL_HAT_UP) #define SDL_HAT_LEFTDOWN (SDL_HAT_LEFT|SDL_HAT_DOWN) -/*@}*/ +/* @} */ /** * Get the current state of a POV hat on a joystick. diff --git a/Externals/SDL2-2.0.0/include/SDL_keyboard.h b/Externals/SDL2-2.0.1/include/SDL_keyboard.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_keyboard.h rename to Externals/SDL2-2.0.1/include/SDL_keyboard.h diff --git a/Externals/SDL2-2.0.0/include/SDL_keycode.h b/Externals/SDL2-2.0.1/include/SDL_keycode.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_keycode.h rename to Externals/SDL2-2.0.1/include/SDL_keycode.h diff --git a/Externals/SDL2-2.0.0/include/SDL_loadso.h b/Externals/SDL2-2.0.1/include/SDL_loadso.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_loadso.h rename to Externals/SDL2-2.0.1/include/SDL_loadso.h diff --git a/Externals/SDL2-2.0.0/include/SDL_log.h b/Externals/SDL2-2.0.1/include/SDL_log.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_log.h rename to Externals/SDL2-2.0.1/include/SDL_log.h diff --git a/Externals/SDL2-2.0.0/include/SDL_main.h b/Externals/SDL2-2.0.1/include/SDL_main.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_main.h rename to Externals/SDL2-2.0.1/include/SDL_main.h index bbb7e859b3..b7e4a10e5e 100644 --- a/Externals/SDL2-2.0.0/include/SDL_main.h +++ b/Externals/SDL2-2.0.1/include/SDL_main.h @@ -94,7 +94,7 @@ extern C_LINKAGE int SDL_main(int argc, char *argv[]); extern "C" { #endif -/* +/** * This is called by the real SDL main function to let the rest of the * library know that initialization was done properly. * diff --git a/Externals/SDL2-2.0.0/include/SDL_messagebox.h b/Externals/SDL2-2.0.1/include/SDL_messagebox.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_messagebox.h rename to Externals/SDL2-2.0.1/include/SDL_messagebox.h diff --git a/Externals/SDL2-2.0.0/include/SDL_mouse.h b/Externals/SDL2-2.0.1/include/SDL_mouse.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_mouse.h rename to Externals/SDL2-2.0.1/include/SDL_mouse.h diff --git a/Externals/SDL2-2.0.0/include/SDL_mutex.h b/Externals/SDL2-2.0.1/include/SDL_mutex.h similarity index 95% rename from Externals/SDL2-2.0.0/include/SDL_mutex.h rename to Externals/SDL2-2.0.1/include/SDL_mutex.h index 3efc4a8901..2b5df0ec33 100644 --- a/Externals/SDL2-2.0.0/include/SDL_mutex.h +++ b/Externals/SDL2-2.0.1/include/SDL_mutex.h @@ -52,9 +52,9 @@ extern "C" { /** * \name Mutex functions */ -/*@{*/ +/* @{ */ -/* The SDL mutex structure, defined in SDL_mutex.c */ +/* The SDL mutex structure, defined in SDL_sysmutex.c */ struct SDL_mutex; typedef struct SDL_mutex SDL_mutex; @@ -94,15 +94,15 @@ extern DECLSPEC int SDLCALL SDL_UnlockMutex(SDL_mutex * mutex); */ extern DECLSPEC void SDLCALL SDL_DestroyMutex(SDL_mutex * mutex); -/*@}*//*Mutex functions*/ +/* @} *//* Mutex functions */ /** * \name Semaphore functions */ -/*@{*/ +/* @{ */ -/* The SDL semaphore structure, defined in SDL_sem.c */ +/* The SDL semaphore structure, defined in SDL_syssem.c */ struct SDL_semaphore; typedef struct SDL_semaphore SDL_sem; @@ -154,15 +154,15 @@ extern DECLSPEC int SDLCALL SDL_SemPost(SDL_sem * sem); */ extern DECLSPEC Uint32 SDLCALL SDL_SemValue(SDL_sem * sem); -/*@}*//*Semaphore functions*/ +/* @} *//* Semaphore functions */ /** * \name Condition variable functions */ -/*@{*/ +/* @{ */ -/* The SDL condition variable structure, defined in SDL_cond.c */ +/* The SDL condition variable structure, defined in SDL_syscond.c */ struct SDL_cond; typedef struct SDL_cond SDL_cond; @@ -237,7 +237,7 @@ extern DECLSPEC int SDLCALL SDL_CondWait(SDL_cond * cond, SDL_mutex * mutex); extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond * cond, SDL_mutex * mutex, Uint32 ms); -/*@}*//*Condition variable functions*/ +/* @} *//* Condition variable functions */ /* Ends C function definitions when using C++ */ diff --git a/Externals/SDL2-2.0.0/include/SDL_name.h b/Externals/SDL2-2.0.1/include/SDL_name.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_name.h rename to Externals/SDL2-2.0.1/include/SDL_name.h diff --git a/Externals/SDL2-2.0.0/include/SDL_opengl.h b/Externals/SDL2-2.0.1/include/SDL_opengl.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_opengl.h rename to Externals/SDL2-2.0.1/include/SDL_opengl.h diff --git a/Externals/SDL2-2.0.0/include/SDL_opengles.h b/Externals/SDL2-2.0.1/include/SDL_opengles.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_opengles.h rename to Externals/SDL2-2.0.1/include/SDL_opengles.h diff --git a/Externals/SDL2-2.0.0/include/SDL_opengles2.h b/Externals/SDL2-2.0.1/include/SDL_opengles2.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_opengles2.h rename to Externals/SDL2-2.0.1/include/SDL_opengles2.h diff --git a/Externals/SDL2-2.0.0/include/SDL_pixels.h b/Externals/SDL2-2.0.1/include/SDL_pixels.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_pixels.h rename to Externals/SDL2-2.0.1/include/SDL_pixels.h index 5e17cba53d..99fcd9aac1 100644 --- a/Externals/SDL2-2.0.0/include/SDL_pixels.h +++ b/Externals/SDL2-2.0.1/include/SDL_pixels.h @@ -39,10 +39,10 @@ extern "C" { * * These define alpha as the opacity of a surface. */ -/*@{*/ +/* @{ */ #define SDL_ALPHA_OPAQUE 255 #define SDL_ALPHA_TRANSPARENT 0 -/*@}*/ +/* @} */ /** Pixel type. */ enum diff --git a/Externals/SDL2-2.0.0/include/SDL_platform.h b/Externals/SDL2-2.0.1/include/SDL_platform.h similarity index 96% rename from Externals/SDL2-2.0.0/include/SDL_platform.h rename to Externals/SDL2-2.0.1/include/SDL_platform.h index 1e8e0d9f42..a40c41e265 100644 --- a/Externals/SDL2-2.0.0/include/SDL_platform.h +++ b/Externals/SDL2-2.0.1/include/SDL_platform.h @@ -66,7 +66,7 @@ #endif #if defined(ANDROID) #undef __ANDROID__ -#undef __LINUX__ /*do we need to do this?*/ +#undef __LINUX__ /* do we need to do this? */ #define __ANDROID__ 1 #endif @@ -121,8 +121,12 @@ #define __SOLARIS__ 1 #endif #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) +#undef __WINDOWS__ +#define __WINDOWS__ 1 +#endif +#if defined(__WINDOWS__) #undef __WIN32__ -#define __WIN32__ 1 +#define __WIN32__ 1 #endif #if defined(__PSP__) #undef __PSP__ diff --git a/Externals/SDL2-2.0.0/include/SDL_power.h b/Externals/SDL2-2.0.1/include/SDL_power.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_power.h rename to Externals/SDL2-2.0.1/include/SDL_power.h diff --git a/Externals/SDL2-2.0.0/include/SDL_quit.h b/Externals/SDL2-2.0.1/include/SDL_quit.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_quit.h rename to Externals/SDL2-2.0.1/include/SDL_quit.h diff --git a/Externals/SDL2-2.0.0/include/SDL_rect.h b/Externals/SDL2-2.0.1/include/SDL_rect.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_rect.h rename to Externals/SDL2-2.0.1/include/SDL_rect.h index c8af7c197a..7132e1b440 100644 --- a/Externals/SDL2-2.0.0/include/SDL_rect.h +++ b/Externals/SDL2-2.0.1/include/SDL_rect.h @@ -44,7 +44,7 @@ extern "C" { * * \sa SDL_EnclosePoints */ -typedef struct +typedef struct SDL_Point { int x; int y; diff --git a/Externals/SDL2-2.0.0/include/SDL_render.h b/Externals/SDL2-2.0.1/include/SDL_render.h similarity index 95% rename from Externals/SDL2-2.0.0/include/SDL_render.h rename to Externals/SDL2-2.0.1/include/SDL_render.h index 1e24619f01..a765dc79f0 100644 --- a/Externals/SDL2-2.0.0/include/SDL_render.h +++ b/Externals/SDL2-2.0.1/include/SDL_render.h @@ -381,6 +381,31 @@ extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_Texture * texture, const SDL_Rect * rect, const void *pixels, int pitch); +/** + * \brief Update a rectangle within a planar YV12 or IYUV texture with new pixel data. + * + * \param texture The texture to update + * \param rect A pointer to the rectangle of pixels to update, or NULL to + * update the entire texture. + * \param Yplane The raw pixel data for the Y plane. + * \param Ypitch The number of bytes between rows of pixel data for the Y plane. + * \param Uplane The raw pixel data for the U plane. + * \param Upitch The number of bytes between rows of pixel data for the U plane. + * \param Vplane The raw pixel data for the V plane. + * \param Vpitch The number of bytes between rows of pixel data for the V plane. + * + * \return 0 on success, or -1 if the texture is not valid. + * + * \note You can use SDL_UpdateTexture() as long as your pixel data is + * a contiguous block of Y and U/V planes in the proper order, but + * this function is available if your pixel data is not contiguous. + */ +extern DECLSPEC int SDLCALL SDL_UpdateYUVTexture(SDL_Texture * texture, + const SDL_Rect * rect, + const Uint8 *Yplane, int Ypitch, + const Uint8 *Uplane, int Upitch, + const Uint8 *Vplane, int Vpitch); + /** * \brief Lock a portion of the texture for write-only pixel access. * diff --git a/Externals/SDL2-2.0.1/include/SDL_revision.h b/Externals/SDL2-2.0.1/include/SDL_revision.h new file mode 100644 index 0000000000..fe3a9fc8c0 --- /dev/null +++ b/Externals/SDL2-2.0.1/include/SDL_revision.h @@ -0,0 +1,2 @@ +#define SDL_REVISION "hg-7890:c031abe0b287" +#define SDL_REVISION_NUMBER 7890 diff --git a/Externals/SDL2-2.0.0/include/SDL_rwops.h b/Externals/SDL2-2.0.1/include/SDL_rwops.h similarity index 97% rename from Externals/SDL2-2.0.0/include/SDL_rwops.h rename to Externals/SDL2-2.0.1/include/SDL_rwops.h index 0461ff7829..d257442382 100644 --- a/Externals/SDL2-2.0.0/include/SDL_rwops.h +++ b/Externals/SDL2-2.0.1/include/SDL_rwops.h @@ -148,7 +148,7 @@ typedef struct SDL_RWops * * Functions to create SDL_RWops structures from various data streams. */ -/*@{*/ +/* @{ */ extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFile(const char *file, const char *mode); @@ -165,7 +165,7 @@ extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromMem(void *mem, int size); extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromConstMem(const void *mem, int size); -/*@}*//*RWFrom functions*/ +/* @} *//* RWFrom functions */ extern DECLSPEC SDL_RWops *SDLCALL SDL_AllocRW(void); @@ -180,14 +180,14 @@ extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area); * * Macros to easily read and write from an SDL_RWops structure. */ -/*@{*/ +/* @{ */ #define SDL_RWsize(ctx) (ctx)->size(ctx) #define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence) #define SDL_RWtell(ctx) (ctx)->seek(ctx, 0, RW_SEEK_CUR) #define SDL_RWread(ctx, ptr, size, n) (ctx)->read(ctx, ptr, size, n) #define SDL_RWwrite(ctx, ptr, size, n) (ctx)->write(ctx, ptr, size, n) #define SDL_RWclose(ctx) (ctx)->close(ctx) -/*@}*//*Read/write macros*/ +/* @} *//* Read/write macros */ /** @@ -195,7 +195,7 @@ extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area); * * Read an item of the specified endianness and return in native format. */ -/*@{*/ +/* @{ */ extern DECLSPEC Uint8 SDLCALL SDL_ReadU8(SDL_RWops * src); extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops * src); extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops * src); @@ -203,14 +203,14 @@ extern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops * src); extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops * src); extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops * src); extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops * src); -/*@}*//*Read endian functions*/ +/* @} *//* Read endian functions */ /** * \name Write endian functions * * Write an item of native format to the specified endianness. */ -/*@{*/ +/* @{ */ extern DECLSPEC size_t SDLCALL SDL_WriteU8(SDL_RWops * dst, Uint8 value); extern DECLSPEC size_t SDLCALL SDL_WriteLE16(SDL_RWops * dst, Uint16 value); extern DECLSPEC size_t SDLCALL SDL_WriteBE16(SDL_RWops * dst, Uint16 value); @@ -218,7 +218,7 @@ extern DECLSPEC size_t SDLCALL SDL_WriteLE32(SDL_RWops * dst, Uint32 value); extern DECLSPEC size_t SDLCALL SDL_WriteBE32(SDL_RWops * dst, Uint32 value); extern DECLSPEC size_t SDLCALL SDL_WriteLE64(SDL_RWops * dst, Uint64 value); extern DECLSPEC size_t SDLCALL SDL_WriteBE64(SDL_RWops * dst, Uint64 value); -/*@}*//*Write endian functions*/ +/* @} *//* Write endian functions */ /* Ends C function definitions when using C++ */ diff --git a/Externals/SDL2-2.0.0/include/SDL_scancode.h b/Externals/SDL2-2.0.1/include/SDL_scancode.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_scancode.h rename to Externals/SDL2-2.0.1/include/SDL_scancode.h index d3f8748116..00b47a3b80 100644 --- a/Externals/SDL2-2.0.0/include/SDL_scancode.h +++ b/Externals/SDL2-2.0.1/include/SDL_scancode.h @@ -49,7 +49,7 @@ typedef enum * * These values are from usage page 0x07 (USB keyboard page). */ - /*@{*/ + /* @{ */ SDL_SCANCODE_A = 4, SDL_SCANCODE_B = 5, @@ -339,14 +339,14 @@ typedef enum * special KMOD_MODE for it I'm adding it here */ - /*@}*//*Usage page 0x07*/ + /* @} *//* Usage page 0x07 */ /** * \name Usage page 0x0C * * These values are mapped from usage page 0x0C (USB consumer page). */ - /*@{*/ + /* @{ */ SDL_SCANCODE_AUDIONEXT = 258, SDL_SCANCODE_AUDIOPREV = 259, @@ -366,14 +366,14 @@ typedef enum SDL_SCANCODE_AC_REFRESH = 273, SDL_SCANCODE_AC_BOOKMARKS = 274, - /*@}*//*Usage page 0x0C*/ + /* @} *//* Usage page 0x0C */ /** * \name Walther keys * * These are values that Christian Walther added (for mac keyboard?). */ - /*@{*/ + /* @{ */ SDL_SCANCODE_BRIGHTNESSDOWN = 275, SDL_SCANCODE_BRIGHTNESSUP = 276, @@ -388,7 +388,7 @@ typedef enum SDL_SCANCODE_APP1 = 283, SDL_SCANCODE_APP2 = 284, - /*@}*//*Walther keys*/ + /* @} *//* Walther keys */ /* Add any other keys here. */ diff --git a/Externals/SDL2-2.0.0/include/SDL_shape.h b/Externals/SDL2-2.0.1/include/SDL_shape.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_shape.h rename to Externals/SDL2-2.0.1/include/SDL_shape.h diff --git a/Externals/SDL2-2.0.0/include/SDL_stdinc.h b/Externals/SDL2-2.0.1/include/SDL_stdinc.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_stdinc.h rename to Externals/SDL2-2.0.1/include/SDL_stdinc.h index 7fa9c1049f..8f17d5519a 100644 --- a/Externals/SDL2-2.0.0/include/SDL_stdinc.h +++ b/Externals/SDL2-2.0.1/include/SDL_stdinc.h @@ -89,7 +89,7 @@ * Use proper C++ casts when compiled as C++ to be compatible with the option * -Wold-style-cast of GCC (and -Werror=old-style-cast in GCC 4.2 and above). */ -/*@{*/ +/* @{ */ #ifdef __cplusplus #define SDL_reinterpret_cast(type, expression) reinterpret_cast(expression) #define SDL_static_cast(type, expression) static_cast(expression) @@ -99,7 +99,7 @@ #define SDL_static_cast(type, expression) ((type)(expression)) #define SDL_const_cast(type, expression) ((type)(expression)) #endif -/*@}*//*Cast operators*/ +/* @} *//* Cast operators */ /* Define a four character code as a Uint32 */ #define SDL_FOURCC(A, B, C, D) \ @@ -111,7 +111,7 @@ /** * \name Basic data types */ -/*@{*/ +/* @{ */ typedef enum { @@ -153,7 +153,7 @@ typedef int64_t Sint64; */ typedef uint64_t Uint64; -/*@}*//*Basic data types*/ +/* @} *//* Basic data types */ #define SDL_COMPILE_TIME_ASSERT(name, x) \ diff --git a/Externals/SDL2-2.0.0/include/SDL_surface.h b/Externals/SDL2-2.0.1/include/SDL_surface.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_surface.h rename to Externals/SDL2-2.0.1/include/SDL_surface.h index fece797437..e18153a694 100644 --- a/Externals/SDL2-2.0.0/include/SDL_surface.h +++ b/Externals/SDL2-2.0.1/include/SDL_surface.h @@ -48,12 +48,12 @@ extern "C" { * \internal * Used internally (read-only). */ -/*@{*/ +/* @{ */ #define SDL_SWSURFACE 0 /**< Just here for compatibility */ #define SDL_PREALLOC 0x00000001 /**< Surface uses preallocated memory */ #define SDL_RLEACCEL 0x00000002 /**< Surface is RLE encoded */ #define SDL_DONTFREE 0x00000004 /**< Surface is referenced internally */ -/*@}*//*Surface flags*/ +/* @} *//* Surface flags */ /** * Evaluates to true if the surface needs to be locked before access. @@ -357,7 +357,7 @@ extern DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface * surface, * surface. */ extern DECLSPEC SDL_Surface *SDLCALL SDL_ConvertSurface - (SDL_Surface * src, SDL_PixelFormat * fmt, Uint32 flags); + (SDL_Surface * src, const SDL_PixelFormat * fmt, Uint32 flags); extern DECLSPEC SDL_Surface *SDLCALL SDL_ConvertSurfaceFormat (SDL_Surface * src, Uint32 pixel_format, Uint32 flags); diff --git a/Externals/SDL2-2.0.0/include/SDL_system.h b/Externals/SDL2-2.0.1/include/SDL_system.h similarity index 82% rename from Externals/SDL2-2.0.0/include/SDL_system.h rename to Externals/SDL2-2.0.1/include/SDL_system.h index 26e9eaa0a9..9af2a4c2ce 100644 --- a/Externals/SDL2-2.0.0/include/SDL_system.h +++ b/Externals/SDL2-2.0.1/include/SDL_system.h @@ -29,11 +29,9 @@ #define _SDL_system_h #include "SDL_stdinc.h" - -#if defined(__IPHONEOS__) && __IPHONEOS__ -#include "SDL_video.h" #include "SDL_keyboard.h" -#endif +#include "SDL_render.h" +#include "SDL_video.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ @@ -41,6 +39,25 @@ extern "C" { #endif + +/* Platform specific functions for Windows */ +#ifdef __WIN32__ + +/* Returns the D3D9 adapter index that matches the specified display index. + This adapter index can be passed to IDirect3D9::CreateDevice and controls + on which monitor a full screen application will appear. +*/ +extern DECLSPEC int SDLCALL SDL_Direct3D9GetAdapterIndex( int displayIndex ); + +/* Returns the D3D device associated with a renderer, or NULL if it's not a D3D renderer. + Once you are done using the device, you should release it to avoid a resource leak. + */ +typedef struct IDirect3DDevice9 IDirect3DDevice9; +extern DECLSPEC IDirect3DDevice9* SDLCALL SDL_RenderGetD3D9Device(SDL_Renderer * renderer); + +#endif /* __WIN32__ */ + + /* Platform specific functions for iOS */ #if defined(__IPHONEOS__) && __IPHONEOS__ @@ -93,7 +110,6 @@ extern DECLSPEC const char * SDLCALL SDL_AndroidGetExternalStoragePath(); #endif /* __ANDROID__ */ - /* Ends C function definitions when using C++ */ #ifdef __cplusplus } diff --git a/Externals/SDL2-2.0.0/include/SDL_syswm.h b/Externals/SDL2-2.0.1/include/SDL_syswm.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_syswm.h rename to Externals/SDL2-2.0.1/include/SDL_syswm.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test.h b/Externals/SDL2-2.0.1/include/SDL_test.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test.h rename to Externals/SDL2-2.0.1/include/SDL_test.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_assert.h b/Externals/SDL2-2.0.1/include/SDL_test_assert.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_assert.h rename to Externals/SDL2-2.0.1/include/SDL_test_assert.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_common.h b/Externals/SDL2-2.0.1/include/SDL_test_common.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_test_common.h rename to Externals/SDL2-2.0.1/include/SDL_test_common.h index f07acf7c15..57f31146e5 100644 --- a/Externals/SDL2-2.0.0/include/SDL_test_common.h +++ b/Externals/SDL2-2.0.1/include/SDL_test_common.h @@ -108,6 +108,7 @@ typedef struct int gl_major_version; int gl_minor_version; int gl_debug; + int gl_profile_mask; } SDLTest_CommonState; #include "begin_code.h" diff --git a/Externals/SDL2-2.0.0/include/SDL_test_compare.h b/Externals/SDL2-2.0.1/include/SDL_test_compare.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_compare.h rename to Externals/SDL2-2.0.1/include/SDL_test_compare.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_crc32.h b/Externals/SDL2-2.0.1/include/SDL_test_crc32.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_crc32.h rename to Externals/SDL2-2.0.1/include/SDL_test_crc32.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_font.h b/Externals/SDL2-2.0.1/include/SDL_test_font.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_font.h rename to Externals/SDL2-2.0.1/include/SDL_test_font.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_fuzzer.h b/Externals/SDL2-2.0.1/include/SDL_test_fuzzer.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_fuzzer.h rename to Externals/SDL2-2.0.1/include/SDL_test_fuzzer.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_harness.h b/Externals/SDL2-2.0.1/include/SDL_test_harness.h similarity index 78% rename from Externals/SDL2-2.0.0/include/SDL_test_harness.h rename to Externals/SDL2-2.0.1/include/SDL_test_harness.h index d2da04f1ed..935038e904 100644 --- a/Externals/SDL2-2.0.0/include/SDL_test_harness.h +++ b/Externals/SDL2-2.0.1/include/SDL_test_harness.h @@ -43,43 +43,43 @@ extern "C" { #endif -//! Definitions for test case structures +/* ! Definitions for test case structures */ #define TEST_ENABLED 1 #define TEST_DISABLED 0 -//! Definition of all the possible test return values of the test case method +/* ! Definition of all the possible test return values of the test case method */ #define TEST_ABORTED -1 #define TEST_STARTED 0 #define TEST_COMPLETED 1 #define TEST_SKIPPED 2 -//! Definition of all the possible test results for the harness +/* ! Definition of all the possible test results for the harness */ #define TEST_RESULT_PASSED 0 #define TEST_RESULT_FAILED 1 #define TEST_RESULT_NO_ASSERT 2 #define TEST_RESULT_SKIPPED 3 #define TEST_RESULT_SETUP_FAILURE 4 -//!< Function pointer to a test case setup function (run before every test) +/* !< Function pointer to a test case setup function (run before every test) */ typedef void (*SDLTest_TestCaseSetUpFp)(void *arg); -//!< Function pointer to a test case function +/* !< Function pointer to a test case function */ typedef int (*SDLTest_TestCaseFp)(void *arg); -//!< Function pointer to a test case teardown function (run after every test) +/* !< Function pointer to a test case teardown function (run after every test) */ typedef void (*SDLTest_TestCaseTearDownFp)(void *arg); /** * Holds information about a single test case. */ typedef struct SDLTest_TestCaseReference { - /*!< Func2Stress */ + /* !< Func2Stress */ SDLTest_TestCaseFp testCase; - /*!< Short name (or function name) "Func2Stress" */ + /* !< Short name (or function name) "Func2Stress" */ char *name; - /*!< Long name or full description "This test pushes func2() to the limit." */ + /* !< Long name or full description "This test pushes func2() to the limit." */ char *description; - /*!< Set to TEST_ENABLED or TEST_DISABLED (test won't be run) */ + /* !< Set to TEST_ENABLED or TEST_DISABLED (test won't be run) */ int enabled; } SDLTest_TestCaseReference; @@ -87,13 +87,13 @@ typedef struct SDLTest_TestCaseReference { * Holds information about a test suite (multiple test cases). */ typedef struct SDLTest_TestSuiteReference { - /*!< "PlatformSuite" */ + /* !< "PlatformSuite" */ char *name; - /*!< The function that is run before each test. NULL skips. */ + /* !< The function that is run before each test. NULL skips. */ SDLTest_TestCaseSetUpFp testSetUp; - /*!< The test cases that are run as part of the suite. Last item should be NULL. */ + /* !< The test cases that are run as part of the suite. Last item should be NULL. */ const SDLTest_TestCaseReference **testCases; - /*!< The function that is run after each test. NULL skips. */ + /* !< The function that is run after each test. NULL skips. */ SDLTest_TestCaseTearDownFp testTearDown; } SDLTest_TestSuiteReference; diff --git a/Externals/SDL2-2.0.0/include/SDL_test_images.h b/Externals/SDL2-2.0.1/include/SDL_test_images.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_images.h rename to Externals/SDL2-2.0.1/include/SDL_test_images.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_log.h b/Externals/SDL2-2.0.1/include/SDL_test_log.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_log.h rename to Externals/SDL2-2.0.1/include/SDL_test_log.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_md5.h b/Externals/SDL2-2.0.1/include/SDL_test_md5.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_md5.h rename to Externals/SDL2-2.0.1/include/SDL_test_md5.h diff --git a/Externals/SDL2-2.0.0/include/SDL_test_random.h b/Externals/SDL2-2.0.1/include/SDL_test_random.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_test_random.h rename to Externals/SDL2-2.0.1/include/SDL_test_random.h diff --git a/Externals/SDL2-2.0.0/include/SDL_thread.h b/Externals/SDL2-2.0.1/include/SDL_thread.h similarity index 97% rename from Externals/SDL2-2.0.0/include/SDL_thread.h rename to Externals/SDL2-2.0.1/include/SDL_thread.h index c878c3ab9c..f248c3d69c 100644 --- a/Externals/SDL2-2.0.0/include/SDL_thread.h +++ b/Externals/SDL2-2.0.1/include/SDL_thread.h @@ -51,9 +51,10 @@ typedef unsigned long SDL_threadID; /* Thread local storage ID, 0 is the invalid ID */ typedef unsigned int SDL_TLSID; -/* The SDL thread priority +/** + * The SDL thread priority. * - * Note: On many systems you require special privileges to set high priority. + * \note On many systems you require special privileges to set high priority. */ typedef enum { SDL_THREAD_PRIORITY_LOW, @@ -61,8 +62,9 @@ typedef enum { SDL_THREAD_PRIORITY_HIGH } SDL_ThreadPriority; -/* The function passed to SDL_CreateThread() - It is passed a void* user context parameter and returns an int. +/** + * The function passed to SDL_CreateThread(). + * It is passed a void* user context parameter and returns an int. */ typedef int (SDLCALL * SDL_ThreadFunction) (void *data); diff --git a/Externals/SDL2-2.0.0/include/SDL_timer.h b/Externals/SDL2-2.0.1/include/SDL_timer.h similarity index 89% rename from Externals/SDL2-2.0.0/include/SDL_timer.h rename to Externals/SDL2-2.0.1/include/SDL_timer.h index e065cf4f9f..28ab415b40 100644 --- a/Externals/SDL2-2.0.0/include/SDL_timer.h +++ b/Externals/SDL2-2.0.1/include/SDL_timer.h @@ -44,6 +44,17 @@ extern "C" { */ extern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void); +/** + * \brief Compare SDL ticks values, and return true if A has passed B + * + * e.g. if you want to wait 100 ms, you could do this: + * Uint32 timeout = SDL_GetTicks() + 100; + * while (!SDL_TICKS_PASSED(SDL_GetTicks(), timeout)) { + * ... do work until timeout has elapsed + * } + */ +#define SDL_TICKS_PASSED(A, B) ((Sint32)((B) - (A)) <= 0) + /** * \brief Get the current value of the high resolution counter */ diff --git a/Externals/SDL2-2.0.0/include/SDL_touch.h b/Externals/SDL2-2.0.1/include/SDL_touch.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_touch.h rename to Externals/SDL2-2.0.1/include/SDL_touch.h diff --git a/Externals/SDL2-2.0.0/include/SDL_types.h b/Externals/SDL2-2.0.1/include/SDL_types.h similarity index 100% rename from Externals/SDL2-2.0.0/include/SDL_types.h rename to Externals/SDL2-2.0.1/include/SDL_types.h diff --git a/Externals/SDL2-2.0.0/include/SDL_version.h b/Externals/SDL2-2.0.1/include/SDL_version.h similarity index 99% rename from Externals/SDL2-2.0.0/include/SDL_version.h rename to Externals/SDL2-2.0.1/include/SDL_version.h index a9ced804d3..dc52c85c0a 100644 --- a/Externals/SDL2-2.0.0/include/SDL_version.h +++ b/Externals/SDL2-2.0.1/include/SDL_version.h @@ -59,7 +59,7 @@ typedef struct SDL_version */ #define SDL_MAJOR_VERSION 2 #define SDL_MINOR_VERSION 0 -#define SDL_PATCHLEVEL 0 +#define SDL_PATCHLEVEL 1 /** * \brief Macro to determine SDL version program was compiled against. diff --git a/Externals/SDL2-2.0.0/include/SDL_video.h b/Externals/SDL2-2.0.1/include/SDL_video.h similarity index 95% rename from Externals/SDL2-2.0.0/include/SDL_video.h rename to Externals/SDL2-2.0.1/include/SDL_video.h index f3a9619773..4a53f9b340 100644 --- a/Externals/SDL2-2.0.0/include/SDL_video.h +++ b/Externals/SDL2-2.0.1/include/SDL_video.h @@ -107,7 +107,8 @@ typedef enum SDL_WINDOW_INPUT_FOCUS = 0x00000200, /**< window has input focus */ SDL_WINDOW_MOUSE_FOCUS = 0x00000400, /**< window has mouse focus */ SDL_WINDOW_FULLSCREEN_DESKTOP = ( SDL_WINDOW_FULLSCREEN | 0x00001000 ), - SDL_WINDOW_FOREIGN = 0x00000800 /**< window not created by SDL */ + SDL_WINDOW_FOREIGN = 0x00000800, /**< window not created by SDL */ + SDL_WINDOW_ALLOW_HIGHDPI = 0x00002000 /**< window should be created in high-DPI mode if supported */ } SDL_WindowFlags; /** @@ -186,14 +187,15 @@ typedef enum SDL_GL_CONTEXT_EGL, SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_PROFILE_MASK, - SDL_GL_SHARE_WITH_CURRENT_CONTEXT + SDL_GL_SHARE_WITH_CURRENT_CONTEXT, + SDL_GL_FRAMEBUFFER_SRGB_CAPABLE } SDL_GLattr; typedef enum { SDL_GL_CONTEXT_PROFILE_CORE = 0x0001, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = 0x0002, - SDL_GL_CONTEXT_PROFILE_ES = 0x0004 + SDL_GL_CONTEXT_PROFILE_ES = 0x0004 /* GLX_CONTEXT_ES2_PROFILE_BIT_EXT */ } SDL_GLprofile; typedef enum @@ -393,10 +395,11 @@ extern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window); * \param w The width of the window. * \param h The height of the window. * \param flags The flags for the window, a mask of any of the following: - * ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL, - * ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_BORDERLESS, - * ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED, - * ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED. + * ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL, + * ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_BORDERLESS, + * ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED, + * ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED, + * ::SDL_WINDOW_ALLOW_HIGHDPI. * * \return The id of the window created, or zero if window creation failed. * @@ -821,7 +824,7 @@ extern DECLSPEC void SDLCALL SDL_DisableScreenSaver(void); /** * \name OpenGL support functions */ -/*@{*/ +/* @{ */ /** * \brief Dynamically load an OpenGL library. @@ -899,6 +902,24 @@ extern DECLSPEC SDL_Window* SDLCALL SDL_GL_GetCurrentWindow(void); */ extern DECLSPEC SDL_GLContext SDLCALL SDL_GL_GetCurrentContext(void); +/** + * \brief Get the size of a window's underlying drawable (for use with glViewport). + * + * \param window Window from which the drawable size should be queried + * \param w Pointer to variable for storing the width, may be NULL + * \param h Pointer to variable for storing the height, may be NULL + * + * This may differ from SDL_GetWindowSize if we're rendering to a high-DPI + * drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a + * platform with high-DPI support (Apple calls this "Retina"), and not disabled + * by the SDL_HINT_VIDEO_HIGHDPI_DISABLED hint. + * + * \sa SDL_GetWindowSize() + * \sa SDL_CreateWindow() + */ +extern DECLSPEC void SDLCALL SDL_GL_GetDrawableSize(SDL_Window * window, int *w, + int *h); + /** * \brief Set the swap interval for the current OpenGL context. * @@ -939,7 +960,7 @@ extern DECLSPEC void SDLCALL SDL_GL_SwapWindow(SDL_Window * window); */ extern DECLSPEC void SDLCALL SDL_GL_DeleteContext(SDL_GLContext context); -/*@}*//*OpenGL support functions*/ +/* @} *//* OpenGL support functions */ /* Ends C function definitions when using C++ */ diff --git a/Externals/SDL2-2.0.0/include/begin_code.h b/Externals/SDL2-2.0.1/include/begin_code.h similarity index 75% rename from Externals/SDL2-2.0.0/include/begin_code.h rename to Externals/SDL2-2.0.1/include/begin_code.h index dd1f0616d0..968a540a4d 100644 --- a/Externals/SDL2-2.0.0/include/begin_code.h +++ b/Externals/SDL2-2.0.1/include/begin_code.h @@ -33,15 +33,17 @@ #endif #define _begin_code_h +#ifndef SDL_DEPRECATED +# if (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */ +# define SDL_DEPRECATED __attribute__((deprecated)) +# else +# define SDL_DEPRECATED +# endif +#endif + /* Some compilers use a special export keyword */ #ifndef DECLSPEC -# if defined(__BEOS__) || defined(__HAIKU__) -# if defined(__GNUC__) -# define DECLSPEC __declspec(dllexport) -# else -# define DECLSPEC __declspec(export) -# endif -# elif defined(__WIN32__) +# if defined(__WIN32__) # ifdef __BORLANDC__ # ifdef BUILD_SDL # define DECLSPEC @@ -54,6 +56,8 @@ # else # if defined(__GNUC__) && __GNUC__ >= 4 # define DECLSPEC __attribute__ ((visibility("default"))) +# elif defined(__GNUC__) && __GNUC__ >= 2 +# define DECLSPEC __declspec(dllexport) # else # define DECLSPEC # endif @@ -95,48 +99,34 @@ #endif #endif /* Compiler needs structure packing set */ -/* Set up compiler-specific options for inlining functions */ -#ifndef SDL_INLINE_OKAY -#ifdef __GNUC__ -#define SDL_INLINE_OKAY -#else -/* Add any special compiler-specific cases here */ -#if defined(_MSC_VER) || defined(__BORLANDC__) || \ - defined(__DMC__) || defined(__SC__) || \ - defined(__WATCOMC__) || defined(__LCC__) || \ - defined(__DECC) +#ifndef SDL_INLINE +#if defined(__GNUC__) +#define SDL_INLINE __inline__ +#elif defined(_MSC_VER) || defined(__BORLANDC__) || \ + defined(__DMC__) || defined(__SC__) || \ + defined(__WATCOMC__) || defined(__LCC__) || \ + defined(__DECC) +#define SDL_INLINE __inline #ifndef __inline__ -#define __inline__ __inline +#define __inline__ __inline #endif -#define SDL_INLINE_OKAY #else -#if !defined(__MRC__) && !defined(_SGI_SOURCE) +#define SDL_INLINE inline #ifndef __inline__ #define __inline__ inline #endif -#define SDL_INLINE_OKAY -#endif /* Not a funky compiler */ -#endif /* Visual C++ */ -#endif /* GNU C */ -#endif /* SDL_INLINE_OKAY */ - -/* If inlining isn't supported, remove "__inline__", turning static - inlined functions into static functions (resulting in code bloat - in all files which include the offending header files) -*/ -#ifndef SDL_INLINE_OKAY -#define __inline__ #endif +#endif /* SDL_INLINE not defined */ #ifndef SDL_FORCE_INLINE #if defined(_MSC_VER) #define SDL_FORCE_INLINE __forceinline #elif ( (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__) ) -#define SDL_FORCE_INLINE __attribute__((always_inline)) static inline +#define SDL_FORCE_INLINE __attribute__((always_inline)) static __inline__ #else -#define SDL_FORCE_INLINE static __inline__ -#endif +#define SDL_FORCE_INLINE static SDL_INLINE #endif +#endif /* SDL_FORCE_INLINE not defined */ /* Apparently this is needed by several Windows compilers */ #if !defined(__MACH__) diff --git a/Externals/SDL2-2.0.0/include/close_code.h b/Externals/SDL2-2.0.1/include/close_code.h similarity index 100% rename from Externals/SDL2-2.0.0/include/close_code.h rename to Externals/SDL2-2.0.1/include/close_code.h diff --git a/Externals/SDL2-2.0.0/lib/Win32/SDL2.dll b/Externals/SDL2-2.0.1/lib/Win32/SDL2.dll similarity index 53% rename from Externals/SDL2-2.0.0/lib/Win32/SDL2.dll rename to Externals/SDL2-2.0.1/lib/Win32/SDL2.dll index c67dabdbac..c86aba1c52 100644 Binary files a/Externals/SDL2-2.0.0/lib/Win32/SDL2.dll and b/Externals/SDL2-2.0.1/lib/Win32/SDL2.dll differ diff --git a/Externals/SDL2-2.0.1/lib/Win32/SDL2.lib b/Externals/SDL2-2.0.1/lib/Win32/SDL2.lib new file mode 100644 index 0000000000..cc099800b2 Binary files /dev/null and b/Externals/SDL2-2.0.1/lib/Win32/SDL2.lib differ diff --git a/Externals/SDL2-2.0.0/lib/x64/SDL2.dll b/Externals/SDL2-2.0.1/lib/x64/SDL2.dll similarity index 58% rename from Externals/SDL2-2.0.0/lib/x64/SDL2.dll rename to Externals/SDL2-2.0.1/lib/x64/SDL2.dll index 0f3ef1286b..1a156df58c 100644 Binary files a/Externals/SDL2-2.0.0/lib/x64/SDL2.dll and b/Externals/SDL2-2.0.1/lib/x64/SDL2.dll differ diff --git a/Externals/SDL2-2.0.1/lib/x64/SDL2.lib b/Externals/SDL2-2.0.1/lib/x64/SDL2.lib new file mode 100644 index 0000000000..abeab3bc8a Binary files /dev/null and b/Externals/SDL2-2.0.1/lib/x64/SDL2.lib differ diff --git a/Source/Core/DolphinWX/DolphinWX.vcxproj b/Source/Core/DolphinWX/DolphinWX.vcxproj index 70aa18d22f..14eacfd440 100644 --- a/Source/Core/DolphinWX/DolphinWX.vcxproj +++ b/Source/Core/DolphinWX/DolphinWX.vcxproj @@ -48,7 +48,7 @@ 0x00400000 false true - ..\..\..\Externals\SDL2-2.0.0\lib\$(PlatformName);..\..\..\Externals\OpenAL\$(PlatformName);%(AdditionalLibraryDirectories) + ..\..\..\Externals\SDL2-2.0.1\lib\$(PlatformName);..\..\..\Externals\OpenAL\$(PlatformName);%(AdditionalLibraryDirectories) dsound.lib;iphlpapi.lib;winmm.lib;setupapi.lib;vfw32.lib;opengl32.lib;glu32.lib;rpcrt4.lib;comctl32.lib;OpenAL32.lib;%(AdditionalDependencies) @@ -229,7 +229,7 @@ - + diff --git a/Source/VSProps/Base.props b/Source/VSProps/Base.props index d613f45476..2ee5bd8e8e 100644 --- a/Source/VSProps/Base.props +++ b/Source/VSProps/Base.props @@ -49,7 +49,7 @@ $(ExternalsDir)miniupnpc\src;%(AdditionalIncludeDirectories) $(ExternalsDir)polarssl\include;%(AdditionalIncludeDirectories) $(ExternalsDir)portaudio\include;%(AdditionalIncludeDirectories) - $(ExternalsDir)SDL2-2.0.0\include;%(AdditionalIncludeDirectories) + $(ExternalsDir)SDL2-2.0.1\include;%(AdditionalIncludeDirectories) $(ExternalsDir)SFML\include;%(AdditionalIncludeDirectories) $(ExternalsDir)SOIL;%(AdditionalIncludeDirectories) $(ExternalsDir)wxWidgets3;%(AdditionalIncludeDirectories)