Commit Graph
100 Commits
Author SHA1 Message Date
Sam Lantinga 182a28b343 Fixed documentation typo 2024-06-16 08:01:16 -07:00
Sam Lantinga d1d484ddbe Added SDL_srand(), SDL_rand(), and SDL_rand_r() (thanks @JKaniarz!)
These are simple random functions that should not be used for serious random number generation.

Fixes https://github.com/libsdl-org/SDL/issues/4968
2024-06-16 07:41:00 -07:00
Sam Lantinga 9cb4bb92f6 Fixed parsing SDL_ANALYZER_NORETURN 2024-06-16 07:08:19 -07:00
Sam Lantinga cf2d8dac30 Reordered conditional for clarity 2024-06-16 06:25:41 -07:00
Sam Lantinga 51f90f308b Fixed spacing 2024-06-15 08:10:48 -07:00
Sam Lantinga e388e377aa audio: Refer to audio devices to "playback" and "recording" 2024-06-15 08:00:33 -07:00
Sam Lantinga 0635112119 Added SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE (thanks @lostgoat!) 2024-06-13 14:54:36 -07:00
Sam Lantinga 6821fb2fe4 Fixed the right trigger on the Nintendo SNES Controller in simple report mode 2024-06-13 11:35:29 -07:00
Sam Lantinga a3cc900157 Fixed Nintendo Switch triggers when in simple report mode 2024-06-13 11:25:27 -07:00
Sam Lantinga bf27269952 Re-enable full controller reports for Joy-Con controllers
When they are in simple report mode, the thumbstick gets turned into a digital hat, so let's use them in full report mode.
2024-06-12 23:36:16 -07:00
Sam Lantinga 6619de8f24 Try to guess the type of a Nintendo Switch controller if we can't read the device info 2024-06-12 23:22:44 -07:00
Sam Lantinga 5ee9a840b1 Ignore spurious reply packets when reading Nintendo Switch controller reports 2024-06-12 23:03:50 -07:00
Sam Lantinga fcd2a3a6ad Fixed mapping for Joy-Con controllers in simple report mode 2024-06-12 22:28:47 -07:00
Sam Lantinga 9f984e6fb4 testcontroller: fixed showing analog axis values 2024-06-12 22:27:54 -07:00
Sam Lantinga 80a907e0e6 Backed out the viewport and cliprect changes in 9fb5a9ccac
This ended up being lots of application code churn without any real benefit in practice.
2024-06-12 19:25:15 -07:00
Sam Lantinga b2ccfc0b6f Log whether a controller is Bluetooth or not 2024-06-12 17:22:52 -07:00
Sam Lantinga 3e70376bce Enabled HIDAPI debug logging for diagnostic purposes 2024-06-12 15:03:41 -07:00
Sam Lantinga 9fb5a9ccac Use floating point values for viewport, clip rectangle, and texture sizes
These are integer values internally, but the API has been changed to make it easier to mix other render code with querying those values.

