Cameron Gutman
2021-01-08 21:43:37 -06:00
parent 0d3092d62c
commit e6f59062fa
65 changed files with 386 additions and 214 deletions
@@ -3,7 +3,7 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>BuildMachineOSBuild</key> <key>BuildMachineOSBuild</key>
<string>19E287</string> <string>19H114</string>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>English</string> <string>English</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
@@ -10,7 +10,7 @@
</data> </data>
<key>Resources/Info.plist</key> <key>Resources/Info.plist</key>
<data> <data>
tGFoM6QHKngffYbWA76aPn/ESNM= 8Yk54YzUKmLCGTNkmc8LiukTgFM=
</data> </data>
<key>Resources/LICENSE-bsd.txt</key> <key>Resources/LICENSE-bsd.txt</key>
<data> <data>
@@ -46,11 +46,11 @@
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
tGFoM6QHKngffYbWA76aPn/ESNM= 8Yk54YzUKmLCGTNkmc8LiukTgFM=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
fgTFYKM0llbznibqeBwDi/6Y3eVW0HtYW+1EdComD7E= g8uVTrv9wFcDsYV6z37oNILYTKi5mgge59ixh4aBoo4=
</data> </data>
</dict> </dict>
<key>Resources/LICENSE-bsd.txt</key> <key>Resources/LICENSE-bsd.txt</key>
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -48,10 +48,9 @@ extern "C" {
* \return Index of the most significant bit, or -1 if the value is 0. * \return Index of the most significant bit, or -1 if the value is 0.
*/ */
#if defined(__WATCOMC__) && defined(__386__) #if defined(__WATCOMC__) && defined(__386__)
extern _inline int _SDL_clz_watcom (Uint32); extern _inline int _SDL_bsr_watcom (Uint32);
#pragma aux _SDL_clz_watcom = \ #pragma aux _SDL_bsr_watcom = \
"bsr eax, eax" \ "bsr eax, eax" \
"xor eax, 31" \
parm [eax] nomemory \ parm [eax] nomemory \
value [eax] \ value [eax] \
modify exact [eax] nomemory; modify exact [eax] nomemory;
@@ -72,7 +71,13 @@ SDL_MostSignificantBitIndex32(Uint32 x)
if (x == 0) { if (x == 0) {
return -1; return -1;
} }
return 31 - _SDL_clz_watcom(x); return _SDL_bsr_watcom(x);
#elif defined(_MSC_VER)
unsigned long index;
if (_BitScanReverse(&index, x)) {
return index;
}
return -1;
#else #else
/* Based off of Bit Twiddling Hacks by Sean Eron Anderson /* Based off of Bit Twiddling Hacks by Sean Eron Anderson
* <seander@cs.stanford.edu>, released in the public domain. * <seander@cs.stanford.edu>, released in the public domain.
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -115,8 +115,12 @@
#define HAVE_LOGF 1 #define HAVE_LOGF 1
#define HAVE_LOG10 1 #define HAVE_LOG10 1
#define HAVE_LOG10F 1 #define HAVE_LOG10F 1
#define HAVE_LROUND 1
#define HAVE_LROUNDF 1
#define HAVE_POW 1 #define HAVE_POW 1
#define HAVE_POWF 1 #define HAVE_POWF 1
#define HAVE_ROUND 1
#define HAVE_ROUNDF 1
#define HAVE_SCALBN 1 #define HAVE_SCALBN 1
#define HAVE_SCALBNF 1 #define HAVE_SCALBNF 1
#define HAVE_SIN 1 #define HAVE_SIN 1
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -30,6 +30,10 @@
#include "SDL_stdinc.h" #include "SDL_stdinc.h"
#ifdef _MSC_VER
#include <intrin.h>
#endif
/** /**
* \name The two types of endianness * \name The two types of endianness
*/ */
@@ -45,6 +49,9 @@
#elif defined(__OpenBSD__) #elif defined(__OpenBSD__)
#include <endian.h> #include <endian.h>
#define SDL_BYTEORDER BYTE_ORDER #define SDL_BYTEORDER BYTE_ORDER
#elif defined(__FreeBSD__)
#include <sys/endian.h>
#define SDL_BYTEORDER BYTE_ORDER
#else #else
#if defined(__hppa__) || \ #if defined(__hppa__) || \
defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \ defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \
@@ -68,8 +75,11 @@ extern "C" {
/** /**
* \file SDL_endian.h * \file SDL_endian.h
*/ */
#if defined(__GNUC__) && defined(__i386__) && \ #if (defined(__clang__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 2))) || \
!(__GNUC__ == 2 && __GNUC_MINOR__ == 95 /* broken gcc version */) (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)))
#define SDL_Swap16(x) __builtin_bswap16(x)
#elif defined(__GNUC__) && defined(__i386__) && \
!(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */)
SDL_FORCE_INLINE Uint16 SDL_FORCE_INLINE Uint16
SDL_Swap16(Uint16 x) SDL_Swap16(Uint16 x)
{ {
@@ -92,13 +102,23 @@ SDL_Swap16(Uint16 x)
__asm__("rlwimi %0,%2,8,16,23": "=&r"(result):"0"(x >> 8), "r"(x)); __asm__("rlwimi %0,%2,8,16,23": "=&r"(result):"0"(x >> 8), "r"(x));
return (Uint16)result; return (Uint16)result;
} }
#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) && !defined(__mcoldfire__) #elif defined(__GNUC__) && defined(__aarch64__)
SDL_FORCE_INLINE Uint16
SDL_Swap16(Uint16 x)
{
__asm__("rev16 %w1, %w0" : "=r"(x) : "r"(x));
return x;
}
#elif defined(__GNUC__) && (defined(__m68k__) && !defined(__mcoldfire__))
SDL_FORCE_INLINE Uint16 SDL_FORCE_INLINE Uint16
SDL_Swap16(Uint16 x) SDL_Swap16(Uint16 x)
{ {
__asm__("rorw #8,%0": "=d"(x): "0"(x):"cc"); __asm__("rorw #8,%0": "=d"(x): "0"(x):"cc");
return x; return x;
} }
#elif defined(_MSC_VER)
#pragma intrinsic(_byteswap_ushort)
#define SDL_Swap16(x) _byteswap_ushort(x)
#elif defined(__WATCOMC__) && defined(__386__) #elif defined(__WATCOMC__) && defined(__386__)
extern _inline Uint16 SDL_Swap16(Uint16); extern _inline Uint16 SDL_Swap16(Uint16);
#pragma aux SDL_Swap16 = \ #pragma aux SDL_Swap16 = \
@@ -113,7 +133,11 @@ SDL_Swap16(Uint16 x)
} }
#endif #endif
#if defined(__GNUC__) && defined(__i386__) #if (defined(__clang__) && (__clang_major__ > 2 || (__clang_major__ == 2 && __clang_minor__ >= 6))) || \
(defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
#define SDL_Swap32(x) __builtin_bswap32(x)
#elif defined(__GNUC__) && defined(__i386__) && \
!(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */)
SDL_FORCE_INLINE Uint32 SDL_FORCE_INLINE Uint32
SDL_Swap32(Uint32 x) SDL_Swap32(Uint32 x)
{ {
@@ -138,7 +162,14 @@ SDL_Swap32(Uint32 x)
__asm__("rlwimi %0,%2,24,0,7": "=&r"(result):"0"(result), "r"(x)); __asm__("rlwimi %0,%2,24,0,7": "=&r"(result):"0"(result), "r"(x));
return result; return result;
} }
#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) && !defined(__mcoldfire__) #elif defined(__GNUC__) && defined(__aarch64__)
SDL_FORCE_INLINE Uint32
SDL_Swap32(Uint32 x)
{
__asm__("rev %w1, %w0": "=r"(x):"r"(x));
return x;
}
#elif defined(__GNUC__) && (defined(__m68k__) && !defined(__mcoldfire__))
SDL_FORCE_INLINE Uint32 SDL_FORCE_INLINE Uint32
SDL_Swap32(Uint32 x) SDL_Swap32(Uint32 x)
{ {
@@ -160,6 +191,9 @@ extern _inline Uint32 SDL_Swap32(Uint32);
parm [eax] \ parm [eax] \
modify [eax]; modify [eax];
#endif #endif
#elif defined(_MSC_VER)
#pragma intrinsic(_byteswap_ulong)
#define SDL_Swap32(x) _byteswap_ulong(x)
#else #else
SDL_FORCE_INLINE Uint32 SDL_FORCE_INLINE Uint32
SDL_Swap32(Uint32 x) SDL_Swap32(Uint32 x)
@@ -169,7 +203,11 @@ SDL_Swap32(Uint32 x)
} }
#endif #endif
#if defined(__GNUC__) && defined(__i386__) #if (defined(__clang__) && (__clang_major__ > 2 || (__clang_major__ == 2 && __clang_minor__ >= 6))) || \
(defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
#define SDL_Swap64(x) __builtin_bswap64(x)
#elif defined(__GNUC__) && defined(__i386__) && \
!(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */)
SDL_FORCE_INLINE Uint64 SDL_FORCE_INLINE Uint64
SDL_Swap64(Uint64 x) SDL_Swap64(Uint64 x)
{ {
@@ -194,6 +232,9 @@ SDL_Swap64(Uint64 x)
__asm__("bswapq %0": "=r"(x):"0"(x)); __asm__("bswapq %0": "=r"(x):"0"(x));
return x; return x;
} }
#elif defined(_MSC_VER)
#pragma intrinsic(_byteswap_uint64)
#define SDL_Swap64(x) _byteswap_uint64(x)
#else #else
SDL_FORCE_INLINE Uint64 SDL_FORCE_INLINE Uint64
SDL_Swap64(Uint64 x) SDL_Swap64(Uint64 x)
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -604,17 +604,6 @@ extern "C" {
*/ */
#define SDL_HINT_JOYSTICK_HIDAPI_PS4 "SDL_JOYSTICK_HIDAPI_PS4" #define SDL_HINT_JOYSTICK_HIDAPI_PS4 "SDL_JOYSTICK_HIDAPI_PS4"
/**
* \brief A variable controlling whether the HIDAPI driver for PS5 controllers should be used.
*
* This variable can be set to the following values:
* "0" - HIDAPI driver is not used
* "1" - HIDAPI driver is used
*
* The default is the value of SDL_HINT_JOYSTICK_HIDAPI
*/
#define SDL_HINT_JOYSTICK_HIDAPI_PS5 "SDL_JOYSTICK_HIDAPI_PS5"
/** /**
* \brief A variable controlling whether extended input reports should be used for PS4 controllers when using the HIDAPI driver. * \brief A variable controlling whether extended input reports should be used for PS4 controllers when using the HIDAPI driver.
* *
@@ -630,6 +619,41 @@ extern "C" {
*/ */
#define SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE" #define SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE"
/**
* \brief A variable controlling whether the HIDAPI driver for PS5 controllers should be used.
*
* This variable can be set to the following values:
* "0" - HIDAPI driver is not used
* "1" - HIDAPI driver is used
*
* The default is the value of SDL_HINT_JOYSTICK_HIDAPI
*/
#define SDL_HINT_JOYSTICK_HIDAPI_PS5 "SDL_JOYSTICK_HIDAPI_PS5"
/**
* \brief A variable controlling whether extended input reports should be used for PS5 controllers when using the HIDAPI driver.
*
* This variable can be set to the following values:
* "0" - extended reports are not enabled (the default)
* "1" - extended reports
*
* Extended input reports allow rumble on Bluetooth PS5 controllers, but
* break DirectInput handling for applications that don't use SDL.
*
* Once extended reports are enabled, they can not be disabled without
* power cycling the controller.
*/
#define SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE "SDL_JOYSTICK_HIDAPI_PS5_RUMBLE"
/**
* \brief A variable controlling whether the player LEDs should be lit to indicate which player is associated with a PS5 controller.
*
* This variable can be set to the following values:
* "0" - player LEDs are not enabled
* "1" - player LEDs are enabled (the default)
*/
#define SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
/** /**
* \brief A variable controlling whether the HIDAPI driver for Steam Controllers should be used. * \brief A variable controlling whether the HIDAPI driver for Steam Controllers should be used.
* *
@@ -1181,6 +1205,59 @@ extern "C" {
*/ */
#define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING" #define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"
/**
* \brief Force SDL to use Critical Sections for mutexes on Windows.
* On Windows 7 and newer, Slim Reader/Writer Locks are available.
* They offer better performance, allocate no kernel ressources and
* use less memory. SDL will fall back to Critical Sections on older
* OS versions or if forced to by this hint.
* This also affects Condition Variables. When SRW mutexes are used,
* SDL will use Windows Condition Variables as well. Else, a generic
* SDL_cond implementation will be used that works with all mutexes.
*
* This variable can be set to the following values:
* "0" - Use SRW Locks when available. If not, fall back to Critical Sections. (default)
* "1" - Force the use of Critical Sections in all cases.
*
*/
#define SDL_HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS "SDL_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS"
/**
* \brief Force SDL to use Kernel Semaphores on Windows.
* Kernel Semaphores are inter-process and require a context
* switch on every interaction. On Windows 8 and newer, the
* WaitOnAddress API is available. Using that and atomics to
* implement semaphores increases performance.
* SDL will fall back to Kernel Objects on older OS versions
* or if forced to by this hint.
*
* This variable can be set to the following values:
* "0" - Use Atomics and WaitOnAddress API when available. If not, fall back to Kernel Objects. (default)
* "1" - Force the use of Kernel Objects in all cases.
*
*/
#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
/**
* \brief Use the D3D9Ex API introduced in Windows Vista, instead of normal D3D9.
* Direct3D 9Ex contains changes to state management that can eliminate device
* loss errors during scenarios like Alt+Tab or UAC prompts. D3D9Ex may require
* some changes to your application to cope with the new behavior, so this
* is disabled by default.
*
* This hint must be set before initializing the video subsystem.
*
* For more information on Direct3D 9Ex, see:
* - https://docs.microsoft.com/en-us/windows/win32/direct3darticles/graphics-apis-in-windows-vista#direct3d-9ex
* - https://docs.microsoft.com/en-us/windows/win32/direct3darticles/direct3d-9ex-improvements
*
* This variable can be set to the following values:
* "0" - Use the original Direct3D 9 API (default)
* "1" - Use the Direct3D 9Ex API on Vista and later (and fall back if D3D9Ex is unavailable)
*
*/
#define SDL_HINT_WINDOWS_USE_D3D9EX "SDL_WINDOWS_USE_D3D9EX"
/** /**
* \brief Tell SDL which Dispmanx layer to use on a Raspberry PI * \brief Tell SDL which Dispmanx layer to use on a Raspberry PI
* *
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -450,6 +450,28 @@ extern DECLSPEC int SDLCALL SDL_UpdateYUVTexture(SDL_Texture * texture,
const Uint8 *Uplane, int Upitch, const Uint8 *Uplane, int Upitch,
const Uint8 *Vplane, int Vpitch); const Uint8 *Vplane, int Vpitch);
/**
* \brief Update a rectangle within a planar NV12 or NV21 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 UVplane The raw pixel data for the UV plane.
* \param UVpitch The number of bytes between rows of pixel data for the UV 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 NV12/21 planes in the proper order, but
* this function is available if your pixel data is not contiguous.
*/
extern DECLSPEC int SDLCALL SDL_UpdateNVTexture(SDL_Texture * texture,
const SDL_Rect * rect,
const Uint8 *Yplane, int Ypitch,
const Uint8 *UVplane, int UVpitch);
/** /**
* \brief Lock a portion of the texture for write-only pixel access. * \brief Lock a portion of the texture for write-only pixel access.
* *
@@ -1,2 +1,2 @@
#define SDL_REVISION "hg-14525:e52d96ea04fc" #define SDL_REVISION "hg-0:aaaaaaaaaaah"
#define SDL_REVISION_NUMBER 14525 #define SDL_REVISION_NUMBER 0
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -549,6 +549,10 @@ extern DECLSPEC double SDLCALL SDL_log10(double x);
extern DECLSPEC float SDLCALL SDL_log10f(float x); extern DECLSPEC float SDLCALL SDL_log10f(float x);
extern DECLSPEC double SDLCALL SDL_pow(double x, double y); extern DECLSPEC double SDLCALL SDL_pow(double x, double y);
extern DECLSPEC float SDLCALL SDL_powf(float x, float y); extern DECLSPEC float SDLCALL SDL_powf(float x, float y);
extern DECLSPEC double SDLCALL SDL_round(double x);
extern DECLSPEC float SDLCALL SDL_roundf(float x);
extern DECLSPEC long SDLCALL SDL_lround(double x);
extern DECLSPEC long SDLCALL SDL_lroundf(float x);
extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n); extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n);
extern DECLSPEC float SDLCALL SDL_scalbnf(float x, int n); extern DECLSPEC float SDLCALL SDL_scalbnf(float x, int n);
extern DECLSPEC double SDLCALL SDL_sin(double x); extern DECLSPEC double SDLCALL SDL_sin(double x);
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -519,6 +519,17 @@ extern DECLSPEC int SDLCALL SDL_SoftStretch(SDL_Surface * src,
SDL_Surface * dst, SDL_Surface * dst,
const SDL_Rect * dstrect); const SDL_Rect * dstrect);
/**
* \brief Perform a bilinear scaling between two surfaces of the
* same pixel format, 32BPP.
*
*/
extern DECLSPEC int SDLCALL SDL_SoftStretchLinear(SDL_Surface * src,
const SDL_Rect * srcrect,
SDL_Surface * dst,
const SDL_Rect * dstrect);
#define SDL_BlitScaled SDL_UpperBlitScaled #define SDL_BlitScaled SDL_UpperBlitScaled
/** /**
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -59,12 +59,20 @@ extern DECLSPEC int SDLCALL SDL_Direct3D9GetAdapterIndex( int displayIndex );
typedef struct IDirect3DDevice9 IDirect3DDevice9; typedef struct IDirect3DDevice9 IDirect3DDevice9;
/** /**
\brief Returns the D3D device associated with a renderer, or NULL if it's not a D3D renderer. \brief Returns the D3D9 device associated with a renderer, or NULL if it's not a D3D9 renderer.
Once you are done using the device, you should release it to avoid a resource leak. Once you are done using the device, you should release it to avoid a resource leak.
*/ */
extern DECLSPEC IDirect3DDevice9* SDLCALL SDL_RenderGetD3D9Device(SDL_Renderer * renderer); extern DECLSPEC IDirect3DDevice9* SDLCALL SDL_RenderGetD3D9Device(SDL_Renderer * renderer);
typedef struct ID3D11Device ID3D11Device;
/**
\brief Returns the D3D11 device associated with a renderer, or NULL if it's not a D3D11 renderer.
Once you are done using the device, you should release it to avoid a resource leak.
*/
extern DECLSPEC ID3D11Device* SDLCALL SDL_RenderGetD3D11Device(SDL_Renderer * renderer);
/** /**
\brief Returns the DXGI Adapter and Output indices for the specified display index. \brief Returns the DXGI Adapter and Output indices for the specified display index.
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -59,7 +59,7 @@ typedef struct SDL_version
*/ */
#define SDL_MAJOR_VERSION 2 #define SDL_MAJOR_VERSION 2
#define SDL_MINOR_VERSION 0 #define SDL_MINOR_VERSION 0
#define SDL_PATCHLEVEL 14 #define SDL_PATCHLEVEL 15
/** /**
* \brief Macro to determine SDL version program was compiled against. * \brief Macro to determine SDL version program was compiled against.
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -1,6 +1,6 @@
/* /*
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
@@ -3,7 +3,7 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>BuildMachineOSBuild</key> <key>BuildMachineOSBuild</key>
<string>19E287</string> <string>19H114</string>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>English</string> <string>English</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
@@ -19,7 +19,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>2.0.14</string> <string>2.0.15</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>SDLX</string> <string>SDLX</string>
<key>CFBundleSupportedPlatforms</key> <key>CFBundleSupportedPlatforms</key>
@@ -27,7 +27,7 @@
<string>MacOSX</string> <string>MacOSX</string>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>2.0.14</string> <string>2.0.15</string>
<key>DTCompiler</key> <key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string> <string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key> <key>DTPlatformBuild</key>
@@ -1,6 +1,6 @@
Simple DirectMedia Layer Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages
Binary file not shown.
@@ -6,11 +6,11 @@
<dict> <dict>
<key>Resources/Info.plist</key> <key>Resources/Info.plist</key>
<data> <data>
HzcsMReVY4hkAmRRhq33mT4RJKI= akVFnWoaAhBOlpXfxiwztLRw3FY=
</data> </data>
<key>Resources/License.txt</key> <key>Resources/License.txt</key>
<data> <data>
VILsZtXQ+SRYtfG2XJ8ZtkKItSU= s91T1Kwm3AMSbQtGQrmCGovO9hU=
</data> </data>
<key>Resources/ReadMe.txt</key> <key>Resources/ReadMe.txt</key>
<data> <data>
@@ -27,372 +27,372 @@
<dict> <dict>
<key>cdhash</key> <key>cdhash</key>
<data> <data>
N5FKSaB7CEeZTK1MpiD7f6uGGVA= c8f8dm7+lXdq/Z6WbkTx/1+k5c8=
</data> </data>
<key>requirement</key> <key>requirement</key>
<string>identifier "org.libsdl.hidapi" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = EH385AYQ6F</string> <string>identifier "org.libsdl.hidapi" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "45U78722YL"</string>
</dict> </dict>
<key>Headers/SDL.h</key> <key>Headers/SDL.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
hL2Z/I5g7jY5xbcFEk6Ga+GmxcM= 0JBFoOt5FIaoxVwOK/5/51nHtFg=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
dALaYlcvTZd9nHYy4IFogyrazbSCCRfnK4kfYHGPqFc= lnY0/OiW5YWD1SAjw8I/c40wWnHOjKVMm+dalXFyHRA=
</data> </data>
</dict> </dict>
<key>Headers/SDL_assert.h</key> <key>Headers/SDL_assert.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
FwT1P3mJzGKC9r+NdzApvnBKWB0= IiADcTyPo9pVBYrpKHU6mFN50e8=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
P97E6oE7Pm/2Rd/sQI2lfnboN3OaLWfA4fzXc4lHSW0= cJ9XWwjjAF41qBQKxApkxGOIALw175pk2GwNunz1wpg=
</data> </data>
</dict> </dict>
<key>Headers/SDL_atomic.h</key> <key>Headers/SDL_atomic.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
xg9uJj7yxzB0CHUbyIfNK4JgOG4= Jheq/oFNjtM/CVJfmJRMMjXpEPo=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
lYvP/2EdhC7kjjRlo7kLG7btc5QtYqWur256yKWVYCU= cJVgTyHA8dzobXT5VaJgNy3DBvQQa3PdusBQuPxYTro=
</data> </data>
</dict> </dict>
<key>Headers/SDL_audio.h</key> <key>Headers/SDL_audio.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
aSxl2+H6VdE8YRAfGhz3dXb/Wmo= NCLh53AVUxy8DVwibS6JOpbec7c=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
EH4GR2fTWbVznhnA5B3DrdtpJNuecn04NhFBPZdQX5k= NI5GINTjWMqzmA8s2Xshibkk8N+QZ01LkrYcxsCyMs0=
</data> </data>
</dict> </dict>
<key>Headers/SDL_bits.h</key> <key>Headers/SDL_bits.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
Xo7exLIRlSdYj/wvSlyfFGXwXDk= fpmofY0dot0lXD8r+rL6E0dOmRc=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
pODn3AX+7bv13P3nR9JlEImNPJwU7SK0QhZNhsiBJt4= W/Gd1atZLiHaDYHqs6TN5Pj/ThW2/MymiX+cEbtKNWk=
</data> </data>
</dict> </dict>
<key>Headers/SDL_blendmode.h</key> <key>Headers/SDL_blendmode.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
rJ9tuMnozMU9aTmGJnsDSJ4ZzU0= q7EnpKCkIHYlgYhy408UJgzmM2U=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
o6acxbxesubS5z44EyaKTxLt4sF97j0+oh9u7w4vpNA= 1n0iR8yZnKzCkuNEU52LEv7dfk27WL0k+VH9VqJL4w0=
</data> </data>
</dict> </dict>
<key>Headers/SDL_clipboard.h</key> <key>Headers/SDL_clipboard.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
BC8o5wIDU6TJgon7DW56dJzPZHM= 60U8QvdNvC4LtNSc7iFwCWH+9os=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
c8onvqLDjpS32kJX/mqT/CZFrT3brIsyB2s6+J6kPlo= C2lli6q7cU62GWskVMiK33J1WxjlMwaCfNukIebY8UA=
</data> </data>
</dict> </dict>
<key>Headers/SDL_config.h</key> <key>Headers/SDL_config.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
ac64eFUYNav6YKQI6909+2GYwJE= aytRh8+xvpYYsAdb7F7yLmg0kis=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
VNhjVpUWoI5GH6azDen2EpTF5cwj+amMTh/gcnBH8Y8= dzGHhY4lHdr+Vh/w9XIV8P9SQjSQnoL/dYvOHKmBZfs=
</data> </data>
</dict> </dict>
<key>Headers/SDL_config_macosx.h</key> <key>Headers/SDL_config_macosx.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
SHf9CRjVPeSLNjgX8CeWX+2/rsc= JEidzq0po54FZOh7krZbUI60t1s=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
Dtby/5f29Me3435yhYtoV4qaQ3H+EsDpI5y4/pcdqJY= LuggXYC8c40AAtgPMrdFUYvc0dHbPFRNPpME5uuJ6tQ=
</data> </data>
</dict> </dict>
<key>Headers/SDL_copying.h</key> <key>Headers/SDL_copying.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
epQfEI5S75N7Ud6AwDj4EA6Fk/o= yrYOm/q+6NqPxYH5MLEonLnwIxY=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
Bb6ECGs8VYAHejft7V2hUyDK+41Hk79bcCspf6rQgQw= Ziie3rOwX+j6M2NBdENO350Ubg9tI0Z6wHxLmkPA5eM=
</data> </data>
</dict> </dict>
<key>Headers/SDL_cpuinfo.h</key> <key>Headers/SDL_cpuinfo.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
jOEMD49pYqDQfHy0/1TAdRrVxfE= HeR0lxK4+WPAiTGHNk5IQ8nXYJw=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
/vC2r34hQj6+BZw4xJx8YzwMKL2petqQQgALn+fcGCE= BiqK+8M8UM20+3787B+3+BDhy4awblONzluqHMTn3e8=
</data> </data>
</dict> </dict>
<key>Headers/SDL_endian.h</key> <key>Headers/SDL_endian.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
ZxBOxnSY6LRuAEcRxNn0003XbZA= hkyJa4gVy1aMdCZOAPK6cT7xNAE=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
1y+wM8domWXFDot0zzCmjHb34vlqO8Y7v93DamI4Tmg= SgvWbxqzwH7UcmOtDI3qTOgCKEIkSxWs5QY0k4RBBRs=
</data> </data>
</dict> </dict>
<key>Headers/SDL_error.h</key> <key>Headers/SDL_error.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
pVWfxt+odr3djRqt8D/U421+dQo= hZgg4KnUfiGBhHos+AWdv7CUZ5Y=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
YKlzVmZ1dgucRXZyWU9kvIjT9QZBohKxz49iLQ/PPQE= mX6UorvOrvuQuXs/9jfjdN9YbwAg3qW5673flKUXj6Y=
</data> </data>
</dict> </dict>
<key>Headers/SDL_events.h</key> <key>Headers/SDL_events.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
ZbHbHB/Ul2errIm2JWrlpAdNRws= wda1DNLVHzNX8cKEbQgklUKw6tQ=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
8IArXBgjLvjES7thc1V43MvhO7Vb1LBLs6JOjsrlJh8= E3yhmpNWbGS80jscJvQeU06b9CDzVH0ImLDS/xXRYZI=
</data> </data>
</dict> </dict>
<key>Headers/SDL_filesystem.h</key> <key>Headers/SDL_filesystem.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
fr9s5fRVIompjAwprvpPpiuqZ+g= 4IwdOm+5TQBEyd4flcIm3ZHqPHo=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
fehLvZBPQCdmMT+FlzK0FArqkV14XjJHcVzBii5BdSQ= bwA7CS8HsGN2trGn5aXSU+A/X0PG/bVmnhT/M1pNXos=
</data> </data>
</dict> </dict>
<key>Headers/SDL_gamecontroller.h</key> <key>Headers/SDL_gamecontroller.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
cfhsBlcRvEtWKc7G4aMmbPpicsw= v3dLCsjfEYMTkSJk1inStLgIdgo=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
+n9L1zsAncG84IBpXnfpWrr9WLtT6eQTKvlt/rRx+tQ= 83y/RY7fkiAfDHNHxWcb9lWurIzRmvq/hNk3vwzAAoM=
</data> </data>
</dict> </dict>
<key>Headers/SDL_gesture.h</key> <key>Headers/SDL_gesture.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
k6FmKGDCb8MxvktlmwuxDXu2jlM= Yoid0ard6LeUCjfyJZT3dKXQ9Z4=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
5H4fhbnWDvSKccD4QtHcQtYhsrgtktyFTyq9jghKZDI= oNgmPNACpXoTCqejZscd4u7EhMb68uvur4wJRtnk6mg=
</data> </data>
</dict> </dict>
<key>Headers/SDL_haptic.h</key> <key>Headers/SDL_haptic.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
M0Oo9dh3zLva6qpGJhBbgAxAIuY= uBRoWqexPy9bznz66e6U7T3BK1s=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
Nef5r8Bidx1FeTffn9+uzNZMlwxu1J37V4LOzOibxx4= oKMwzskYKVG3P5dBghdbFoYPUjBZVTV/J6bATIDA3Eo=
</data> </data>
</dict> </dict>
<key>Headers/SDL_hints.h</key> <key>Headers/SDL_hints.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
jwczm7PFpNtkpk+MVF5/nQLW3lk= Y7VSqYxvagfJ/LcXdw49dNy0jdQ=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
DspQuSafuzDVaWlSssNURH+EYXHSzkOPBmkGAazI2Vo= yBrr96jYaOpoX1i9R5BOdOrCU9ZX0YejzhvJY8tjKH8=
</data> </data>
</dict> </dict>
<key>Headers/SDL_joystick.h</key> <key>Headers/SDL_joystick.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
deLFMyhUMO8CeyYVlUw8yBlzhr0= 2mgG3DEdJFAwBdBaNb2QSxJ+1i4=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
9g7sjmJ50vOHOSM9pbbGUQq2AiqAnL0v1fxMPlP/6xo= YfeQgKW8YtcCIM9FHE1rgukr+Oz8eLilqDs0w3eLlvM=
</data> </data>
</dict> </dict>
<key>Headers/SDL_keyboard.h</key> <key>Headers/SDL_keyboard.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
zL/3QsZ9Q5lXfEVxiD71vhoLXws= a+BS1NPV6C1hI2XkNqAO8pkCK7o=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
HAzHtkjb1ZGuIJUpevIc93rNjwcGGcjqO0FWfkWuaJk= YrbmqtGNtLlVVZIrI/epYgszbxB7r1qN5NYdXiD1ra0=
</data> </data>
</dict> </dict>
<key>Headers/SDL_keycode.h</key> <key>Headers/SDL_keycode.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
ewKk66pjiNXqr4IUEygJVneU0Z0= 08TpEC2wER6rhjZeWOzHJGHzrw0=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
VWe104GsR/Yu3UNF98pUhJ59QWxv+Es2POzyWIepBiU= UgVGYelUtuuXFT8Wc0kXOsP0bbvScYswlaRbDXLeYPE=
</data> </data>
</dict> </dict>
<key>Headers/SDL_loadso.h</key> <key>Headers/SDL_loadso.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
2Aj/SejsqXO6a/ErCW5p18yDKbQ= lmuG8gz25J7p68260fMG2595cLU=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
bpcu/Ms5CE5EHVV1zXIfWghw8JM8qB2114xfsIUBPeE= 6VYyLzl2OG544HKGl9hLQzppensYqU8iGa+iiWz4clo=
</data> </data>
</dict> </dict>
<key>Headers/SDL_locale.h</key> <key>Headers/SDL_locale.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
JCF6SSXRcv6uAPICgwmTq+WsVZs= QuJLqhXH9adugjzs/kCVQj5kQvY=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
SYFN/L2S2pKTNZQe4dGUKTPTFXbqXZlZ3Vyl4y5wZ8s= 3SpJ0NKzd/WdpKKQ9q8a22lCkRz+HvwhO4XIyaYV/uU=
</data> </data>
</dict> </dict>
<key>Headers/SDL_log.h</key> <key>Headers/SDL_log.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
7SpCGEq3X7Q0HIVvx2AaEwJ2TpQ= ObKXKSy4RNu3whdteSlhrthqB8c=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
KQMlKJvr9iwGv4SPxdxqTy1N2qD8PdXpJRDzqeWfyik= p2LpsNReIb8qom6R5Uw0tBRhr3B8OzYKDzdb8KwDDBI=
</data> </data>
</dict> </dict>
<key>Headers/SDL_main.h</key> <key>Headers/SDL_main.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
EnOp5HYGYds7F5I/uLqUgy7fF/c= wvuZmRT4/USCZsYFKtcgUAudv4s=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
QaqVThHGxV6PsKTDebiZJDpgbADmloGsTbWTvQjR0j0= bTez5TFSQkp4e/yT+M96IxPwhzcogMVPCyVgQt9LoNE=
</data> </data>
</dict> </dict>
<key>Headers/SDL_messagebox.h</key> <key>Headers/SDL_messagebox.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
zn/jOYBCkj2DIH6U4XfR8yzrLmU= OEd+/9vUgeFdaJjzMslzOTK6DQ0=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
ckM8GPWpWflcu8Er5c+UaRSJaeVNPkCq5lkL628knWQ= Wq/kniGzwLXivUOM7IOAHL/hJ37K0S9JfaRLrQmy+xA=
</data> </data>
</dict> </dict>
<key>Headers/SDL_metal.h</key> <key>Headers/SDL_metal.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
S2Es8N4Cya7az5FTs0mqtd840zA= 4+NCJcrSGUIIHqUbrDRq2r/fw7A=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
9AgZbEiRMt0j2ui++nJaH+EXz9UF6LtVeljtZkAvvtY= 7qj9sDitEOiA+Bp6TnPJrWn7FUbNpNHKIU9aq4QkkLk=
</data> </data>
</dict> </dict>
<key>Headers/SDL_misc.h</key> <key>Headers/SDL_misc.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
lfv6FBriF6FMZ/f1IZWpmQGVgl8= hToyxNSFjRJl5e1+IeQDf/YkWtI=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
r4QO2p4KtTCZoipQ78v0Gt34pzm6GzLKdZq3E2gQopA= dMqYy+hdWSxDHSkASlRw0gQhSP2t+pMMBIgrr8+8UUI=
</data> </data>
</dict> </dict>
<key>Headers/SDL_mouse.h</key> <key>Headers/SDL_mouse.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
w5/iufa+EFt/CwnlQDBNfY0EIOM= evGnfshpNncsADHGLKiAiMGeNBg=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
oSyXWJ0Tl+F1vjTvW7NO51L/FkPz0EPwKhWfeU85RDc= zCbmSJzIdZrNzOIhWfPWuxAqaiOpMLC8yAh6w4IcubM=
</data> </data>
</dict> </dict>
<key>Headers/SDL_mutex.h</key> <key>Headers/SDL_mutex.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
uYPmGnAuhf8aS0WK/wsz5zuFgq8= de5PQM9snasMeBkpPoQAWuqX9Gc=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
TbQaD92P0h+3sNEpeYHg9W1DSj3Cu1rn3HIIgeeRDC4= bRjRo28JwXr7dD/j7iTwXPSN1zvnnQs1oyKDAApABN8=
</data> </data>
</dict> </dict>
<key>Headers/SDL_name.h</key> <key>Headers/SDL_name.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
o7IHLzBFJi6YI0JUKSqBf3tXnFk= 0HvLxBYQQtk7wc6fhKV8GKak0bI=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
OUT91iX17l3wqihn+MBCgwnTINkJP1hKZXwoY7STx2A= SEGMU9JT6Mb8M9/0YUh9mWmrB5qKLDXkdFVfUJEsr8k=
</data> </data>
</dict> </dict>
<key>Headers/SDL_opengl.h</key> <key>Headers/SDL_opengl.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
9EY0oD4XWAhLVuOBPHzoHFqI06s= uwnVFA4drG7Fk24RWefE3aSgdBU=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
I8ujmRRVkgcMwRAKoeQNtFJH1jfXFbc4Xw5dTUmTu4Q= 1n0BVfF+6lgJ/hrvp6R1e46STzWzx5tgbCA22DspNoY=
</data> </data>
</dict> </dict>
<key>Headers/SDL_opengl_glext.h</key> <key>Headers/SDL_opengl_glext.h</key>
@@ -410,22 +410,22 @@
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
tuFf0llJglK6NhT0uKRFga7kpwI= 1+h2kdTJu34MsWwgpjTvVYoubz8=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
T2Mxj7pRFzOEhQjRBEuRriOkBLZyUR3RxH2+tr3pfw8= MAu5WuH9K7Jj+zBksjLrT+tROjsnUobxsNI1yE/SeW4=
</data> </data>
</dict> </dict>
<key>Headers/SDL_opengles2.h</key> <key>Headers/SDL_opengles2.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
bKjKixGHZdD/ZbxhZ/bf0HYSr4Q= 8Y6DWw9z+26AHmj6uUgz9LpyUGw=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
RwQUrJUoPnyXZL7ipQaO/msfXWsJl6oz4nEXqYxIDaQ= /sd7hb3YEJNdm6wAFV2Wpo0aEpI2w/qoRS2gEaM10qo=
</data> </data>
</dict> </dict>
<key>Headers/SDL_opengles2_gl2.h</key> <key>Headers/SDL_opengles2_gl2.h</key>
@@ -476,231 +476,231 @@
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
dk4R8c81l+WVpQ9ueWDS2SGuXkA= nHf9SirykPlkF4Qq2IocqHMwchk=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
AQ9Th5IdVLO2XfkpMUuZAqxtYQXaQiiiHQVjTJyRq2g= nJR8fSzYd5xElrhq0V20EGq662rv2/XVXSnrlapXZMw=
</data> </data>
</dict> </dict>
<key>Headers/SDL_platform.h</key> <key>Headers/SDL_platform.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
F1dKHn7mrS1LHL5EWvDceH88BlQ= P3ywFdJcJ3sqewLBcOqYtyYZ5zs=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
pQWvI8MCgM9jQgib1xGFIRcG5Ow4LFXw0cm72TVsZLU= vMRy/5/ntZ2fkkoY4pt321wFYTgSDwdTsgyWWt+xcXM=
</data> </data>
</dict> </dict>
<key>Headers/SDL_power.h</key> <key>Headers/SDL_power.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
F7x/fhC0JjgEzuGHL3HUd6lmjgo= 3K+7bfCens8XmuOSFfXHy+/lyhc=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
mLELHEwrJOA0akrTAaWD+eYTQr30qgCz6J8K79sPDfk= 9ICCDELH2Ed9rlpJZeoB2rEu7yTN4dq09fR/st7Rzaw=
</data> </data>
</dict> </dict>
<key>Headers/SDL_quit.h</key> <key>Headers/SDL_quit.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
xnaczdwiGUtrE7DfF/Ww0eExnHI= XQQQtH9jbx8abQdutRGJP0cguHI=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
GdP8zK33YvNM/YlKy87Xgnx5JXBLr0H3nW1h6JvXvVc= MXrcuLRy7H8TBhWnJxqy7PgnxfGuP+O+IAnsNJYUeYI=
</data> </data>
</dict> </dict>
<key>Headers/SDL_rect.h</key> <key>Headers/SDL_rect.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
zulgqf81zT/r1TnfjE4Bblnw8es= LpnQn0xkbBfCpvYN0w1W3N0wgOY=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
r6T7NWbhl80Tz3Yhs4IjFY8ab68HQznrre/CjD58tsg= jGCMSSOpGaDki4qoOXQDucdALmP8RzMtBMzEUBeL4Tg=
</data> </data>
</dict> </dict>
<key>Headers/SDL_render.h</key> <key>Headers/SDL_render.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
PBsbXo13t7jqkHvTTeU5Sjnl13o= pL0tJ4b3SyxKSLPbQL7SKASDzyo=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
Rj56ND7YXV/1h1RH6X2Ho0fJ0ijPDTms6+Na43F0ueQ= cV02MkytdxcxkwEW20dpU6qlEh6br/XBFSu8qpIkdsI=
</data> </data>
</dict> </dict>
<key>Headers/SDL_revision.h</key> <key>Headers/SDL_revision.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
iU+5ESGi01zqZHfc1A01ki4Zn7M= ixjPDg2DQUEDn7ID2l4wMHDUvDk=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
gV6XVMtohzA/afDeM0m9gF5UKNeZuub0W7GgLf3Tde8= LUUZKxelLmuZXjHwFWFSYH8HA96Px1JVmtuv79n+gYY=
</data> </data>
</dict> </dict>
<key>Headers/SDL_rwops.h</key> <key>Headers/SDL_rwops.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
FWcGz9/xlaBkrR1vdvYvDibFPhg= gPdg9CLyA6caQw0TRjN7hOR3P9c=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
OWI95ONgZvdn/FBJfMHV1BQWKQjx5LBN7MYuXwAadgg= JbzZdvQjp0GK65Uxt7M8FKJFA3r/HckNBlbfcDVO9Vg=
</data> </data>
</dict> </dict>
<key>Headers/SDL_scancode.h</key> <key>Headers/SDL_scancode.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
p3l6Zx+1hXIgPI1IK/TbyP+NvBE= BR9njO+36nUhbXVDGT/wIiSmyoE=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
G+s/NXp1k6oacd5/WI6M5X2nyu7jiladTDBozZHXHiU= YkvjTqe1cQcJ3CA4NSaHNNQnowdi0+AtS6EITFlVu5w=
</data> </data>
</dict> </dict>
<key>Headers/SDL_sensor.h</key> <key>Headers/SDL_sensor.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
fWxFA0VH6Upp0rnLDNjYwdQoNo8= SOEs8j1MM6xz7BLPYEc02fjjbbE=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
g7kU4VylxQdFQFJ0q6E8IDlwjPXm9V+b6C0sl7nyHTM= cxPTev3K9ctekkcBFQs3Ti07ds7VSqyqjRm8a/Uw+Eo=
</data> </data>
</dict> </dict>
<key>Headers/SDL_shape.h</key> <key>Headers/SDL_shape.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
eWRcGWTs+v8d8uWHf5qeCwiChk8= wbVSAZU9CVx/r6Tdo6DzPEidSQU=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
RA86cs8Rlb7iFmYOgJ8dOHibudj6rQvHG3t4H8AGmmg= mXI9OgcZGGUQNN+C6yzO0ksGOJ8tkhpInWczWB6lEkU=
</data> </data>
</dict> </dict>
<key>Headers/SDL_stdinc.h</key> <key>Headers/SDL_stdinc.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
gQt/KOamYUdYNDOXy8DQl4d4g/Y= 8BND4MMxaq5H6YuCjeFCnrmcn+k=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
JflF60zLtw8xzJHCvaQupBJh0cX70rk5Ow9flHG1H7k= tRQ15156KgHNyphV7ZJcgOUPgdCyJO0w3JIE/ulShuw=
</data> </data>
</dict> </dict>
<key>Headers/SDL_surface.h</key> <key>Headers/SDL_surface.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
soHlBb+6gw5DX7D4eGnXPgMf9hs= d/GRmZzBQtmZnBMoZQAXm7B6ha4=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
Zpk6jryT2LeN31f2DNTqmLmCqsLW6VNL1Uh7HNGOwAI= EXE4VuWBAydUUGgmwGnVMgTzsnjAsz989EbAL6b4Dnw=
</data> </data>
</dict> </dict>
<key>Headers/SDL_system.h</key> <key>Headers/SDL_system.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
AeUGw4yk0HbPBoADm4adPJ9zhpQ= Z47HJw4GQ2OarNyHTgNpRoX8Rog=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
A1opmWFefAqbN5ZOZF+g6pVtvaHimbbPFEoIvB/nV1c= djnyElj4XgGuzv0Cb7s7m6xAdQoyMZvaCr97rlHzZmE=
</data> </data>
</dict> </dict>
<key>Headers/SDL_syswm.h</key> <key>Headers/SDL_syswm.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
P+DsBmujckIowwmwg/Jf22RguSo= tx2N4ZBojH9icPrioVFxJSC3PqU=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
OyDQPPG7RIPQKz2a1dz+Lye0HoqfZmfrn6onDHVr1ds= +euT3aTdjRQw3Mn13gwrNYGNyl9MJjWvVSxHqJuQGm0=
</data> </data>
</dict> </dict>
<key>Headers/SDL_thread.h</key> <key>Headers/SDL_thread.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
bN9PvUNyNE5PSLQzjdF4b38bzRY= D5G4LUX4q1wJmpTTPiTuBrE6lMA=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
MymOftu/SUBMl4mrBetXv06hTmexfmEwWFuvGoMdmT8= xLwsI0AKjHEU066Yc3e56p76+Btd1w2ZukC836MkmXw=
</data> </data>
</dict> </dict>
<key>Headers/SDL_timer.h</key> <key>Headers/SDL_timer.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
icT/5cwWcFOj43A1wkVVExHmQio= fQAqPyLQoocbu4e5y1LS26F2S7s=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
poSD+yuRd2GrSWDAUNErEclgiBH9EiZOZDh6ZfG/jcc= uO7Lc7V3+1qhX7/uspiGmc1bTPNMJ7DLoG9Tr0zGxmo=
</data> </data>
</dict> </dict>
<key>Headers/SDL_touch.h</key> <key>Headers/SDL_touch.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
vx/YxEp5RxhYVy9QzBys9OsXNYw= yZ05VZ0uIi8UVFmogN2ZJ9PIQFw=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
iZIc5xFKqFoIgFGx9P4jSSPNv75xIqEY5YhajqP3NHI= XLzZs80ks1GElyhScoqhdOhhwsKo+gs1Br99B5jPZlA=
</data> </data>
</dict> </dict>
<key>Headers/SDL_types.h</key> <key>Headers/SDL_types.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
wjAH9bIpA3v8KF3Z4fAg+gxHVN0= 1kwNWT8AEGlRutTtjdXBKXmu3W8=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
RHTRCiH25ASWePbdj2mbF0veuawIuAx9acJiEyEMwbw= 5gon+jmSul14lqvd6E1FqnGF5XqtThux2OZbB4tGcY8=
</data> </data>
</dict> </dict>
<key>Headers/SDL_version.h</key> <key>Headers/SDL_version.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
RSdRqJyF1tcOcqxUxRwdBTSOEY8= HDSpjbZplrIuvX2i6+4onoPlEOw=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
N1pAIZBW75CmWCZEignmSql74epXayoRYcUDCl+e8P0= bj2oig64kpZLOXbtKOGNX1E9Nc6TgUjGcmT5vZSVSmE=
</data> </data>
</dict> </dict>
<key>Headers/SDL_video.h</key> <key>Headers/SDL_video.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
hfCVsrcC7zpSyACVMur9HiR3hP8= XaU9UXABuYIUptiZfOk+phppMTc=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
ZsbVBgoJdTY1nJXyOHKv9ZN0R0gFTPSDh/f59ARpNqY= KVerRbWCWaJETVDMBrl642aDRpTWAF9k9ys/DlSOUU8=
</data> </data>
</dict> </dict>
<key>Headers/SDL_vulkan.h</key> <key>Headers/SDL_vulkan.h</key>
@@ -718,44 +718,44 @@
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
FIsc5DtgzxDC8gsUo9TXzt1xH7I= 3xUwaBaGVisXlRH2l1msEFlxCiY=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
BFECI+R+tzd3mfhBzGnocaBUwoRCqnuITqApxi6pc7E= ZJ6BXE9Mwhy8qa+RH5hPSGI0uS1wFefHYPemTQalX/s=
</data> </data>
</dict> </dict>
<key>Headers/close_code.h</key> <key>Headers/close_code.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
LZ9uO15BxDjNqjfxTGMOU163pcc= oc7GPSdH45BO+P4WzoKrFjAseXg=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
M7NAn877XVWs3eoezHmczklsolWIdXMneHoIHE9owzE= xKU9Y8NHTpwIk0CudiA5juPU1zAN28e5MEKNO8Kuers=
</data> </data>
</dict> </dict>
<key>Resources/Info.plist</key> <key>Resources/Info.plist</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
HzcsMReVY4hkAmRRhq33mT4RJKI= akVFnWoaAhBOlpXfxiwztLRw3FY=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
uxXlzWLUJvw0jtalQpV/AuYjmwBhNOdWqO8HCdMqAY4= x8nq97SfkUJzNl+76CJD2HYW8e0zq0aGw7/b2AaY8jU=
</data> </data>
</dict> </dict>
<key>Resources/License.txt</key> <key>Resources/License.txt</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
VILsZtXQ+SRYtfG2XJ8ZtkKItSU= s91T1Kwm3AMSbQtGQrmCGovO9hU=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
Y68o5ttLrQEravu8qDEelhBjWJJDm9cuZ33qP6cPjB4= Y1CgmkCNqrRO4L6QBkaOL0A3reSeBWGRk676hb4lOtI=
</data> </data>
</dict> </dict>
<key>Resources/ReadMe.txt</key> <key>Resources/ReadMe.txt</key>