Commit graph

62 commits

Author SHA1 Message Date
Sam Lantinga 2fa2f9ff77 Greatly improved Nintendo Joy-Con support using the HIDAPI driver
* Added support for mini-gamepad mode for Joy-Con controllers, matching the mapping for hid-nintendo on Linux and iOS 16
* Added the ability to merge left and right Joy-Con controllers into a single Pro-style controller
* Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_COMBINE_JOY_CONS to control this merging functionality
* Removed the hint SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS
2022-07-28 19:22:27 -07:00
Anonymous Maarten 5da85376b9 stdlib: move all mslibc functions to SDL_mslibc.c
This allows disabling LTO on them by only specifying a single file.
2022-07-27 09:07:56 -07:00
Sam Lantinga b299cb3d3c Added a utility function to calculate the next power of 2 for a value 2022-07-17 08:31:16 -07:00
Cameron Gutman 6e712d2440 joystick: Add HIDAPI driver for NVIDIA SHIELD 2017 controller
Basic input already works using the OS HID driver, but this enables
force feedback and battery state reporting.
2022-07-10 10:53:26 -07:00
Sam Lantinga b004133f08 Updated to version 2.23.1 for pre-release checkpoint 2022-06-16 12:50:19 -07:00
Anonymous Maarten ae7446a959 stlib: Extract SDL_memcpy and SDL_memset to its own file respectively
This is done such that we can disable LTO for these 2 functions when
building with MSVC.

This is due to a limitation of Link Time Code Generation (LTCG).
Code generation might generate a new reference to memset after linking
has started. The LTCG must make assumptions about where memset is
defined which is normally the C runtime.
2022-06-15 14:17:35 -07:00
Christoph Reichenbach 3a20274ddf Refactoring: move GUID operations out of Joystick
- SDL_JoystickGUID -> SDL_GUID (though we retain a type alias)
- Operations for GUID <-> String ops are now in
  src/SDL_guid.c and include/SDL_guid.h
- The corresponding Joystick operations delegate to SDL_guid.c
- Added test/testguid.c
2022-06-04 17:22:13 -07:00
Ozkan Sezer 142a3630d3 updated watcom makefiles after 17410887d0 2022-06-04 01:10:00 +03:00
Ozkan Sezer 95f9c3cf0f Makefile.os2: add SDL_BUILD_???_VERSION defines to correct CFLAGS. 2022-05-06 18:56:24 +03:00
Simon McVittie cd7c2f1de7 Switch versioning scheme to be the same as GLib and Flatpak
For stable releases, this gives us the ability to make bugfix-only point
releases such as 2.24.1 if we want to, and distinguish between them
programmatically. For example, this ability could have been useful after
2.0.16 to fix Xwayland regressions, and after 2.0.18 to fix event loop
regressions.