Fixes https://github.com/libsdl-org/SDL/issues/7519
2024-06-12 10:18:39 -07:00
Sam Lantinga 463984ec20 Make sure the output settings match the camera device format 2024-06-11 20:43:28 -07:00
Sam Lantinga 876f10795f Don't set a YCbCr colorspace for an RGB texture
Fixes https://github.com/libsdl-org/SDL/issues/10006
2024-06-11 20:43:28 -07:00
Sam Lantinga 391a63f29f Check raw keyboard input in checkkeys 2024-06-11 09:09:30 -07:00
Sam Lantinga 66aac9aced Fixed channel order typo 2024-06-10 18:05:31 -07:00
Sam Lantinga ed5993d1cb Removed unused variable 2024-06-10 15:01:41 -07:00
Sam Lantinga 44f66b5c8b Show the cursor when relative mode is enabled and the app doesn't have focus
Testing:
* Run test/testwm
* Hit Ctrl-R to toggle relative mode
* Alt-tab away
* Move the mouse over testwm
* Note that the cursor is visible until testwm gains focus
2024-06-10 14:57:32 -07:00
Sam Lantinga 0cc61b27a2 SDL takes care of handling mouse relative mode on focus change 2024-06-10 14:57:32 -07:00
Sam Lantinga 4ce4fc575a Fixed mapping between Apple YUV formats and SDL formats
Fixes https://github.com/libsdl-org/SDL/issues/10001
2024-06-10 08:59:21 -07:00
Sam Lantinga 4fc68a48f2 Keep track of whether a controller was a gamepad
Fixes https://github.com/libsdl-org/SDL/issues/9996
2024-06-09 17:45:20 -07:00
Sam Lantinga 20fccdabf4 Fixed crashes when passed a NULL hashtable 2024-06-09 17:45:20 -07:00
Sam Lantinga 3e018517c3 Fixed build errors after SDL_IOWhence change 2024-06-09 11:52:04 -04:00
Sam Lantinga e69272344c Added documentation for SDL_FLT_EPSILON (thanks @MrOnlineCoder!)
Closes https://github.com/libsdl-org/sdlwiki/pull/549
2024-06-08 08:29:17 -07:00
Sam Lantinga 5701c4f4bc Added migration documentation for iOS window properties
Fixes https://github.com/libsdl-org/SDL/issues/9430
2024-06-06 10:59:15 -07:00
Sam Lantinga 1938d25b7e Use "%S" format specifier for wide-character strings 2024-06-06 10:59:15 -07:00
Sam Lantinga 2a8f87d34b Fixed build warnings 2024-06-06 10:59:15 -07:00
Sam Lantinga 23db1062fc Document that you can pass NULL to SDL_PeepEvents()
Fixes https://github.com/libsdl-org/sdlwiki/issues/547
2024-06-06 10:08:20 -07:00
Sam Lantinga b6d7adfec1 Fixed PlayStation detection interrupting input for the Logitech K400 keyboard
Also added the Logitech Chillstream to the list of PS3 controllers and fixed the right shoulder axis.
2024-06-05 19:11:10 -07:00
Sam Lantinga 27728db41d Sort joystick drivers in Android.mk 2024-06-05 12:08:29 -07:00
Sam Lantinga 69bfa5c951 Build the dummy joystick driver on Android
Fixes https://github.com/libsdl-org/SDL/issues/9978
2024-06-05 12:07:31 -07:00
Sam Lantinga 26fc7a8060 Fixed signatures for internal haptics functions 2024-06-05 10:09:02 -07:00
Sam Lantinga f879411627 Added support for gamepad rumble on Android
Tested with the DualSense controller over Bluetooth on Android 12

Fixes https://github.com/libsdl-org/SDL/issues/7847
2024-06-05 09:53:56 -07:00
Sam Lantinga 7b14fcb4d9 Stack allocation never happened, so explicitly allocate the path 2024-06-05 05:48:39 -07:00
Sam Lantinga 4836fd1e70 Fixed crash if a file can't be opened on Android 2024-06-05 05:48:21 -07:00
Sam Lantinga 9b2debb131 Renamed old function reference 2024-06-04 22:25:37 -07:00
Sam Lantinga ce65f84fd8 Fixed Android warnings 2024-06-04 16:38:32 -07:00
Sam Lantinga 4d392bfc67 Fixed camera capture on iOS
My phone captured 1920x1080 images even though the highest reported format was higher resolution, so I adjusted testcamera to be able to handle different sized images than expected.

Fixes https://github.com/libsdl-org/SDL/issues/9930
2024-06-04 11:34:39 -07:00
Sam Lantinga 7e231fcd90 Added testcamera to Xcode test apps 2024-06-04 10:43:45 -07:00
Sam Lantinga b1529699cf Fixed Xcode build after adding offscreen Vulkan support 2024-06-04 10:43:20 -07:00
Sam Lantinga 60396971ce Move the main header with SDL_MAIN_USE_CALLBACKS 2024-06-04 10:42:44 -07:00
Sam Lantinga 470cfc2755 Make sure we set the initial report interval value 2024-06-04 07:47:34 -07:00
Sam Lantinga a0d1445ccb Replaced SDL_GetRendererInfo() with SDL_GetRendererName()
The texture formats are available via the SDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER property

Fixes https://github.com/libsdl-org/SDL/issues/9851
2024-06-03 21:10:58 -07:00
Sam Lantinga 3e70964ae2 Updated docs to note that SDL_GetAudioDeviceName() now returns const char * 2024-06-03 17:42:53 -07:00
Sam Lantinga 1d83b782b8 Set the headphones to 50% volume to avoid blasting people's ears
Also fixed audio routing comments
2024-06-03 17:28:32 -07:00
Sam Lantinga 8aa7910184 Added an example of setting PS5 controller audio routing
Closes https://github.com/libsdl-org/SDL/pull/9661
2024-06-03 17:24:36 -07:00
Sam Lantinga a9a51cebde Disable raw keyboard input by default
It interferes with keyboard hooks and most applications don't expect key events coming from another thread
2024-06-03 14:43:46 -07:00
Sam Lantinga 73879ef26e Only register for the type of raw input requested by the application 2024-06-03 14:43:46 -07:00
Sam Lantinga 76e5aa5bfd Log any leaked objects at shutdown 2024-06-03 08:54:46 -07:00
Sam Lantinga b0e93e4e63 Prevent crashes if freed objects are passed to SDL API functions
Instead of using the magic tag in the object, we'll actually keep track of valid objects

