Commit Graph

7520 Commits

Author SHA1 Message Date
Tomasz Pakuła
5bf8955b25 Use proper polar direction when creating FF_RUMBLE effect
Uses proper polar direction of 90 degrees. Previous value probably came from mistakenly using spherical system default.
2025-01-20 16:52:11 -08:00
Tomasz Pakuła
529ed102fc Translate conditional effect direction instead of hardcoding it to 0
Provious code wrongly assumed that direction is not an important part
of conditional effect. Moreover, if there's need to hardcode polar
direction, the default should be 0x4000 (north).

For one axis affects, a direction of 0 means complete lack of force, if
a FFB-enabled device takes direction into force calculation. A sine function
graph can be used to represent the resulting forces where X is the input
direction and Y is the force multiplier (360 degrees equals to 1).

This fixes conditional effect playback on Moza Racing devices, which do
not ignore direction field.
2025-01-20 16:52:11 -08:00
Sam Lantinga
4b19f7e012 Added support for the 8BitDo Ultimate 2C Wireless in Bluetooth mode
Closes https://github.com/libsdl-org/SDL/pull/11415

(cherry picked from commit c7d1fd90ea)
2025-01-18 07:07:12 -08:00
ROllerozxa
878ea48b60 Vita: Fix off-by-one error for synthetic mouse events
(cherry picked from commit cdc5483cf9)
2025-01-16 11:59:25 -08:00
Ozkan Sezer
ab8bd0ef86 fix emscripten builds 2025-01-16 18:50:00 +03:00
Sam Lantinga
9f25821ffd Fixed detection of function keys on Emscripten
Fixes https://github.com/libsdl-org/SDL/issues/11973

(cherry picked from commit 67382e9c83)
2025-01-16 07:32:38 -08:00
CasualPokePlayer
780ec8fac0 Set EGL surface for foreign X11 windows
Also slightly changes up the cleanup code for SetupWindowData, to avoid copy pasting.