For development releases, this gives us the ability to make multiple
prereleases during the same feature cycle, and distinguish between them
programmatically. For example, this would have been useful during 2.0.22
development, which went through three prereleases before reaching the
final release.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 09:55:35 -07:00
Simon McVittie 63814ec767 Add static assertions that the version number is consistent
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 09:55:35 -07:00
Sam Lantinga fa29e2d7f7 Updated to version 2.0.23 for development 2022-04-25 13:45:51 -07:00
Sam Lantinga 505d6a4a05 Update version to 2.0.22 for release 2022-04-08 18:18:56 -07:00
Ozkan Sezer 2823534fef minor adjustment to os/2 watcom makefile 2022-04-07 20:11:50 +03:00
Sylvain ad6bc521bd
Move SDL_List functions to SDL_list.c to avoid more merge with eventual PR 2022-04-01 07:59:16 +02:00
Ozkan Sezer 50575aa184 Makefile.os2: fixed setting OS2DEBUG in CFLAGS. 2022-03-10 18:50:10 +03:00
Ozkan Sezer 381520ad92 updates for watcom optimization flags 2022-01-18 14:32:24 +03:00
Sam Lantinga a0e3c884d4 Updated to version 2.0.21 for development 2022-01-17 15:32:27 -08:00
Ozkan Sezer f14c7bb443 added missing hidapi stuff for os/2 with libusb 2022-01-09 20:33:32 +03:00
Ozkan Sezer 836a4ec7b1 updates to os/2 build 2022-01-08 22:35:02 +03:00
Sam Lantinga 9294634840 Updated to version 2.0.20 for release 2022-01-07 18:29:40 -08:00
Ozkan Sezer 565ef63873 SDL_rwops.c: simplify foo <= 0 checks to !foo with unsigned types. 2022-01-04 11:40:04 +03:00
Ozkan Sezer 615f7b4453 more updates to os2 makefile for libiconv 2021-12-08 23:51:56 +03:00
Ozkan Sezer b6d40b29a9 minor update to os2 makefile. 2021-12-08 21:15:24 +03:00
Ozkan Sezer 70c5e91d0f os/2 optionally builds against libiconv. 2021-12-01 01:20:10 +03:00
Ozkan Sezer b20484e803 minor os/2 reorganization for iconv 2021-12-01 01:20:02 +03:00
Sam Lantinga 5fc901d4f3 Updated to version 2.0.19 for development 2021-11-30 09:58:21 -08:00
Sam Lantinga 7242075b2b Updated version to 2.0.18 for release 2021-11-26 08:12:45 -08:00
Ozkan Sezer 2a904aa1c9 os2: remove SDL_hidapi duplications in makefile, disable it in config. 2021-11-08 17:00:28 +03:00
Sam Lantinga 5b646cd19e Build hidapi code into SDL as a new public API
This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
2021-11-07 23:00:59 -08:00
Ozkan Sezer cd7ef24cba minor update to os2 makefile. 2021-10-04 00:32:56 +03:00
Sylvain 55277c67bb Update Makefiles OS2 and PSP 2021-08-19 00:10:59 +02:00
Sam Lantinga 3f6ebffff4 Updated to version 2.0.17 for development 2021-08-10 15:02:36 -07:00
Sam Lantinga cb1fd30e9a Updated to version 2.0.16 for release 2021-07-31 13:28:54 -07:00
Ozkan Sezer 6f0865fe42 updated os2 makefile. 2021-07-07 23:51:32 +03:00
Ozkan Sezer b5b7804ed4 minor update to os2 makefile. (binary output doesn't change.) 2021-05-15 00:50:20 +03:00
Ozkan Sezer 4a776557af old os2 analogue joystick code ported from SDL-1.2. disabled by default,
build-tested only.
2021-01-24 00:51:25 -05:00
Sam Lantinga 350f1b0d16 Updated SDL to version 2.0.15 for development 2020-12-22 10:36:15 -08:00
Sam Lantinga a2098a47b6 Updated SDL to 2.0.14 in preparation for release candidate 2020-12-08 18:56:06 -08:00
Ozkan Sezer 5610e5ae48 Makefile.os2: disable W303 (add -wcd=303 to CFLAGS)
newer OpenWatcom versions enable W303 by default.  without this, we get
multiple "Parameter '%s' has been defined, but not referenced" warnings.
2020-12-08 00:11:10 +03:00
Ozkan Sezer dfc24e05bc fix os/2 build 2020-11-17 02:39:56 +03:00
Ozkan Sezer e37a9385e2 Makefile.os2: remove duplicated OPTION QUIET directives from linker file 2020-10-19 04:33:03 +03:00
Ozkan Sezer 52b319fec9 minor update to os/2 config file and update.
binary (dll) output doesn't change.
2020-10-16 02:50:10 +03:00
Ozkan Sezer d27238751f os2: integrate the port into main tree. 2020-10-14 23:01:06 +03:00
Ozkan Sezer af06a60a9d Makefile.os2: remove some unnecessary stuff. 2020-10-13 00:33:56 +03:00
Ozkan Sezer 5d42ad9eab Makefile.os2: minor re-order. 2020-10-10 03:00:04 +03:00
Ozkan Sezer 05438b28e0 minor tidy-up to Makefile.os2 2020-10-09 04:28:00 +03:00
Ozkan Sezer 66d847bd5c url: Patched to compile on OS/2. 2020-10-05 21:30:00 +03:00
Ryan C. Gordon 3fe5ce7b9a url: Patched to compile on OS/2. 2020-10-05 14:08:45 -04:00
Ryan C. Gordon 7558d960b6 OS/2: Forgot to add locale source dir to makefile. 2020-05-18 20:18:34 -04:00