Fixes https://github.com/libsdl-org/SDL/issues/9869
Fixes https://github.com/libsdl-org/SDL/issues/9235
2024-06-03 08:54:46 -07:00
Sam Lantinga 4c7459eda8 SDL_cocoawindow: Fix setting parent-relative coordinates for child windows in Cocoa_SetWindowSize 2024-05-31 15:29:19 -07:00
Sam Lantinga e3beaa1972 Added support for the Razer Kitsune in PS5 mode 2024-05-31 15:18:15 -07:00
Sam Lantinga cd9c25e800 Don't set the borderless flag if we're about to go fullscreen.
This prevents the GNOME window manager from moving the window to a different display before the window goes fullscreen.

Fixes https://github.com/libsdl-org/SDL/issues/9915
2024-05-31 11:35:18 -07:00
Sam Lantinga 90beffdeb1 Revert "WASAPI_WaitDevice: Check current padding before waiting on event"
This reverts commit 09fbb2a07d.

This was causing issues in CS2 and DOTA:
https://old.reddit.com/r/DotA2/comments/1d4bqe3/dota_2_sound_crackling_since_this_morning/
https://old.reddit.com/r/DotA2/comments/1d44udf/anyone_having_sound_issues_or_any_clue_how_to_fix/
2024-05-30 16:50:30 -07:00
Sam Lantinga fb2287dd47 Fixed updating NV12 and YV12 textures on the direct3d11 renderer
Fixes https://github.com/libsdl-org/SDL/issues/9928
2024-05-30 14:19:34 -07:00
Sam Lantinga 4954690828 Fixed warning C4244: '=': conversion from 'double' to 'float', possible loss of data 2024-05-30 07:44:00 -07:00
Sam Lantinga 690d73f5c9 Fixed warning C4244: 'initializing': conversion from 'WPARAM' to 'Uint32', possible loss of data 2024-05-30 07:42:35 -07:00
Sam Lantinga a801f81132 Revert "Fix flickering of window when using desktop-fullscreen and borderless window on multiple monitors on Linux. Closes #8186."
This reverts commit 2de2e9d031.

The fullscreen state is no longer available to check, and the actual bug this was trying to work around was fixed in https://github.com/libsdl-org/SDL/commit/ad813a65e791d295351e70b2d1c36b06f3853999
2024-05-29 14:15:59 -07:00
Sam Lantinga 652b34bd15 Added SDL_DumpProperties() for internal debugging 2024-05-29 10:30:31 -07:00
Sam Lantinga ae59afa7d0 Fixed building with ENABLE_SDL_CALL_LOGGING enabled 2024-05-29 10:30:31 -07:00
Sam Lantinga b1b4638cac Add basic vulkan support to offscreen video driver so it doesn't crash if you happen to get the offscreen driver and try to use vulkan.
Enable offscreen video driver in windows to make it easier to test.
Enable offscreen video driver in macos just to complete the desktop computer trio.
2024-05-28 20:02:55 -07:00
Sam Lantinga 542a3663de Added SDL_GetDefaultKeyFromScancode() to the public API
This is useful when getting the English name of a key for a non-Latin keyboard layout, for example.
2024-05-28 19:48:24 -07:00
Sam Lantinga d141827895 Fixed positioning a window with undefined position on a specific display 2024-05-28 12:06:48 -07:00
Sam Lantinga c74886ab00 Added SDL_SetWindowAspectRatio() and SDL_GetWindowAspectRatio()
Fixes https://github.com/libsdl-org/SDL/issues/1573
2024-05-28 11:52:31 -07:00
Sam Lantinga 36015ad5e5 Fixed compiling SDL_platform_defines.h on macOS with older compilers (thanks @sezero!)
Fixes #9632
2024-05-27 14:34:21 -07:00
Sam Lantinga dfe4445214 Added SDL_SetWindowSurfaceVSync() and SDL_GetWindowSurfaceVSync()
Fixes https://github.com/libsdl-org/SDL/issues/9347
2024-05-27 13:12:17 -07:00
Sam Lantinga 7d81e9d46c Note that you can redraw in response to SDL_EVENT_WINDOW_EXPOSED from an event watch callback 2024-05-27 08:06:13 -07:00
Sam Lantinga 14667cc0a3 Document that the timer callback can potentially be called before the timer returns. 2024-05-27 07:57:33 -07:00
Sam Lantinga aaa9bf9422 Added more error checking for SDL timer functions 2024-05-27 07:57:33 -07:00
Sam Lantinga 99599d9236 Added SDL_AddTimerNS() 2024-05-27 07:57:33 -07:00
Sam Lantinga b6360516e4 Added the timerID to the SDL timer callback
Fixes https://github.com/libsdl-org/SDL/issues/2593
2024-05-27 07:57:33 -07:00
Sam Lantinga a5b0041b4a Fixed SDL_strncmp() logic in portal dialog code
Also removed redundant calls to SDL_strlen()