See #10611
2025-01-16 10:20:25 -05:00
Sam Lantinga
91b76f5c29 Fixed potentially overlapping memcpy() to use memmove() 2025-01-14 14:34:29 -08:00
Frank Praznik
0efeb82a28 wayland: Only apply the toplevel bounds to resizable windows 2025-01-06 17:20:10 -05:00
Frank Praznik
e5a3fcd071 wayland: Apply toplevel bounds to windows
Apply the supplied xdg-toplevel bounds to resizable windows during initial mapping. Libdecor functionality will have to be added separately, as the functionality needs to be added to the library first.
2025-01-06 17:13:16 -05:00
Daniel Tang
db2997548c Let SDL_IM_MODULE=fcitx override Wayland as a workaround to fix key repetition detection (#11859) 2025-01-05 14:34:30 -08:00
Ryan C. Gordon
c9c991b559 test_fuzzer: Patched to compile on Visual Studio. 2025-01-04 01:02:10 -05:00
Ryan C. Gordon
20574c016a coreaudio: Workaround for crash when disconnecting a bluetooth audio device.
Our understanding of what's going on here might be incorrect, but it seems
like we're getting this callback at a point where we shouldn't be able to,
with a device we've already closed.

If we're on the wrong track, this code should still be harmless; it just
verifies a device is still in the open list before dereferencing it.

Reference Issue #10432.
2025-01-04 00:30:31 -05:00
Anonymous Maarten
1fa217434b Avoid undefined signed overflow in SDLTest_RandomIntegerInRange
Partial backport of efba42a67b
2025-01-04 01:07:40 +01:00
Joshua Root
6024c2731f prepare_audioqueue: legacy OS compatibility fix 2025-01-02 14:16:33 -08:00
Joshua Root
d58f026827 windowWillStartLiveResize: legacy OS compatibility fix 2025-01-02 14:16:33 -08:00
Joshua Root
ed0eb7714a showAlert: legacy OS compatibility fix 2025-01-02 14:16:33 -08:00
Anonymous Maarten
123b967a99 Port back nolibc SDL_strtol implementations from SDL3 to SDL2 2025-01-02 21:46:28 +01:00
Sam Lantinga
adb51845af Fixed N3DS_TOUCH_ID, 0 is an invalid touch ID 2025-01-01 09:06:23 -08:00
Sam Lantinga
5a25183b39 Revert "Backed out Vita touch ID change for SDL2"
This reverts commit a326ebce61.

It turns out that 0 is an invalid touch ID for SDL2, per the documentation for SDL_GetTouchDevice()
2025-01-01 09:03:24 -08:00
Sam Lantinga
a326ebce61 Backed out Vita touch ID change for SDL2
0 is still a valid touch ID in SDL2 and shouldn't be changed at this point
2025-01-01 08:24:31 -08:00
Sam Lantinga
2b5b8fdbd5 Updated copyright for 2025 2025-01-01 07:47:53 -08:00
Ryan C. Gordon
96b4535cc7 misc: Fixed typo in iOS error message. 2024-12-26 23:36:28 -05:00
Ryan C. Gordon
e55a23050e misc: Make SDL_OpenURL work with VisionOS, tvOS, etc.
(cherry picked from commit 7bbe6025be)
2024-12-26 23:36:06 -05:00
Ryan C. Gordon
c6e1806ba9 misc: Fix SDL_OpenURL on newer iOS releases.
Apparently as of iOS 18.2, the deprecated API we were using just refuses to
work at all.

Fixes #11728.

(cherry picked from commit ffed1c50c0)
2024-12-26 23:35:29 -05:00
Sam Lantinga
ddfdb0ca7b Don't overwrite non-CRC gamepad mapping with a new mapping that specifies a CRC
Fixes https://github.com/libsdl-org/SDL/issues/11723

(cherry picked from commit 1413bfb185)
2024-12-26 20:20:39 -08:00
Sam Lantinga
348bb53cc1 Corrected CoreAudio surround sound channel layouts
Fixes https://github.com/libsdl-org/SDL/issues/11709

(cherry picked from commit b2178857dc)
2024-12-24 15:10:35 -08:00
Blaž Tomažič
e79b0ce2e4 Use pthread_setname_np also on Android
Set thread name on Android the same way as we do on Linux.

Acording to Bionic source code this function is available since 2013 [1] and
hase the same signature.

[1] 2a1bb4e646
2024-12-24 07:40:04 -08:00
Sam Lantinga
884c8b684a Allow rendering during the modal resize loop on macOS
Fixes https://github.com/libsdl-org/SDL/issues/11508

(cherry picked from commit 9a43c08146)
2024-12-23 11:55:49 -08:00
Sam Lantinga
974098464f Enable high refresh rates on iOS
Fixes https://github.com/libsdl-org/SDL/issues/7518

(cherry picked from commit 835b6e0c1a)
2024-12-18 14:43:33 -08:00
Sam Lantinga
7f880c9121 Fixed crash if the controller product name is NULL
This happens when the Razer Synapse software emulates a controller with a keyboard

(cherry picked from commit 7117d545a3)
2024-12-17 16:54:55 -08:00
Ryan C. Gordon
ad93f50ee6 emscriptenaudio: Removed comment about Firefox not supporting userActivation.
It does now, and has since Firefox 120 (around November 2023).

(cherry picked from commit e0cee83a3a)
2024-12-12 10:52:49 -05:00
Sam Lantinga
9791069d78 Fixed Chinese locales on PSP (thanks @ccawley2011!)
(cherry picked from commit 962268ca21)
2024-12-10 14:48:14 -08:00
Frank Praznik
91bb1bb6fd wayland: Check the returned display value for null
In reality, this condition will never occur, since the index is checked before calling the display retrieval function, but aggressive LTO with jump threading can generate a warning if this isn't explicitly checked.
2024-12-03 11:53:14 -05:00
Sam Lantinga
e539135104 Fixed potential buffer overflow
(cherry picked from commit 6aab5a089d)
2024-12-03 08:34:34 -08:00
Christian Ehrhardt
8d00ca02f1 dynapi: order for a reproducible build
The objfiles of different builds show various differences in
the calls to SDL_DYNAPI_entry elements. This is generated
dynamically by gendynapi.pl which uses an unordered opendir/readdir
pair. To make the build reproducible and thereby e.g. debugging
easier change this to be used in an ordered fashion.

Fixes #11565.

(cherry picked from commit 5418740c4a)
2024-12-02 09:54:50 -08:00
staphen
a4ec0b1531 Fix order of events in case audio buffer size changes 2024-11-28 22:28:24 +03:00
Ivan Epifanov
6428cee892 Vita: implement mousewheel and buttons 4/5 2024-11-27 08:23:40 -08:00
Peter Seiderer
b64540dd66 DirectFB: fix DirectFB_SetTextureScaleMode() declaration
Fixes:

  src/video/directfb/SDL_DirectFB_render.c: In function ‘DirectFB_CreateRenderer’:
  src/video/directfb/SDL_DirectFB_render.c:1153:35: error: assignment to ‘void (*)(SDL_Renderer *, SDL_Texture *, SDL_ScaleMode)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
   1153 |     renderer->SetTextureScaleMode = DirectFB_SetTextureScaleMode;
        |                                   ^

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Notes:
  - declaration was just recently changed by commit 'Fix warning for Android
    NDK compiler: "function declaration without a prototype is deprecated in
    all versions of C [-Wstrict-prototypes]"', see
    ccade50587
2024-11-27 08:21:10 -08:00
Sam Lantinga
a5da9be5e6 Fixed build 2024-11-24 17:54:55 -08:00
Starbuck5
9f07ac8bba Speed up full-surface fills
(cherry picked from commit 7a3f5ef129)
2024-11-24 17:45:24 -08:00
Wouter Wijsman
f39c5cf989 PSP: Add locale support 2024-11-22 08:37:39 -08:00
jimtahu
d1af211010 Always Use Next Display Index
WIN_AddDisplay asserted that the returned index is the expected next
one in the list. This can be an unexpected number when displays are
add and removed in a batch (eg, Remote Desktop disconnect and reconnect).
Instead always just make use of the next index, even if it is not the
expected next index value. This fixes issue #9105

(cherry picked from commit bee8874629)
2024-11-15 14:35:55 -08:00
rsn8887
6dcf75710c SDL_vitatouch.c: re-enable front touch on Vita 2024-11-15 10:13:35 -08:00
Ryan C. Gordon
17b9ed7d82 audio: Favor OpenSL ES over AAudio.
There are low-latency fixes in SDL3 that really need to be backported to SDL2
before AAudio will be nicer across a range of devices, so OpenSL ES is safer
in SDL2 at the moment. At least, we suspect as such.

Fixes #11457.
2024-11-13 18:22:59 -05:00
Sam Lantinga
74ff82f4a2 Support multiple joystick buttons bound to the same gamepad button
(cherry picked from commit ed943318e2)
2024-11-05 11:50:18 -08:00
Sam Lantinga
3b7a45853c Fixed the PS5 controller face buttons on Amazon Fire TV, Android 11
(cherry picked from commit 09495059df)
2024-10-30 05:23:54 -07:00
Sam Lantinga
d2b9ecd281 Revert "aaudio: Set low-latency audio mode."
This reverts commit 1e016fd5ea.

In order to use low latency mode, you need to set low latency callbacks. This has always been recommended and is apparently required on Android 15. SDL3 has these implemented correctly but SDL2 does not, so we should revert this for now.

Fixes https://github.com/libsdl-org/SDL/issues/11376
2024-10-29 22:32:59 -07:00
Ryan C. Gordon
5b0e838a74 wasapi: Deal with device buffer sizes changing.
Otherwise, it would fill the previous size's worth of data into the current
size's buffer.

Fixes #11122.
2024-10-28 13:43:48 -04:00
Ryan C. Gordon
e5348c611d cocoa: Patched to compile. 2024-10-24 23:59:12 -04:00