src


Log

Author Commit Date CI Message
Sam Lantinga 17b43b0f 2022-10-08T09:32:09 Don't try to create a semaphore for the mutex implementation if threads are disabled Fixes https://github.com/libsdl-org/SDL/issues/6344
Sam Lantinga 33050fea 2022-10-07T11:29:49 Only open HID devices that might have a HIDAPI driver available This prevents an OS prompt for every connected device when running on Android
Nicolas Cian 484d5fd6 2022-10-05T13:19:38 audio open: ensure 2 devices don't get the same id
Sam Lantinga fc720321 2022-10-06T18:23:07 Fix rare deadlock when opening a HID controller on Android Fixes https://github.com/libsdl-org/SDL/issues/6347
Sam Lantinga 689409fd 2022-10-06T17:34:24 Fixed the start button on the Nimbus+ controller on tvOS Also updated mappings for Nintendo Switch controllers on tvOS, to reflect the lack of guide/menu button availability
Frank Praznik ea595800 2022-10-03T18:31:15 wayland: Set the damage buffer size when supported The preferred method for setting the damage region on compositor protocol versions 4 and above is to use wl_surface.damage_buffer. Use this when available and only fall back to wl_surface.damage on older versions. Bumps the highest supported version of wl_compositor to version 4.
Frank Praznik a8cb7bbe 2022-10-01T11:31:26 wayland: Add dedupe logic to window geometry configuration Adds deduplication logic to ConfigureWindowGeometry() to avoid setting redundant backbuffer, viewport and surface opaque region dimensions. State is now only set when the window and/or backbuffer dimensions change. This repurposes the viewport rect to always hold the actual size of the window, which can differ from the SDL size if things are being scaled. The SDL_Rect was removed in favor of two ints, as the x/y members of the struct were never used, so they just wasted space. Since the internal variables always have the true window size, the width/height getter functions are no longer required and can be removed.
Frank Praznik 914a65e0 2022-10-06T12:39:36 wayland: Don't unset min/max values when entering fullscreen via a compositor event If the compositor is entering fullscreen and hasn't removed any constraints itself, it's already too late at this point. Remove the unnecessary call. Restoring the limits when exiting fullscreen is still required, though, as they may have been removed when entering fullscreen via an SDL request.
Frank Praznik 69cf5fb0 2022-10-04T13:09:35 wayland: Remove surface type helpers These were remnants of a time before the surface type was explicitly stored, so they can be removed per the TODO note.
Frank Praznik c2b0c41c 2022-10-04T12:59:26 wayland: Set/unset the opaque regions on surfaces when transparency is toggled Caches the SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY hint at init time and registers a callback, which is fired when the hint is changed during runtime and toggles the opaque region for existing surfaces.
slime d2160c29 2022-10-05T21:42:26 iOS: implement SDL_GetWindowSizeInPixels.
Sam Lantinga ddc3de60 2022-10-05T16:24:05 Added mapping for PS5 controller over Bluetooth on Android 12 Tested on Pixel 3a
Sam Lantinga 81afb3e3 2022-10-05T16:18:09 Need to swap endianness when extracting the CRC from game controller mappings
Andrey Filipenkov 92c71ae3 2022-10-05T21:59:08 [iOS] respect initial status bar configuration when displaying the launch storyboard
Andrey Filipenkov 5b131364 2022-08-06T10:48:53 [UIKit] handle app lifecycle events in a custom object instead of AppDelegate removes the need to call SDL counterparts manually when custom AppDelegate is used
daniel e41942e8 2022-10-05T13:36:25 fix compilation error SDL_coreaudio mixing declarations and code
Sylvain fdef96e2 2022-10-04T12:08:09 Android: remove "nativeSetComposingText" since it's not used anymore (and it may fail registering at init if code is cleaned with proguard)
Sylvain eac3d6d3 2022-10-04T10:46:42 SDL_video.c: fix variable 'i' may be uninitialized when used here "_this->name = bootstrap[i]->name;"
David Gow ad29875e 2022-04-18T17:03:05 Wayland: Emulate mouse warp using relative mouse mode Several games (including Source and GoldSrc games, and Bioshock Infinite) attempt to "fake" relative mouse mode by repeatedly warping the cursor to the centre of the screen. Since mouse warping is not supported under Wayland, the viewport ends up "stuck" in a rectangular area. Detect this case (mouse warp while the cursor is not visible), and enable relative mouse mode, which tracks the cursor position independently, and so can Warp successfully. This is behind the SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP hint, which is enabled by default, unless the application enables relative mouse mode itself using SDL_SetRelativeMouseMode(SDL_TRUE). Note that there is a behavoural difference, in that relative mouse mode typically doesn't take mouse accelleration into account, but the repeated-warping technique does, so mouse movement can seem very slow with this (unless the game has its own mouse accelleration option, such as in Portal 2).
Sam Lantinga 9e3c4b9f 2022-10-03T17:50:01 Use the correct platform defines
Sam Lantinga 5291e5cb 2022-10-03T17:36:17 Added version checking to SDLActivity.java Make sure the SDL java and C code match when updating SDL in a game. Right now we're assuming that we only have to make sure release versions match. We can extend the version string with an interface version if we need more fine grained sanity checking. Fixes https://github.com/libsdl-org/SDL/issues/1540
Sam Lantinga 3607f831 2022-10-03T11:00:50 Find out if a controller is wireless using WGI (thanks @DJm00n!) Confirmed using an Xbox Series X controller over USB and Bluetooth Fixes https://github.com/libsdl-org/SDL/issues/6322
Ryan C. Gordon 321ca109 2022-10-03T12:00:38 opengles2: Texture names are GLuint, not GLenum.
Ryan C. Gordon 01c5554f 2022-10-03T11:57:10 opengles2: SDL_GL_BindTexture() should bind all YUV textures. This matches what the non-GLES OpenGL renderer does. Fixes #6070.
slime f8f562da 2022-10-02T22:55:49 iOS: remove dead pre-iOS 8 codepaths. SDL hasn't supported those older iOS versions for a little while now.
slime bbeacd72 2022-10-02T22:57:03 Fix some credit comments.
Sam Lantinga cf331ef3 2022-10-02T17:25:36 Fixed build
Sam Lantinga 64ea6cef 2022-10-02T17:17:31 SDL_ResetHint() no longer clears the callbacks associated with a hint Also added SDL_ResetHints() to reset all callbacks, and clarified that SDL_ClearHints() is just used for cleanup at shutdown. Fixes https://github.com/libsdl-org/SDL/issues/6313
Sam Lantinga bd6afc23 2022-10-02T10:15:39 Fixed sensor axes in vertical mode
Sam Lantinga b4c25f57 2022-10-02T09:51:05 Remapped the side button and trigger as paddles for the mini-gamepad mode of the Joy-Cons This is the only case where the mapping differs between right and left Joy-Cons in mini-gamepad mode. The left Joy-Con will have the left paddles and the right Joy-Con will have the right paddles. This facilitates co-op gameplay with individual actions while still using the normal mini-gamepad mode. The paddles are used for this because conceptually they are more awkward to hit than the normal controls and they are in roughly the correct hand position.
Sam Lantinga f58a6506 2022-10-02T09:50:27 Added paddle mapping for combined Joy-Cons
Sam Lantinga 37dfa262 2022-10-02T09:36:50 Added paddle mapping for combined Joy-Cons
Happy Harry 6c8bf3af 2022-10-03T00:19:34 Add vertical mode for Nintendo Joy-Con (#6303) * Added support for vertical mode for Joy-Con controllers * Added the hint SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS for switching to this mode * Added support for SL/SR buttons in combined/vertical mode and L/ZL/R/ZR buttons in mini-gamepad mode
Sam Lantinga 0672dc8d 2022-10-02T08:48:38 Fixed combined Joy-Cons after https://github.com/libsdl-org/SDL/commit/aa2e2f4843567cfe4e6f2f4ffa3f0b74dd98f1ba (thanks @happyharryh!)
Aaron Barany 5e654a4b 2022-10-01T16:10:46 Fixed Mac compile errors when OpenGL is disabled.
Sam Lantinga 28572702 2022-09-30T17:25:57 Properly backspace over text that was entered when autocorrect updates text with the iPhone on-screen keyboard
Ryan C. Gordon e6640ef2 2022-09-30T14:53:07 coreaudio: Possibly fixed another shutdown race condition. Reference Issue #6159.
Sam Clegg cfab203f 2022-09-29T07:36:14 emscripten: Remove use of EM_ASM from SDL_timer code. Instead use the native emscripten timer API. See https://github.com/emscripten-core/emscripten/issues/17941
Jarod Hillman 40893821 2022-09-29T10:33:07 coreaudio: Add support for SDL_GetDefaultAudioInfo (#6277) Co-authored-by: Ethan Lee <flibitijibibo@gmail.com> Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>
zll 69bbe4ce 2022-09-29T15:50:50 Fix memory leak in VITA_GXM_CreateRenderer
Frank Praznik e17f0c28 2022-09-27T10:59:28 wayland: Call the Wayland hide/show functions directly when changing decoration modes Calling SDL_HideWindow() to destroy the window is a NOP if the SDL_WINDOW_SHOWN flag was never set. Bypass it and call the Wayland-specific function directly to ensure that the window is always destroyed before switching from server-side to client-side decorations, even if it hasn't been shown yet. Likewise, call Wayland_ShowWindow() directly when the window isn't explicitly hidden to ensure that it is always recreated since the SDL_WINDOW_SHOWN flag won't be cleared, which, when set, renders SDL_ShowWindow() a NOP.
Ozkan Sezer 8bcbdc70 2022-09-28T17:40:10 hidapi, libusb: backport read_thread indefinite loop fix from mainstream Mainstream commit: https://github.com/libusb/hidapi/commit/5ce9051e2f2e65013485bc4c83897610df82f3c9
Ludovico de Nittis 379d4780 2022-09-28T10:25:24 dbus: guard against uninitialized D-Bus Before calling any D-Bus related methods we should first ensure that they were correctly loaded. In the event where `LoadDBUSLibrary()` was not able to load the D-Bus library, we should just return early, signalling with SDL_FALSE that we were unable to inhibit the Screensaver. Helps: https://github.com/ValveSoftware/steam-for-linux/issues/8815 Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
Eric Curtin 57b5c910 2022-09-28T12:38:32 kmsdrm: only negative devindex's are not allowed ad874536 removed an unnecessary limit as we *can* have a devindex greater than 99, this error message does not reflect the support for values greater than 99.
Ryan C. Gordon f6565c32 2022-09-28T09:27:45 coreaudio: Remove redundant variable.
Ryan C. Gordon 411582c7 2022-09-28T09:22:17 coreaudio: Don't crash on shutdown in a race condition. Fixed #6159.
Sam Lantinga bb74af1e 2022-09-28T00:01:54 Allow including SDL_uikit_main.c in Apple multi-platform builds This file just won't do anything on macOS
Ryan C. Gordon a2c57573 2022-09-01T10:47:24 video: check for "software" with SDL_HINT_FRAMEBUFFER_ACCELERATION. We check for this value elsewhere but not in SDL_CreateWindowFramebuffer.
Sam Lantinga 7becbd7d 2022-09-27T12:58:16 Add joystick locking for controller notifications on iOS/tvOS Fixes https://github.com/libsdl-org/SDL/issues/6288
Sam Lantinga 18eb319a 2022-09-27T12:34:03 Added sensor timestamp for Nintendo Switch controllers
Sam Lantinga 5e3a4030 2022-09-27T11:36:01 Added sensor timestamp for Steam Controllers
Ryan C. Gordon 57b20e7b 2022-09-27T14:23:42 cocoa: Fix new windows setting SDL_WINDOW_BORDERLESS flag incorrectly. Fixes #6172.
Ozkan Sezer 77c7836c 2022-09-27T20:21:24 fix vita build failure after commit 2c518747b
Sam Lantinga 2c518747 2022-09-27T09:56:02 Added microsecond timestamp to sensor values for PS4 and PS5 controllers using the HIDAPI driver
Sylvain d71df644 2022-09-27T10:21:15 Fixed bug #6287 - SDL_FillRect failed for SDL_Surface with BitsPerPixel == 4
Sam Lantinga 1e1be0b9 2022-09-26T23:00:58 Updated logic to match between PS4/PS5/Switch controllers
Sam Lantinga 8c40a6b0 2022-09-26T22:47:21 Drop PS5 Bluetooth reports that fail CRC check
Sam Lantinga db075ff3 2022-09-26T22:45:01 Removed unused variable
Sam Lantinga 2ccdd066 2022-09-26T22:32:57 Handle DS4 dongle controller connection and disconnection We also drop Bluetooth packets that fail the CRC check, as recommended by Sony
Sam Lantinga 18046b9a 2022-09-26T20:53:50 Fixed crash with a NULL serial number
Sam Lantinga 67fa6a93 2022-09-26T20:49:26 Don't wait a long time for zombie Bluetooth controllers If a Nintendo Switch Pro controller is turned off, it will leave the controller connected in Windows, but not responding to reports. Don't wait a really long time trying to get information from a controller in this state.
Sam Lantinga 67db8a91 2022-09-26T20:41:51 Wait for input before reconnecting a Bluetooth device On Windows, the Bluetooth device can remain in a connected state if the controller just shut down. It won't return any errors, but it also won't generate any input reports in this state, so wait until we know for sure that the Bluetooth controller is sending data before letting the application know it's available.
Cameron Gutman 71fb91f7 2022-09-26T21:38:09 evdev: Fix build with libudev and joystick subsystem disabled
Sam Lantinga 2cc91761 2022-09-26T18:52:26 Removed debug logging
Sam Lantinga 2c98c8af 2022-09-26T18:39:18 Use better default values for Switch controller calibration
Sam Lantinga a205c5e2 2022-09-26T18:18:16 Use separate extents for simple and advanced reports
Sam Lantinga 4e375996 2022-09-26T17:06:18 Added a hint to return the version in the old format Workaround for https://github.com/libsdl-org/SDL/issues/6177 for games that can't be updated.
Sam Lantinga b7fddb4c 2022-09-26T14:39:51 Minor tweaks
Sam Lantinga 39adcc0a 2022-09-26T14:20:34 Prefer USB input over Bluetooth for PS5/PS5/Switch controllers Nintendo Switch controllers will automatically turn off Bluetooth when connected over USB, but this takes care of that a little more quickly. PS4 and PS5 controllers will happily send reports over both Bluetooth and USB, so we'll prefer USB if connected and switch back to Bluetooth if USB is disconnected.
Sam Lantinga 17d7d03a 2022-09-26T08:12:35 Added detection of the joystick type for third party PS4 and PS5 controllers
Sam Lantinga 8d2cb155 2022-09-23T16:56:24 Added an entry for the ZEROPLUS P4 Wired Gamepad
Sam Lantinga cb063db6 2022-09-23T16:52:37 Moved XInputPS4 controllers into the PS4 controller section
Sam Lantinga 5b3b7e6e 2022-09-23T16:46:36 Separated PS4/PS5 effects support into individual capabilities
Sam Lantinga 33619aa2 2022-09-23T16:38:15 Added support for the ZEROPLUS P4 Wired Gamepad to the HIDAPI driver
Sam Lantinga e888c99f 2022-09-23T16:26:41 Fixed the entry for the Nacon PS4 Compact Controller
Sam Lantinga 56b91ea7 2022-09-23T15:27:40 Fixed feature detection for the Razer Raiju Tournament Edition controller
Sam Lantinga 4ea64fee 2022-09-23T15:28:32 Fixed manufacturer/product name deduplication for the Razer Raiju Tournament Edition controller
Frank Praznik 4a06cc0f 2022-09-22T13:03:09 wayland: Apply modifier changes to the text of repeated keys The text component of a repeated keystroke is initially set when a key is first pressed and the cached value remains static until the repeated key is released and another repeatable key is pressed. If the state of a modifier such as shift or capslock is changed while a key is being repeated, the text emitted will not have the modifier applied to it until the repeated key is released and pressed again. Update the text to be repeated by a key if a modifier is changed while a key is actively being repeated.
Frank Praznik 467c82c7 2022-09-23T12:31:40 wayland: Add mappings for the Escape and NumLock keys The XKB keysym to SDL keycode mappings were missing for the Escape and NumLock keys, which prevented them from being remapped. Add them to the table so that the remapping of these keys will work.
Sam Lantinga 34f928ab 2022-09-23T09:26:18 Generate the correct name for ASTRO Gaming controllers Manufacturer "ASTRO Gaming" and product "ASTRO C40" turns into "ASTRO C40"
Sam Lantinga 6ddef7c2 2022-09-23T09:20:27 Generate the correct name for Qanba and Mad Catz controllers
Sam Lantinga c2ae2ccc 2022-09-23T09:10:51 Added feature support for the Razer Raiju to the HIDAPI driver
UnknownShadow200 5ea9886b 2022-09-23T13:19:22 haiku: Fix when screen color depth was 24 bits, SDL_GetWindowSurface would always fail with 'Unknown pixel format' error Note that returning SDL_PIXELFORMAT_BGR24 instead of SDL_PIXELFORMAT_RGB24 seems necessary, otherwise when running with SDL_ACCELERATION=0, the red and blue channels of the window appeared swapped. Note that when running with acceleration enabled, red and blue channel swapping does not happen regardless of whether SDL_PIXEL_FORMAT_RGB24 or SDL_PIXEL_FORMAT_BGR24 is returned. For good measure, I also tested running with acceleration disabled in both 15 and 16 bit color depths, but red and blue channel swapping did not occur
Sam Lantinga 51fefd1c 2022-09-23T02:39:35 Added support for third party PS3 controllers to the HIDAPI driver
Sam Lantinga 5b4c10fc 2022-09-23T02:36:53 Return true from IsSupportedDevice if it's a device that we _might_ support This forces an update of the device list so we have the correct state when we check to see whether a device is being handled by HIDAPI
Sam Lantinga 1d34a524 2022-09-23T00:38:23 Fixed shadowed variable warning
Sam Lantinga 010d3e64 2022-09-23T00:36:46 Fixed function prototype mismatch
Sam Lantinga b7940c29 2022-09-23T00:15:40 Allow HIDAPI controllers to override the default joystick type
Sam Lantinga 899a1e7c 2022-09-22T23:54:26 Skip PS4/PS5 probe message if we already know it's a supported controller
Sam Lantinga fa2063fb 2022-09-22T23:42:25 Improved detection of third party PS4 and PS5 controllers
Sam Lantinga aa2e2f48 2022-09-22T18:22:17 Make sure HID devices can be opened before making them available to the application This prevents a number of issues where devices are enumerated but not actually able to be opened, like https://github.com/libsdl-org/SDL/issues/5781. We currently leave the devices open, allowing us to more easily do controller feature detection, protocol negotiation, detect dropped Bluetooth connections, etc. with the expectation that the application is likely to open the controllers shortly.
Sam Lantinga 2857e3c7 2022-09-22T15:53:32 Added an entry for the Mad Catz FightStick TE 2+ PS3
Sam Lantinga 6812f1b5 2022-09-22T15:16:34 Fixed the entry for the HORI Fighting Commander 4 in PS4 mode
Sam Lantinga 99e85cc2 2022-09-22T10:10:20 Accidentally reverted https://github.com/libsdl-org/SDL/commit/172865ff137532123ec06177119be163ba1811f5
Sam Lantinga 6cbdc666 2022-09-22T09:05:06 Fixed use of uninitialized 'size' variable (thanks @ozkan!)
Sam Lantinga 0c4594ac 2022-09-22T06:45:46 Improved PS4 and PS5 third-party controller feature detection
Frank Praznik 399cb2f0 2022-09-21T13:20:39 wayland: Only clear the key repeat flag when the repeated key is released If multiple keys were simultaneously depressed and one was being repeated, the repeat flag was being cleared when any of the pressed keys were released, even if the released key wasn't the one being repeated. This tracks the key currently being repeated and only clears the repeat flag when the particular key being repeated is released.
Sam Lantinga eb25f6c9 2022-09-21T14:22:38 Fixed Xbox platform name, courtesy of @walbourn
zhailiangliang 00b67f55 2022-09-21T10:30:38 Fix potential memory leak in GLES_CreateTexture
past-due 301912a5 2022-09-18T21:25:55 Fix: Use WIN_ClientPointToSDL for converting additional mouse coordinates