Fixes https://github.com/libsdl-org/SDL/issues/9899
2024-05-27 07:46:58 -07:00
Sam Lantinga df25e4022d Removed short aliases for 16-bit pixel formats
These were potentially misleading in the same way the RGB888/BGR888 aliases were

Fixes https://github.com/libsdl-org/SDL/issues/4994
2024-05-27 07:24:46 -07:00
Sam Lantinga 606903c02f Updated window event names 2024-05-26 11:13:34 -07:00
Sam Lantinga 534768c7c5 Added SDL_PauseAudioStreamDevice() and SDL_ResumeAudioStreamDevice() 2024-05-26 13:21:23 -04:00
Sam Lantinga 7a043d9958 Note that SDL_BlitSurface() was renamed SDL_BlitSurfaceScaled() 2024-05-24 05:33:51 -07:00
Sam Lantinga 836e6c1531 Don't toggle modifier state for repeated keys (thanks @dalawren!)
Closes https://github.com/libsdl-org/SDL/pull/9387
2024-05-24 04:44:56 -07:00
Sam Lantinga 9259d532da isVRHeadset returns true for Pico headsets 2024-05-23 17:39:06 -07:00
Sam Lantinga 89caa88b73 Get the definition for SDL_PropertiesID in SDL_thread.h 2024-05-23 17:14:07 -07:00
Sam Lantinga a3ab46b707 Fixed mapping the touchpad for the Qanba PS5 controllers like the Qanba Drone 2 Arcade Joystick
These controllers are autodetected by the HIDAPI driver, so SDL_GetGamepadTypeFromGUID() should be used to pull the gamepad type out of the GUID.
2024-05-23 16:48:04 -07:00
Sam Lantinga 98a9ca5e32 Added Linux bindings for the Qanba Drone 2 Arcade Joystick 2024-05-23 15:34:38 -07:00
Sam Lantinga 2461bd8648 Removed unnecessary float casts 2024-05-23 15:12:19 -07:00
Sam Lantinga 6e081eb7dc Memory leak no more! 2024-05-23 11:26:59 -07:00
Sam Lantinga 156ca356b5 Free any temporary environment memory at SDL_Quit()
Fixes https://github.com/libsdl-org/SDL/issues/9860
2024-05-23 11:23:20 -07:00
Sam Lantinga f9260a8470 Added an entry for the 8Bitdo Ultimate Wired Controller 2024-05-20 16:44:45 -07:00
Sam Lantinga 5aecd40683 Try to center windows in the usable bounds if they fit
Fixes https://github.com/libsdl-org/SDL/issues/3480
2024-05-20 15:00:26 -07:00
Sam Lantinga 9d70f1b483 coccinelle doesn't support floating point constants 2024-05-18 16:36:29 -07:00
Sam Lantinga 6f2621438a Renamed DECLSPEC to SDL_DECLSPEC 2024-05-17 17:09:09 -07:00
Sam Lantinga 2cf32b0e0a Fixed warning: 'fA' may be used uninitialized in this function 2024-05-17 09:42:38 -07:00
Sam Lantinga 5c4b558c1c Dynamic API symbol cleanup 2024-05-16 23:18:41 -07:00
Sam Lantinga 7cddde32ac Removed SDL_SWSURFACE, added unsigned suffix for surface flags 2024-05-16 11:40:38 -07:00
Sam Lantinga c24f860c4d Fixed warning C4244: '=': conversion from 'int' to 'Uint8', possible loss of data 2024-05-16 11:28:02 -07:00
Sam Lantinga abfd0dc683 Added SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL 2024-05-16 11:23:29 -07:00
Sam Lantinga 730fa2c379 Re-sorted API functions 2024-05-16 10:22:15 -07:00