diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/Resources/Info.plist b/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/Resources/Info.plist index b88eab2e..0b9363c8 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/Resources/Info.plist +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 19G2021 + 19E287 CFBundleDevelopmentRegion English CFBundleExecutable @@ -27,17 +27,19 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 11E801a + 12C33 + DTPlatformName + macosx DTPlatformVersion - GM + 11.1 DTSDKBuild - 19G68 + 20C63 DTSDKName - macosx10.15 + macosx11.1 DTXcode - 1170 + 1230 DTXcodeBuild - 11E801a + 12C33 LSMinimumSystemVersion 10.6 diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/_CodeSignature/CodeResources b/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/_CodeSignature/CodeResources index 2e80b96e..af835382 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/_CodeSignature/CodeResources +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/_CodeSignature/CodeResources @@ -10,7 +10,7 @@ Resources/Info.plist - k9vWJij3RA8s13h/WkHnqVv977U= + tGFoM6QHKngffYbWA76aPn/ESNM= Resources/LICENSE-bsd.txt @@ -31,17 +31,6 @@ files2 - Headers/hidapi.h - - hash - - k64XAQ+3r97nmyIHwE8OT8womds= - - hash2 - - lVEZqQL+xakdQRDnxHo2VwkisMieptRP2Im3DPsMMAs= - - Resources/AUTHORS.txt hash @@ -57,11 +46,11 @@ hash - k9vWJij3RA8s13h/WkHnqVv977U= + tGFoM6QHKngffYbWA76aPn/ESNM= hash2 - WME8EBqUAByTxhCypUOOYXVJiElcUNSkBXR1bxH3n5Q= + fgTFYKM0llbznibqeBwDi/6Y3eVW0HtYW+1EdComD7E= Resources/LICENSE-bsd.txt diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi b/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi index f4a5dade..14324c9c 100755 Binary files a/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi and b/libs/mac/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi differ diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL.h index 9a8f580f..e2656caf 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL.h @@ -60,6 +60,7 @@ #include "SDL_version.h" #include "SDL_video.h" #include "SDL_locale.h" +#include "SDL_misc.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h index 42cba74f..4b45f165 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h @@ -125,6 +125,8 @@ #define HAVE_SQRTF 1 #define HAVE_TAN 1 #define HAVE_TANF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 #define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 #define HAVE_NANOSLEEP 1 @@ -144,6 +146,11 @@ #define SDL_JOYSTICK_VIRTUAL 1 #define SDL_HAPTIC_IOKIT 1 +/* The MFI controller support requires ARC Objective C runtime */ +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 && !defined(__i386__) +#define SDL_JOYSTICK_MFI 1 +#endif + /* Enable the dummy sensor driver */ #define SDL_SENSOR_DUMMY 1 @@ -196,7 +203,7 @@ #endif /* Metal only supported on 64-bit architectures with 10.11+ */ -#if TARGET_CPU_X86_64 && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100) +#if TARGET_RT_64_BIT && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100) #define SDL_PLATFORM_SUPPORTS_METAL 1 #else #define SDL_PLATFORM_SUPPORTS_METAL 0 diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_cpuinfo.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_cpuinfo.h index 56908d75..df3123c0 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_cpuinfo.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_cpuinfo.h @@ -271,7 +271,7 @@ extern DECLSPEC void * SDLCALL SDL_SIMDAlloc(const size_t len); * \sa SDL_SIMDAlloc * \sa SDL_SIMDFree */ -extern DECLSPEC void * SDLCALL SDL_SIMDRealloc(void *mem, size_t len); +extern DECLSPEC void * SDLCALL SDL_SIMDRealloc(void *mem, const size_t len); /** * \brief Deallocate memory obtained from SDL_SIMDAlloc diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_events.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_events.h index 74cbb4b5..ae560c08 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_events.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_events.h @@ -125,6 +125,10 @@ typedef enum SDL_CONTROLLERDEVICEADDED, /**< A new Game controller has been inserted into the system */ SDL_CONTROLLERDEVICEREMOVED, /**< An opened Game controller has been removed */ SDL_CONTROLLERDEVICEREMAPPED, /**< The controller mapping was updated */ + SDL_CONTROLLERTOUCHPADDOWN, /**< Game controller touchpad was touched */ + SDL_CONTROLLERTOUCHPADMOTION, /**< Game controller touchpad finger was moved */ + SDL_CONTROLLERTOUCHPADUP, /**< Game controller touchpad finger was lifted */ + SDL_CONTROLLERSENSORUPDATE, /**< Game controller sensor was updated */ /* Touch events */ SDL_FINGERDOWN = 0x700, @@ -415,6 +419,33 @@ typedef struct SDL_ControllerDeviceEvent Sint32 which; /**< The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event */ } SDL_ControllerDeviceEvent; +/** + * \brief Game controller touchpad event structure (event.ctouchpad.*) + */ +typedef struct SDL_ControllerTouchpadEvent +{ + Uint32 type; /**< ::SDL_CONTROLLERTOUCHPADDOWN or ::SDL_CONTROLLERTOUCHPADMOTION or ::SDL_CONTROLLERTOUCHPADUP */ + Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ + SDL_JoystickID which; /**< The joystick instance id */ + Sint32 touchpad; /**< The index of the touchpad */ + Sint32 finger; /**< The index of the finger on the touchpad */ + float x; /**< Normalized in the range 0...1 with 0 being on the left */ + float y; /**< Normalized in the range 0...1 with 0 being at the top */ + float pressure; /**< Normalized in the range 0...1 */ +} SDL_ControllerTouchpadEvent; + +/** + * \brief Game controller sensor event structure (event.csensor.*) + */ +typedef struct SDL_ControllerSensorEvent +{ + Uint32 type; /**< ::SDL_CONTROLLERSENSORUPDATE */ + Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ + SDL_JoystickID which; /**< The joystick instance id */ + Sint32 sensor; /**< The type of the sensor, one of the values of ::SDL_SensorType */ + float data[3]; /**< Up to 3 values from the sensor, as defined in SDL_sensor.h */ +} SDL_ControllerSensorEvent; + /** * \brief Audio device event structure (event.adevice.*) */ @@ -559,33 +590,35 @@ typedef struct SDL_SysWMEvent */ typedef union SDL_Event { - Uint32 type; /**< Event type, shared with all events */ - SDL_CommonEvent common; /**< Common event data */ - SDL_DisplayEvent display; /**< Display event data */ - SDL_WindowEvent window; /**< Window event data */ - SDL_KeyboardEvent key; /**< Keyboard event data */ - SDL_TextEditingEvent edit; /**< Text editing event data */ - SDL_TextInputEvent text; /**< Text input event data */ - SDL_MouseMotionEvent motion; /**< Mouse motion event data */ - SDL_MouseButtonEvent button; /**< Mouse button event data */ - SDL_MouseWheelEvent wheel; /**< Mouse wheel event data */ - SDL_JoyAxisEvent jaxis; /**< Joystick axis event data */ - SDL_JoyBallEvent jball; /**< Joystick ball event data */ - SDL_JoyHatEvent jhat; /**< Joystick hat event data */ - SDL_JoyButtonEvent jbutton; /**< Joystick button event data */ - SDL_JoyDeviceEvent jdevice; /**< Joystick device change event data */ - SDL_ControllerAxisEvent caxis; /**< Game Controller axis event data */ - SDL_ControllerButtonEvent cbutton; /**< Game Controller button event data */ - SDL_ControllerDeviceEvent cdevice; /**< Game Controller device event data */ - SDL_AudioDeviceEvent adevice; /**< Audio device event data */ - SDL_SensorEvent sensor; /**< Sensor event data */ - SDL_QuitEvent quit; /**< Quit request event data */ - SDL_UserEvent user; /**< Custom event data */ - SDL_SysWMEvent syswm; /**< System dependent window event data */ - SDL_TouchFingerEvent tfinger; /**< Touch finger event data */ - SDL_MultiGestureEvent mgesture; /**< Gesture event data */ - SDL_DollarGestureEvent dgesture; /**< Gesture event data */ - SDL_DropEvent drop; /**< Drag and drop event data */ + Uint32 type; /**< Event type, shared with all events */ + SDL_CommonEvent common; /**< Common event data */ + SDL_DisplayEvent display; /**< Display event data */ + SDL_WindowEvent window; /**< Window event data */ + SDL_KeyboardEvent key; /**< Keyboard event data */ + SDL_TextEditingEvent edit; /**< Text editing event data */ + SDL_TextInputEvent text; /**< Text input event data */ + SDL_MouseMotionEvent motion; /**< Mouse motion event data */ + SDL_MouseButtonEvent button; /**< Mouse button event data */ + SDL_MouseWheelEvent wheel; /**< Mouse wheel event data */ + SDL_JoyAxisEvent jaxis; /**< Joystick axis event data */ + SDL_JoyBallEvent jball; /**< Joystick ball event data */ + SDL_JoyHatEvent jhat; /**< Joystick hat event data */ + SDL_JoyButtonEvent jbutton; /**< Joystick button event data */ + SDL_JoyDeviceEvent jdevice; /**< Joystick device change event data */ + SDL_ControllerAxisEvent caxis; /**< Game Controller axis event data */ + SDL_ControllerButtonEvent cbutton; /**< Game Controller button event data */ + SDL_ControllerDeviceEvent cdevice; /**< Game Controller device event data */ + SDL_ControllerTouchpadEvent ctouchpad; /**< Game Controller touchpad event data */ + SDL_ControllerSensorEvent csensor; /**< Game Controller sensor event data */ + SDL_AudioDeviceEvent adevice; /**< Audio device event data */ + SDL_SensorEvent sensor; /**< Sensor event data */ + SDL_QuitEvent quit; /**< Quit request event data */ + SDL_UserEvent user; /**< Custom event data */ + SDL_SysWMEvent syswm; /**< System dependent window event data */ + SDL_TouchFingerEvent tfinger; /**< Touch finger event data */ + SDL_MultiGestureEvent mgesture; /**< Gesture event data */ + SDL_DollarGestureEvent dgesture; /**< Gesture event data */ + SDL_DropEvent drop; /**< Drag and drop event data */ /* This is necessary for ABI compatibility between Visual C++ and GCC Visual C++ will respect the push pack pragma and use 52 bytes for diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_gamecontroller.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_gamecontroller.h index 70008f74..e42433c9 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_gamecontroller.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_gamecontroller.h @@ -31,6 +31,7 @@ #include "SDL_stdinc.h" #include "SDL_error.h" #include "SDL_rwops.h" +#include "SDL_sensor.h" #include "SDL_joystick.h" #include "begin_code.h" @@ -65,7 +66,8 @@ typedef enum SDL_CONTROLLER_TYPE_PS3, SDL_CONTROLLER_TYPE_PS4, SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_PRO, - SDL_CONTROLLER_TYPE_VIRTUAL + SDL_CONTROLLER_TYPE_VIRTUAL, + SDL_CONTROLLER_TYPE_PS5 } SDL_GameControllerType; typedef enum @@ -171,7 +173,7 @@ extern DECLSPEC char * SDLCALL SDL_GameControllerMappingForGUID(SDL_JoystickGUID * * \return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available */ -extern DECLSPEC char * SDLCALL SDL_GameControllerMapping(SDL_GameController * gamecontroller); +extern DECLSPEC char * SDLCALL SDL_GameControllerMapping(SDL_GameController *gamecontroller); /** * Is the joystick on this index supported by the game controller interface? @@ -246,19 +248,26 @@ extern DECLSPEC void SDLCALL SDL_GameControllerSetPlayerIndex(SDL_GameController * Get the USB vendor ID of an opened controller, if available. * If the vendor ID isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetVendor(SDL_GameController * gamecontroller); +extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetVendor(SDL_GameController *gamecontroller); /** * Get the USB product ID of an opened controller, if available. * If the product ID isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProduct(SDL_GameController * gamecontroller); +extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProduct(SDL_GameController *gamecontroller); /** * Get the product version of an opened controller, if available. * If the product version isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProductVersion(SDL_GameController * gamecontroller); +extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProductVersion(SDL_GameController *gamecontroller); + +/** + * Get the serial number of an opened controller, if available. + * + * Returns the serial number of the controller, or NULL if it is not available. + */ +extern DECLSPEC const char * SDLCALL SDL_GameControllerGetSerial(SDL_GameController *gamecontroller); /** * Returns SDL_TRUE if the controller has been opened and currently connected, @@ -329,6 +338,12 @@ extern DECLSPEC SDL_GameControllerButtonBind SDLCALL SDL_GameControllerGetBindForAxis(SDL_GameController *gamecontroller, SDL_GameControllerAxis axis); +/** + * Return whether a game controller has a given axis + */ +extern DECLSPEC SDL_bool SDLCALL +SDL_GameControllerHasAxis(SDL_GameController *gamecontroller, SDL_GameControllerAxis axis); + /** * Get the current state of an axis control on a game controller. * @@ -338,8 +353,7 @@ SDL_GameControllerGetBindForAxis(SDL_GameController *gamecontroller, * The axis indices start at index 0. */ extern DECLSPEC Sint16 SDLCALL -SDL_GameControllerGetAxis(SDL_GameController *gamecontroller, - SDL_GameControllerAxis axis); +SDL_GameControllerGetAxis(SDL_GameController *gamecontroller, SDL_GameControllerAxis axis); /** * The list of buttons available from a controller @@ -362,6 +376,12 @@ typedef enum SDL_CONTROLLER_BUTTON_DPAD_DOWN, SDL_CONTROLLER_BUTTON_DPAD_LEFT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT, + SDL_CONTROLLER_BUTTON_MISC1, /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button */ + SDL_CONTROLLER_BUTTON_PADDLE1, /* Xbox Elite paddle P1 */ + SDL_CONTROLLER_BUTTON_PADDLE2, /* Xbox Elite paddle P3 */ + SDL_CONTROLLER_BUTTON_PADDLE3, /* Xbox Elite paddle P2 */ + SDL_CONTROLLER_BUTTON_PADDLE4, /* Xbox Elite paddle P4 */ + SDL_CONTROLLER_BUTTON_TOUCHPAD, /* PS4/PS5 touchpad button */ SDL_CONTROLLER_BUTTON_MAX } SDL_GameControllerButton; @@ -382,6 +402,11 @@ extern DECLSPEC SDL_GameControllerButtonBind SDLCALL SDL_GameControllerGetBindForButton(SDL_GameController *gamecontroller, SDL_GameControllerButton button); +/** + * Return whether a game controller has a given button + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerHasButton(SDL_GameController *gamecontroller, + SDL_GameControllerButton button); /** * Get the current state of a button on a game controller. @@ -392,7 +417,68 @@ extern DECLSPEC Uint8 SDLCALL SDL_GameControllerGetButton(SDL_GameController *ga SDL_GameControllerButton button); /** - * Trigger a rumble effect + * Get the number of touchpads on a game controller. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetNumTouchpads(SDL_GameController *gamecontroller); + +/** + * Get the number of supported simultaneous fingers on a touchpad on a game controller. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetNumTouchpadFingers(SDL_GameController *gamecontroller, int touchpad); + +/** + * Get the current state of a finger on a touchpad on a game controller. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetTouchpadFinger(SDL_GameController *gamecontroller, int touchpad, int finger, Uint8 *state, float *x, float *y, float *pressure); + +/** + * Return whether a game controller has a particular sensor. + * + * \param gamecontroller The controller to query + * \param type The type of sensor to query + * + * \return SDL_TRUE if the sensor exists, SDL_FALSE otherwise. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerHasSensor(SDL_GameController *gamecontroller, SDL_SensorType type); + +/** + * Set whether data reporting for a game controller sensor is enabled + * + * \param gamecontroller The controller to update + * \param type The type of sensor to enable/disable + * \param enabled Whether data reporting should be enabled + * + * \return 0 or -1 if an error occurred. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerSetSensorEnabled(SDL_GameController *gamecontroller, SDL_SensorType type, SDL_bool enabled); + +/** + * Query whether sensor data reporting is enabled for a game controller + * + * \param gamecontroller The controller to query + * \param type The type of sensor to query + * + * \return SDL_TRUE if the sensor is enabled, SDL_FALSE otherwise. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerIsSensorEnabled(SDL_GameController *gamecontroller, SDL_SensorType type); + +/** + * Get the current state of a game controller sensor. + * + * The number of values and interpretation of the data is sensor dependent. + * See SDL_sensor.h for the details for each type of sensor. + * + * \param gamecontroller The controller to query + * \param type The type of sensor to query + * \param data A pointer filled with the current sensor state + * \param num_values The number of values to write to data + * + * \return 0 or -1 if an error occurred. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorData(SDL_GameController *gamecontroller, SDL_SensorType type, float *data, int num_values); + +/** + * Start a rumble effect * Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling. * * \param gamecontroller The controller to vibrate @@ -400,10 +486,44 @@ extern DECLSPEC Uint8 SDLCALL SDL_GameControllerGetButton(SDL_GameController *ga * \param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF * \param duration_ms The duration of the rumble effect, in milliseconds * - * \return 0, or -1 if rumble isn't supported on this joystick + * \return 0, or -1 if rumble isn't supported on this controller */ extern DECLSPEC int SDLCALL SDL_GameControllerRumble(SDL_GameController *gamecontroller, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms); +/** + * Start a rumble effect in the game controller's triggers + * Each call to this function cancels any previous trigger rumble effect, and calling it with 0 intensity stops any rumbling. + * + * \param gamecontroller The controller to vibrate + * \param left_rumble The intensity of the left trigger rumble motor, from 0 to 0xFFFF + * \param right_rumble The intensity of the right trigger rumble motor, from 0 to 0xFFFF + * \param duration_ms The duration of the rumble effect, in milliseconds + * + * \return 0, or -1 if rumble isn't supported on this controller + */ +extern DECLSPEC int SDLCALL SDL_GameControllerRumbleTriggers(SDL_GameController *gamecontroller, Uint16 left_rumble, Uint16 right_rumble, Uint32 duration_ms); + +/** + * Return whether a controller has an LED + * + * \param gamecontroller The controller to query + * + * \return SDL_TRUE, or SDL_FALSE if this controller does not have a modifiable LED + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerHasLED(SDL_GameController *gamecontroller); + +/** + * Update a controller's LED color. + * + * \param gamecontroller The controller to update + * \param red The intensity of the red LED + * \param green The intensity of the green LED + * \param blue The intensity of the blue LED + * + * \return 0, or -1 if this controller does not have a modifiable LED + */ +extern DECLSPEC int SDLCALL SDL_GameControllerSetLED(SDL_GameController *gamecontroller, Uint8 red, Uint8 green, Uint8 blue); + /** * Close a controller previously opened with SDL_GameControllerOpen(). */ diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_hints.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_hints.h index 44db3c5e..50a5a089 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_hints.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_hints.h @@ -493,6 +493,7 @@ extern "C" { * XboxOne * PS3 * PS4 + * PS5 * SwitchPro * * This hint affects what driver is used, and must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER) @@ -603,6 +604,17 @@ extern "C" { */ #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. * @@ -697,15 +709,23 @@ extern "C" { #define SDL_HINT_JOYSTICK_RAWINPUT "SDL_JOYSTICK_RAWINPUT" /** - * \brief A variable controlling whether Linux joysticks adhere their HID-defined deadzones or return unfiltered values. - * This is useful for Wine which implements its own deadzone handler if requested by games, also it enables xinput - * games to receive unfiltered values as required from the API. + * \brief A variable controlling whether a separate thread should be used + * for handling joystick detection and raw input messages on Windows * * This variable can be set to the following values: - * "0" - Linux deadzones are not used by SDL - * "1" - Linux deadzones are used by SDL (the default) + * "0" - A separate thread is not used (the default) + * "1" - A separate thread is used for handling raw input messages * */ +#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD" + + /** + * \brief A variable controlling whether joysticks on Linux adhere to their HID-defined deadzones or return unfiltered values. + * + * This variable can be set to the following values: + * "0" - Return unfiltered joystick axis values (the default) + * "1" - Return axis values with deadzones taken into account + */ #define SDL_HINT_LINUX_JOYSTICK_DEADZONES "SDL_LINUX_JOYSTICK_DEADZONES" /** @@ -787,9 +807,32 @@ extern "C" { * * pthread hint values are "current", "other", "fifo" and "rr". * Currently no other platform hint values are defined but may be in the future. +* +* \note On Linux, the kernel may send SIGKILL to realtime tasks which exceed the distro +* configured execution budget for rtkit. This budget can be queried through RLIMIT_RTTIME +* after calling SDL_SetThreadPriority(). */ #define SDL_HINT_THREAD_PRIORITY_POLICY "SDL_THREAD_PRIORITY_POLICY" +/** + * \brief Specifies whether SDL_THREAD_PRIORITY_TIME_CRITICAL should be treated as realtime. + * + * On some platforms, like Linux, a realtime priority thread may be subject to restrictions + * that require special handling by the application. This hint exists to let SDL know that + * the app is prepared to handle said restrictions. + * + * On Linux, SDL will apply the following configuration to any thread that becomes realtime: + * * The SCHED_RESET_ON_FORK bit will be set on the scheduling policy, + * * An RLIMIT_RTTIME budget will be configured to the rtkit specified limit. + * * Exceeding this limit will result in the kernel sending SIGKILL to the app, + * * Refer to the man pages for more information. + * + * This variable can be set to the following values: + * "0" - default platform specific behaviour + * "1" - Force SDL_THREAD_PRIORITY_TIME_CRITICAL to a realtime scheduling policy + */ +#define SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL" + /** * \brief If set to 1, then do not allow high-DPI windows. ("Retina" on Mac and iOS) */ @@ -1028,6 +1071,18 @@ extern "C" { */ #define SDL_HINT_ANDROID_BLOCK_ON_PAUSE "SDL_ANDROID_BLOCK_ON_PAUSE" +/** + * \brief A variable to control whether SDL will pause audio in background + * (Requires SDL_ANDROID_BLOCK_ON_PAUSE as "Non blocking") + * + * The variable can be set to the following values: + * "0" - Non paused. + * "1" - Paused. (default) + * + * The value should be set before SDL is initialized. + */ +#define SDL_HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO "SDL_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO" + /** * \brief A variable to control whether the return key on the soft keyboard * should hide the soft keyboard on Android and iOS. @@ -1247,6 +1302,32 @@ extern "C" { #define SDL_HINT_RENDER_BATCHING "SDL_RENDER_BATCHING" +/** + * \brief A variable controlling whether SDL updates joystick state when getting input events + * + * This variable can be set to the following values: + * + * "0" - You'll call SDL_JoystickUpdate() manually + * "1" - SDL will automatically call SDL_JoystickUpdate() (default) + * + * This hint can be toggled on and off at runtime. + */ +#define SDL_HINT_AUTO_UPDATE_JOYSTICKS "SDL_AUTO_UPDATE_JOYSTICKS" + + +/** + * \brief A variable controlling whether SDL updates sensor state when getting input events + * + * This variable can be set to the following values: + * + * "0" - You'll call SDL_SensorUpdate() manually + * "1" - SDL will automatically call SDL_SensorUpdate() (default) + * + * This hint can be toggled on and off at runtime. + */ +#define SDL_HINT_AUTO_UPDATE_SENSORS "SDL_AUTO_UPDATE_SENSORS" + + /** * \brief A variable controlling whether SDL logs all events pushed onto its internal queue. * diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_joystick.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_joystick.h index b638d1cb..0bbeafe0 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_joystick.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_joystick.h @@ -105,6 +105,11 @@ typedef enum SDL_JOYSTICK_POWER_MAX } SDL_JoystickPowerLevel; +/* Set max recognized G-force from accelerometer + See src/joystick/uikit/SDL_sysjoystick.m for notes on why this is needed + */ +#define SDL_IPHONE_MAX_GFORCE 5.0 + /* Function prototypes */ @@ -230,55 +235,62 @@ extern DECLSPEC SDL_bool SDLCALL SDL_JoystickIsVirtual(int device_index); * * Returns 0 on success, -1 on error. */ -extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualAxis(SDL_Joystick * joystick, int axis, Sint16 value); -extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualButton(SDL_Joystick * joystick, int button, Uint8 value); -extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualHat(SDL_Joystick * joystick, int hat, Uint8 value); +extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualAxis(SDL_Joystick *joystick, int axis, Sint16 value); +extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualButton(SDL_Joystick *joystick, int button, Uint8 value); +extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualHat(SDL_Joystick *joystick, int hat, Uint8 value); /** * Return the name for this currently opened joystick. * If no name can be found, this function returns NULL. */ -extern DECLSPEC const char *SDLCALL SDL_JoystickName(SDL_Joystick * joystick); +extern DECLSPEC const char *SDLCALL SDL_JoystickName(SDL_Joystick *joystick); /** * Get the player index of an opened joystick, or -1 if it's not available * * For XInput controllers this returns the XInput user index. */ -extern DECLSPEC int SDLCALL SDL_JoystickGetPlayerIndex(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickGetPlayerIndex(SDL_Joystick *joystick); /** * Set the player index of an opened joystick */ -extern DECLSPEC void SDLCALL SDL_JoystickSetPlayerIndex(SDL_Joystick * joystick, int player_index); +extern DECLSPEC void SDLCALL SDL_JoystickSetPlayerIndex(SDL_Joystick *joystick, int player_index); /** * Return the GUID for this opened joystick */ -extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUID(SDL_Joystick * joystick); +extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUID(SDL_Joystick *joystick); /** * Get the USB vendor ID of an opened joystick, if available. * If the vendor ID isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetVendor(SDL_Joystick * joystick); +extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetVendor(SDL_Joystick *joystick); /** * Get the USB product ID of an opened joystick, if available. * If the product ID isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetProduct(SDL_Joystick * joystick); +extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetProduct(SDL_Joystick *joystick); /** * Get the product version of an opened joystick, if available. * If the product version isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetProductVersion(SDL_Joystick * joystick); +extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetProductVersion(SDL_Joystick *joystick); + +/** + * Get the serial number of an opened joystick, if available. + * + * Returns the serial number of the joystick, or NULL if it is not available. + */ +extern DECLSPEC const char * SDLCALL SDL_JoystickGetSerial(SDL_Joystick *joystick); /** * Get the type of an opened joystick. */ -extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetType(SDL_Joystick * joystick); +extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetType(SDL_Joystick *joystick); /** * Return a string representation for this guid. pszGUID must point to at least 33 bytes @@ -294,17 +306,17 @@ extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUIDFromString(const cha /** * Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not. */ -extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAttached(SDL_Joystick * joystick); +extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAttached(SDL_Joystick *joystick); /** * Get the instance ID of an opened joystick or -1 if the joystick is invalid. */ -extern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickInstanceID(SDL_Joystick * joystick); +extern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickInstanceID(SDL_Joystick *joystick); /** * Get the number of general axis controls on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick *joystick); /** * Get the number of trackballs on a joystick. @@ -312,17 +324,17 @@ extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick * joystick); * Joystick trackballs have only relative motion events associated * with them and their state cannot be polled. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick *joystick); /** * Get the number of POV hats on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick *joystick); /** * Get the number of buttons on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick *joystick); /** * Update the current state of the open joysticks. @@ -352,7 +364,7 @@ extern DECLSPEC int SDLCALL SDL_JoystickEventState(int state); * * The axis indices start at index 0. */ -extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick, +extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick *joystick, int axis); /** @@ -364,7 +376,7 @@ extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick, * * \return SDL_TRUE if this axis has any initial value, or SDL_FALSE if not. */ -extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAxisInitialState(SDL_Joystick * joystick, +extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAxisInitialState(SDL_Joystick *joystick, int axis, Sint16 *state); /** @@ -398,7 +410,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAxisInitialState(SDL_Joystick * * - ::SDL_HAT_LEFTUP * - ::SDL_HAT_LEFTDOWN */ -extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick * joystick, +extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick *joystick, int hat); /** @@ -408,7 +420,7 @@ extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick * joystick, * * The ball indices start at index 0. */ -extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick * joystick, +extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick *joystick, int ball, int *dx, int *dy); /** @@ -416,11 +428,11 @@ extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick * joystick, * * The button indices start at index 0. */ -extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick, +extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick *joystick, int button); /** - * Trigger a rumble effect + * Start a rumble effect * Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling. * * \param joystick The joystick to vibrate @@ -430,17 +442,51 @@ extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick, * * \return 0, or -1 if rumble isn't supported on this joystick */ -extern DECLSPEC int SDLCALL SDL_JoystickRumble(SDL_Joystick * joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms); +extern DECLSPEC int SDLCALL SDL_JoystickRumble(SDL_Joystick *joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms); + +/** + * Start a rumble effect in the joystick's triggers + * Each call to this function cancels any previous trigger rumble effect, and calling it with 0 intensity stops any rumbling. + * + * \param joystick The joystick to vibrate + * \param left_rumble The intensity of the left trigger rumble motor, from 0 to 0xFFFF + * \param right_rumble The intensity of the right trigger rumble motor, from 0 to 0xFFFF + * \param duration_ms The duration of the rumble effect, in milliseconds + * + * \return 0, or -1 if trigger rumble isn't supported on this joystick + */ +extern DECLSPEC int SDLCALL SDL_JoystickRumbleTriggers(SDL_Joystick *joystick, Uint16 left_rumble, Uint16 right_rumble, Uint32 duration_ms); + +/** + * Return whether a joystick has an LED + * + * \param joystick The joystick to query + * + * \return SDL_TRUE, or SDL_FALSE if this joystick does not have a modifiable LED + */ +extern DECLSPEC SDL_bool SDLCALL SDL_JoystickHasLED(SDL_Joystick *joystick); + +/** + * Update a joystick's LED color. + * + * \param joystick The joystick to update + * \param red The intensity of the red LED + * \param green The intensity of the green LED + * \param blue The intensity of the blue LED + * + * \return 0, or -1 if this joystick does not have a modifiable LED + */ +extern DECLSPEC int SDLCALL SDL_JoystickSetLED(SDL_Joystick *joystick, Uint8 red, Uint8 green, Uint8 blue); /** * Close a joystick previously opened with SDL_JoystickOpen(). */ -extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick * joystick); +extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick *joystick); /** * Return the battery level of this joystick */ -extern DECLSPEC SDL_JoystickPowerLevel SDLCALL SDL_JoystickCurrentPowerLevel(SDL_Joystick * joystick); +extern DECLSPEC SDL_JoystickPowerLevel SDLCALL SDL_JoystickCurrentPowerLevel(SDL_Joystick *joystick); /* Ends C function definitions when using C++ */ #ifdef __cplusplus diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_keycode.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_keycode.h index c1c1316d..6f6b65cb 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_keycode.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_keycode.h @@ -88,9 +88,11 @@ typedef enum SDLK_GREATER = '>', SDLK_QUESTION = '?', SDLK_AT = '@', + /* Skip uppercase letters */ + SDLK_LEFTBRACKET = '[', SDLK_BACKSLASH = '\\', SDLK_RIGHTBRACKET = ']', @@ -341,7 +343,7 @@ typedef enum KMOD_CTRL = KMOD_LCTRL | KMOD_RCTRL, KMOD_SHIFT = KMOD_LSHIFT | KMOD_RSHIFT, KMOD_ALT = KMOD_LALT | KMOD_RALT, - KMOD_GUI = KMOD_LGUI | KMOD_RGUI, + KMOD_GUI = KMOD_LGUI | KMOD_RGUI } SDL_Keymod; #endif /* SDL_keycode_h_ */ diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_misc.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_misc.h new file mode 100644 index 00000000..a04f19ba --- /dev/null +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_misc.h @@ -0,0 +1,75 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2020 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_misc.h + * + * \brief Include file for SDL API functions that don't fit elsewhere. + */ + +#ifndef SDL_misc_h_ +#define SDL_misc_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 Open an URL / URI in the browser or other + * + * Open a URL in a separate, system-provided application. How this works will + * vary wildly depending on the platform. This will likely launch what + * makes sense to handle a specific URL's protocol (a web browser for http://, + * etc), but it might also be able to launch file managers for directories + * and other things. + * + * What happens when you open a URL varies wildly as well: your game window + * may lose focus (and may or may not lose focus if your game was fullscreen + * or grabbing input at the time). On mobile devices, your app will likely + * move to the background or your process might be paused. Any given platform + * may or may not handle a given URL. + * + * If this is unimplemented (or simply unavailable) for a platform, this will + * fail with an error. A successful result does not mean the URL loaded, just + * that we launched something to handle it (or at least believe we did). + * + * All this to say: this function can be useful, but you should definitely + * test it on every platform you target. + * + * \param url A valid URL to open. + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_OpenURL(const char *url); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +} +#endif +#include "close_code.h" + +#endif /* SDL_misc_h_ */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_revision.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_revision.h index d70fd694..e0bcf431 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_revision.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_revision.h @@ -1,2 +1,2 @@ -#define SDL_REVISION "hg-0:aaaaaaaaaaah" -#define SDL_REVISION_NUMBER 0 +#define SDL_REVISION "hg-14525:e52d96ea04fc" +#define SDL_REVISION_NUMBER 14525 diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_sensor.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_sensor.h index 83abf1ee..e6236341 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_sensor.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_sensor.h @@ -78,14 +78,16 @@ typedef enum * Accelerometer sensor * * The accelerometer returns the current acceleration in SI meters per - * second squared. This includes gravity, so a device at rest will have - * an acceleration of SDL_STANDARD_GRAVITY straight down. + * second squared. This measurement includes the force of gravity, so + * a device at rest will have an value of SDL_STANDARD_GRAVITY away + * from the center of the earth. * * values[0]: Acceleration on the x axis * values[1]: Acceleration on the y axis * values[2]: Acceleration on the z axis * - * For phones held in portrait mode, the axes are defined as follows: + * For phones held in portrait mode and game controllers held in front of you, + * the axes are defined as follows: * -X ... +X : left ... right * -Y ... +Y : bottom ... top * -Z ... +Z : farther ... closer @@ -105,16 +107,17 @@ typedef enum * see positive rotation on that axis when it appeared to be rotating * counter-clockwise. * - * values[0]: Angular speed around the x axis - * values[1]: Angular speed around the y axis - * values[2]: Angular speed around the z axis + * values[0]: Angular speed around the x axis (pitch) + * values[1]: Angular speed around the y axis (yaw) + * values[2]: Angular speed around the z axis (roll) * - * For phones held in portrait mode, the axes are defined as follows: + * For phones held in portrait mode and game controllers held in front of you, + * the axes are defined as follows: * -X ... +X : left ... right * -Y ... +Y : bottom ... top * -Z ... +Z : farther ... closer * - * The axis data is not changed when the phone is rotated. + * The axis data is not changed when the phone or controller is rotated. * * \sa SDL_GetDisplayOrientation() */ diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_stdinc.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_stdinc.h index a79354c8..91ccaa45 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_stdinc.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_stdinc.h @@ -30,6 +30,12 @@ #include "SDL_config.h" +#ifdef __APPLE__ +#ifndef _DARWIN_C_SOURCE +#define _DARWIN_C_SOURCE 1 /* for memset_pattern4() */ +#endif +#endif + #ifdef HAVE_SYS_TYPES_H #include #endif @@ -413,6 +419,8 @@ extern DECLSPEC int SDLCALL SDL_islower(int x); extern DECLSPEC int SDLCALL SDL_toupper(int x); extern DECLSPEC int SDLCALL SDL_tolower(int x); +extern DECLSPEC Uint32 SDLCALL SDL_crc32(Uint32 crc, const void *data, size_t len); + extern DECLSPEC void *SDLCALL SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c, size_t len); #define SDL_zero(x) SDL_memset(&(x), 0, sizeof((x))) @@ -463,6 +471,8 @@ extern DECLSPEC wchar_t *SDLCALL SDL_wcsstr(const wchar_t *haystack, const wchar extern DECLSPEC int SDLCALL SDL_wcscmp(const wchar_t *str1, const wchar_t *str2); extern DECLSPEC int SDLCALL SDL_wcsncmp(const wchar_t *str1, const wchar_t *str2, size_t maxlen); +extern DECLSPEC int SDLCALL SDL_wcscasecmp(const wchar_t *str1, const wchar_t *str2); +extern DECLSPEC int SDLCALL SDL_wcsncasecmp(const wchar_t *str1, const wchar_t *str2, size_t len); extern DECLSPEC size_t SDLCALL SDL_strlen(const char *str); extern DECLSPEC size_t SDLCALL SDL_strlcpy(SDL_OUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen); diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_surface.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_surface.h index 0f11d178..d3f8c814 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_surface.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_surface.h @@ -80,7 +80,9 @@ typedef struct SDL_Surface /** information needed for surfaces requiring locks */ int locked; /**< Read-only */ - void *lock_data; /**< Read-only */ + + /** list of BlitMap that hold a reference to this surface */ + void *list_blitmap; /**< Private */ /** clipping information */ SDL_Rect clip_rect; /**< Read-only */ @@ -235,6 +237,13 @@ extern DECLSPEC int SDLCALL SDL_SaveBMP_RW extern DECLSPEC int SDLCALL SDL_SetSurfaceRLE(SDL_Surface * surface, int flag); +/** + * \brief Returns whether the surface is RLE enabled + * + * \return SDL_TRUE if the surface is RLE enabled, or SDL_FALSE if the surface is NULL or not RLE enabled + */ +extern DECLSPEC SDL_bool SDLCALL SDL_HasSurfaceRLE(SDL_Surface * surface); + /** * \brief Sets the color key (transparent pixel) in a blittable surface. * diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_system.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_system.h index 48878b7a..d296ab1f 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_system.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_system.h @@ -123,6 +123,7 @@ extern DECLSPEC void * SDLCALL SDL_AndroidGetActivity(void); /** \brief Return API level of the current device + API level 30: Android 11 API level 29: Android 10 API level 28: Android 9 API level 27: Android 8.1 diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_syswm.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_syswm.h index e877b2aa..f0e9675d 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_syswm.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_syswm.h @@ -106,6 +106,11 @@ typedef void *EGLSurface; #if defined(SDL_VIDEO_DRIVER_VIVANTE) #include "SDL_egl.h" #endif + +#if defined(SDL_VIDEO_DRIVER_OS2) +#define INCL_WIN +#include +#endif #endif /* SDL_PROTOTYPES_ONLY */ @@ -186,6 +191,16 @@ struct SDL_SysWMmsg int dummy; /* No Vivante window events yet */ } vivante; +#endif +#if defined(SDL_VIDEO_DRIVER_OS2) + struct + { + BOOL fFrame; /**< TRUE if hwnd is a frame window */ + HWND hwnd; /**< The window receiving the message */ + ULONG msg; /**< The message identifier */ + MPARAM mp1; /**< The first first message parameter */ + MPARAM mp2; /**< The second first message parameter */ + } os2; #endif /* Can't have an empty union */ int dummy; @@ -280,6 +295,14 @@ struct SDL_SysWMinfo } android; #endif +#if defined(SDL_VIDEO_DRIVER_OS2) + struct + { + HWND hwnd; /**< The window handle */ + HWND hwndFrame; /**< The frame window handle */ + } os2; +#endif + #if defined(SDL_VIDEO_DRIVER_VIVANTE) struct { diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_version.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_version.h index ec2cc8f6..23b65f43 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_version.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_version.h @@ -59,7 +59,7 @@ typedef struct SDL_version */ #define SDL_MAJOR_VERSION 2 #define SDL_MINOR_VERSION 0 -#define SDL_PATCHLEVEL 13 +#define SDL_PATCHLEVEL 14 /** * \brief Macro to determine SDL version program was compiled against. diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_video.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_video.h index c7411ca4..54cbe0f0 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_video.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/SDL_video.h @@ -175,7 +175,9 @@ typedef enum typedef enum { SDL_DISPLAYEVENT_NONE, /**< Never used */ - SDL_DISPLAYEVENT_ORIENTATION /**< Display orientation has changed to data1 */ + SDL_DISPLAYEVENT_ORIENTATION, /**< Display orientation has changed to data1 */ + SDL_DISPLAYEVENT_CONNECTED, /**< Display has been added to the system */ + SDL_DISPLAYEVENT_DISCONNECTED /**< Display has been removed from the system */ } SDL_DisplayEventID; typedef enum diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/begin_code.h b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/begin_code.h index 170d69ec..1ca40ccd 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/begin_code.h +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Headers/begin_code.h @@ -51,15 +51,11 @@ /* Some compilers use a special export keyword */ #ifndef DECLSPEC -# if defined(__WIN32__) || defined(__WINRT__) -# ifdef __BORLANDC__ -# ifdef BUILD_SDL -# define DECLSPEC -# else -# define DECLSPEC __declspec(dllimport) -# endif -# else +# if defined(__WIN32__) || defined(__WINRT__) || defined(__CYGWIN__) +# ifdef DLL_EXPORT # define DECLSPEC __declspec(dllexport) +# else +# define DECLSPEC # endif # elif defined(__OS2__) # ifdef BUILD_SDL diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Resources/Info.plist b/libs/mac/Frameworks/SDL2.framework/Versions/A/Resources/Info.plist index adca354e..1f12bfb5 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/Resources/Info.plist +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 19G2021 + 19E287 CFBundleDevelopmentRegion English CFBundleExecutable @@ -19,7 +19,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.0.13 + 2.0.14 CFBundleSignature SDLX CFBundleSupportedPlatforms @@ -27,21 +27,23 @@ MacOSX CFBundleVersion - 2.0.13 + 2.0.14 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 11E801a + 12C33 + DTPlatformName + macosx DTPlatformVersion - GM + 11.1 DTSDKBuild - 19G68 + 20C63 DTSDKName - macosx10.15 + macosx11.1 DTXcode - 1170 + 1230 DTXcodeBuild - 11E801a + 12C33 LSMinimumSystemVersion 10.6 diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/Resources/default.metallib b/libs/mac/Frameworks/SDL2.framework/Versions/A/Resources/default.metallib index 0ba49ca6..bab6b134 100644 Binary files a/libs/mac/Frameworks/SDL2.framework/Versions/A/Resources/default.metallib and b/libs/mac/Frameworks/SDL2.framework/Versions/A/Resources/default.metallib differ diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/SDL2 b/libs/mac/Frameworks/SDL2.framework/Versions/A/SDL2 index d6a65950..52c9539a 100755 Binary files a/libs/mac/Frameworks/SDL2.framework/Versions/A/SDL2 and b/libs/mac/Frameworks/SDL2.framework/Versions/A/SDL2 differ diff --git a/libs/mac/Frameworks/SDL2.framework/Versions/A/_CodeSignature/CodeResources b/libs/mac/Frameworks/SDL2.framework/Versions/A/_CodeSignature/CodeResources index 3f6db514..c83a407c 100644 --- a/libs/mac/Frameworks/SDL2.framework/Versions/A/_CodeSignature/CodeResources +++ b/libs/mac/Frameworks/SDL2.framework/Versions/A/_CodeSignature/CodeResources @@ -6,7 +6,7 @@ Resources/Info.plist - sh0oOLkdzcvMFVtkzp3NXS7VQh4= + HzcsMReVY4hkAmRRhq33mT4RJKI= Resources/License.txt @@ -18,7 +18,7 @@ Resources/default.metallib - awST523PmC36+lehlmfUr/pwZko= + 4BwgaOSOLU3sjhjYkfLYp8Bg0y0= files2 @@ -27,20 +27,20 @@ cdhash - pFEaabK4ZTzSRMngHXqK2k/a6tE= + N5FKSaB7CEeZTK1MpiD7f6uGGVA= requirement - cdhash H"41e662828193db1f141e133758d4455d73697c3d" or cdhash H"a4511a69b2b8653cd244c9e01d7a8ada4fdaead1" + 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 Headers/SDL.h hash - o3KVp4++KuUyoa+pJDOXTKG80xY= + hL2Z/I5g7jY5xbcFEk6Ga+GmxcM= hash2 - CLsLV07G2/+c6GGLTVZh91FNYojAHOsuglk/oCKmlso= + dALaYlcvTZd9nHYy4IFogyrazbSCCRfnK4kfYHGPqFc= Headers/SDL_assert.h @@ -124,11 +124,11 @@ hash - QtH3ik0NSNRHpmhEF9UXp74BkIE= + SHf9CRjVPeSLNjgX8CeWX+2/rsc= hash2 - ArsQ8ObexbULYFUntU/oRXI56JRbBzO5Ipma8ia5IME= + Dtby/5f29Me3435yhYtoV4qaQ3H+EsDpI5y4/pcdqJY= Headers/SDL_copying.h @@ -146,11 +146,11 @@ hash - YjRdjce9KUBEQg0r9+V22aY6/tU= + jOEMD49pYqDQfHy0/1TAdRrVxfE= hash2 - rOaeQwxwi97aliYs+g6rDQlSNO8BjTDD9tnx/2CcyjI= + /vC2r34hQj6+BZw4xJx8YzwMKL2petqQQgALn+fcGCE= Headers/SDL_endian.h @@ -179,11 +179,11 @@ hash - 06e1jUIsAc9O803iXrh2jmdbXuM= + ZbHbHB/Ul2errIm2JWrlpAdNRws= hash2 - 6pGmPxZapBntgteeWW4BRZnhLf1R4CvlFsk60Xd3BPs= + 8IArXBgjLvjES7thc1V43MvhO7Vb1LBLs6JOjsrlJh8= Headers/SDL_filesystem.h @@ -201,11 +201,11 @@ hash - 0HJHyRm5mXiBXHHSOwS3ml3dBiw= + cfhsBlcRvEtWKc7G4aMmbPpicsw= hash2 - ja5kK2zDvXkL3qllya6MfUZVQFnXs9bedZ6iFU1iXQc= + +n9L1zsAncG84IBpXnfpWrr9WLtT6eQTKvlt/rRx+tQ= Headers/SDL_gesture.h @@ -234,22 +234,22 @@ hash - /SzqZQDEmBA9aPLBuEQJLeHNGv4= + jwczm7PFpNtkpk+MVF5/nQLW3lk= hash2 - 17+Nv9lXJBOkimhfhtzZJcBqVKWf8z5tK/KQrvvU9xE= + DspQuSafuzDVaWlSssNURH+EYXHSzkOPBmkGAazI2Vo= Headers/SDL_joystick.h hash - +ypndKqqtIYkbkypVDCI+M9Ijo0= + deLFMyhUMO8CeyYVlUw8yBlzhr0= hash2 - foGA4Afxic1PHZfAmJcEZeuXYgDEo0jmSmoLQbNvmDo= + 9g7sjmJ50vOHOSM9pbbGUQq2AiqAnL0v1fxMPlP/6xo= Headers/SDL_keyboard.h @@ -267,11 +267,11 @@ hash - Fwnbxg/6DtHaQufmjH9Sx/zbF+A= + ewKk66pjiNXqr4IUEygJVneU0Z0= hash2 - m69IH60aX73QRefpJOur+rWzKRZJH9RF7P4LNUxti+g= + VWe104GsR/Yu3UNF98pUhJ59QWxv+Es2POzyWIepBiU= Headers/SDL_loadso.h @@ -340,6 +340,17 @@ 9AgZbEiRMt0j2ui++nJaH+EXz9UF6LtVeljtZkAvvtY= + Headers/SDL_misc.h + + hash + + lfv6FBriF6FMZ/f1IZWpmQGVgl8= + + hash2 + + r4QO2p4KtTCZoipQ78v0Gt34pzm6GzLKdZq3E2gQopA= + + Headers/SDL_mouse.h hash @@ -531,11 +542,11 @@ hash - ixjPDg2DQUEDn7ID2l4wMHDUvDk= + iU+5ESGi01zqZHfc1A01ki4Zn7M= hash2 - LUUZKxelLmuZXjHwFWFSYH8HA96Px1JVmtuv79n+gYY= + gV6XVMtohzA/afDeM0m9gF5UKNeZuub0W7GgLf3Tde8= Headers/SDL_rwops.h @@ -564,11 +575,11 @@ hash - zpUXcUDXo2KHtsqmAJ/EcqjkrtI= + fWxFA0VH6Upp0rnLDNjYwdQoNo8= hash2 - ihuAgJMoPj8J+z59LgqWXlOP/L+/WHkpw0Lwr/0VKT4= + g7kU4VylxQdFQFJ0q6E8IDlwjPXm9V+b6C0sl7nyHTM= Headers/SDL_shape.h @@ -586,44 +597,44 @@ hash - q9VYwFS+f9MaSiVwltDDrBpP8+o= + gQt/KOamYUdYNDOXy8DQl4d4g/Y= hash2 - hfUwgCUrzO8oRZglsZlgHLqCVGo4tlorFxvRjh+d/A8= + JflF60zLtw8xzJHCvaQupBJh0cX70rk5Ow9flHG1H7k= Headers/SDL_surface.h hash - NSvhegMe7ESmcxEgC8EuZ0sCyFU= + soHlBb+6gw5DX7D4eGnXPgMf9hs= hash2 - hdB72Dx/gaTq5sKpPDO+vN3gXHXsE7YxL8z2CoykY8o= + Zpk6jryT2LeN31f2DNTqmLmCqsLW6VNL1Uh7HNGOwAI= Headers/SDL_system.h hash - iiUlVUMHJLVYtZYy8fesmrBw71U= + AeUGw4yk0HbPBoADm4adPJ9zhpQ= hash2 - SmI4OODh0gdcy0WduqkDD+AGZI66vpEOgPEXc7JY3sM= + A1opmWFefAqbN5ZOZF+g6pVtvaHimbbPFEoIvB/nV1c= Headers/SDL_syswm.h hash - erik9ElULmnUObLiWoB7Acm7yxA= + P+DsBmujckIowwmwg/Jf22RguSo= hash2 - ibGK7TlbnYmiziw5PqTjpt2BBso8MswXLRDpkK5z6l0= + OyDQPPG7RIPQKz2a1dz+Lye0HoqfZmfrn6onDHVr1ds= Headers/SDL_thread.h @@ -674,22 +685,22 @@ hash - ydLaUjwmNbF0S0NRtGXglrG9zX4= + RSdRqJyF1tcOcqxUxRwdBTSOEY8= hash2 - OCqFkdoQNDv9puqvFib4mqoO1VwnzsQzA+5uv9vq8os= + N1pAIZBW75CmWCZEignmSql74epXayoRYcUDCl+e8P0= Headers/SDL_video.h hash - nVLRJIS/TH5qs8ZXy37QrPf0bHk= + hfCVsrcC7zpSyACVMur9HiR3hP8= hash2 - oR7PhH0ZoBVhpjvjVBxVU2zuyb9UsGg2CnARIJvBHt4= + ZsbVBgoJdTY1nJXyOHKv9ZN0R0gFTPSDh/f59ARpNqY= Headers/SDL_vulkan.h @@ -707,11 +718,11 @@ hash - X5W7FQnJRFgap/lN9Nfhm9SNYRE= + FIsc5DtgzxDC8gsUo9TXzt1xH7I= hash2 - hW/el0zmgHMXlKjkKTyoRPhoPu8ZQvpsljXvK9tXzPg= + BFECI+R+tzd3mfhBzGnocaBUwoRCqnuITqApxi6pc7E= Headers/close_code.h @@ -729,11 +740,11 @@ hash - sh0oOLkdzcvMFVtkzp3NXS7VQh4= + HzcsMReVY4hkAmRRhq33mT4RJKI= hash2 - RWZqKrfBsPmghlDP7CT9Jf6NcUep+mHS5mvZnMIuieY= + uxXlzWLUJvw0jtalQpV/AuYjmwBhNOdWqO8HCdMqAY4= Resources/License.txt @@ -762,11 +773,11 @@ hash - awST523PmC36+lehlmfUr/pwZko= + 4BwgaOSOLU3sjhjYkfLYp8Bg0y0= hash2 - +Foetj5EZqEAqjfkJcaUPc5XEgo/kcNG4bP0vzWuVHA= + bs9aWIr93QMzHkPmqydkE8toDd+BGAITxZX+AC17FSk=