include


Log

Author Commit Date CI Message
SDL Wiki Bot 393acf63 2022-10-25T18:07:13 Sync SDL wiki -> header
Steven Noonan b6e7c743 2022-08-25T20:21:03 SDL_cpuinfo: define __ARM_ARCH=8 for _M_ARM64 Microsoft's compiler doesn't define __ARM_ARCH, but we have several places that use it.
Simon McVittie 4ca5ea5b 2022-10-20T20:02:21 build: Add a mechanism to mark builds with vendor info Downstream distributors can use this to mark a version with their preferred version information, like a Linux distribution package version or the Steam revision it was built to be bundled into, or just to mark it with the vendor it was built by or the environment it's intended to be used in. For instance, in Debian I'd use this by configuring with: --enable-vendor-info="${DEB_VENDOR} ${DEB_VERSION}" to get a SDL_REVISION like: release-2.24.1-0-ga1d1946dc (Debian 2.24.1+dfsg-2) which gives a Debian user enough information to track down the patches and build-time configuration that were used for package revision 2. In Autotools and CMake, this is a configure-time option like any other, and will go into both SDL_REVISION (via SDL_revision.h) and SDL_GetRevision(). In other build systems (MSVC, Xcode, etc.), defining the SDL_VENDOR_INFO macro will get it into the output of SDL_GetRevision(), although not SDL_REVISION. Resolves: https://github.com/libsdl-org/SDL/issues/6418 Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 2dc788cb 2022-10-20T19:54:24 build: Expand version info in SDL_REVISION and SDL_GetRevision() Instead of using a URL and git sha1, this uses `git describe` to describe the version relative to the nearest previous git tag, which gives a better indication of whether this is a release, a prerelease, a slightly patched prerelease, or a long way after the last release during active development. This serves two purposes: it makes those APIs more informative, and it also puts this information into the binary in a form that is easy to screen-scrape using strings(1). For instance, if the bundled version of SDL in a game has this, we can see at a glance what version it is. It's also shorter than using the web address of the origin git repository and the full git commit sha1. Also write the computed version into a file ./VERSION in `make dist` tarballs, so that when we build from a tarball on a system that doesn't have git available, we still get the version details. For the Perforce code path in showrev.sh, output the version number followed by the Perforce revision, in a format reminiscent of `git describe` (with p instead of g to indicate Perforce). For the code path with no VCS available at all, put a suffix on the version number to indicate that this is just a guess (we can't know whether this SDL version is actually a git snapshot or has been patched locally or similar). Resolves: https://github.com/libsdl-org/SDL/issues/6418 Signed-off-by: Simon McVittie <smcv@collabora.com>
Sam Lantinga c6e89619 2022-10-19T08:05:47 Define _USE_MATH_DEFINES for Visual Studio (thanks @pionere!) Fixes https://github.com/libsdl-org/SDL/issues/3790
Sam Lantinga 0bc852ce 2022-10-17T17:43:06 Revert "Disable the RAWINPUT joystick driver by default" Disabling RAWINPUT on Windows 10 causes these issues: * All Xbox controllers are named "XInput Controller". * Trigger rumble no longer works. * "XInput Controllers" are now also listed as separate haptic devices
Sam Lantinga 47ba997f 2022-10-17T07:39:52 Disable the RAWINPUT joystick driver by default It's only needed to support more than 4 Xbox controllers, and adds significant complexity to the joystick processing, and we regularly get bugs from people who aren't using an SDL window who need to turn on SDL_HINT_JOYSTICK_THREAD.
Brad Smith f4e3af15 2022-10-17T07:23:40 Simplify OSS test by removing OpenBSD specific location of the soundcard.h header OpenBSD has long since stopped using OSS. Remove checking for OpenBSD specific header.
Daniel Bomar 22461383 2022-10-15T15:54:12 SDL_audiocvt: Respct the SDL_HINT_AUDIO_RESAMPLING_MODE hint This implements using libsamplerate for the SDL_AudioCVT API. This library was already being used for audio streams when this hint is set.
Sam Lantinga 6bb0c2a5 2022-10-14T06:33:38 Added documentation for some scancodes
Sam Lantinga 99f2a503 2022-10-13T22:40:24 X11 scancode mapping cleanup * Consolidated scancode mapping tables into a single location for all backends * Verified that the xfree86_scancode_table2 is largely identical to the Linux scancode table * Updated the Linux scancode table with the latest kernel keycodes (still unmapped) * Route X11 keysym -> scancode mapping through the linux scancode table (which a few hand-written exceptions), which will allow mappings to automatically get picked up as they are added in the Linux scancode table * Disabled verbose reporting of missing keysym mappings, we have enough data for now
Pierre Wendling 392f3882 2022-09-20T22:45:24 N3DS: Use SDL_Sensor instead of Joystick sensors.
Pierre Wendling f9785702 2022-09-18T13:22:07 N3DS: Deduce screen from window's display. This removes the need for a dedicated window creation flag.
Pierre Wendling 65527537 2021-03-30T04:32:39 N3DS port (squashed) A dedicated renderer using Citro3D would likely allow for better much better graphical performances.
Sam Lantinga efdb390c 2022-10-09T09:11:33 Disable the HIDAPI Wii driver by default as it doesn't work with the dolphinbar
SDL Wiki Bot 9df1af35 2022-10-09T15:44:07 Sync SDL wiki -> header
Sam Lantinga b18c361b 2022-10-08T13:18:00 Updated variable name for mouse coordinates in mouse wheel events
Sam Lantinga 4f318c90 2022-10-08T12:01:42 Add cursor position to mouse wheel event (thanks @meyraud705!) Fixes https://github.com/libsdl-org/SDL/pull/6351
Kamil Ševeček 31991ab8 2022-10-07T15:45:28 Fix \sa to a valid function in SDL_metal.h.
SDL Wiki Bot 4ca86dae 2022-10-05T23:26:14 Sync SDL wiki -> header
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).
SDL Wiki Bot 34b28002 2022-10-03T00:20:15 Sync SDL wiki -> header
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
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
SDL Wiki Bot 36e76701 2022-09-27T16:57:17 Sync SDL wiki -> header
Sam Lantinga 2c518747 2022-09-27T09:56:02 Added microsecond timestamp to sensor values for PS4 and PS5 controllers using the HIDAPI driver
Sam Lantinga 61201e06 2022-09-15T06:17:49 Removed obsolete extension definitions Fixes https://github.com/libsdl-org/SDL/issues/6231
Ozkan Sezer 6dec78ed 2022-09-15T11:55:04 fix permissions of SDL_opengl_glext.h
SDL Wiki Bot c49faabb 2022-09-14T16:29:16 Sync SDL wiki -> header
DS ac5b9bc4 2022-09-14T18:28:35 Add support for X11 primary selection (#6132) X11 has a so-called primary selection, which you can use by marking text and middle-clicking elsewhere to copy the marked text. There are 3 new API functions in `SDL_clipboard.h`, which work exactly like their clipboard equivalents. ## Test Instructions * Run the tests (just a copy of the clipboard tests): `$ ./test/testautomation --filter Clipboard` * Build and run this small application: <details> ```C #include <SDL.h> #include <unistd.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <time.h> void print_error(const char *where) { const char *errstr = SDL_GetError(); if (errstr == NULL || errstr[0] == '\0') return; fprintf(stderr, "SDL Error after '%s': %s\n", where, errstr); SDL_ClearError(); } int main() { char text_buf[256]; srand(time(NULL)); SDL_Init(SDL_INIT_VIDEO); print_error("SDL_INIT()"); SDL_Window *window = SDL_CreateWindow("Primary Selection Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 400, 400, SDL_WINDOW_SHOWN); print_error("SDL_CreateWindow()"); SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); print_error("SDL_CreateRenderer()"); bool quit = false; unsigned int do_render = 0; while (!quit) { SDL_Event event; while (SDL_PollEvent(&event)) { print_error("SDL_PollEvent()"); switch (event.type) { case SDL_QUIT: { quit = true; break; } case SDL_KEYDOWN: { switch (event.key.keysym.sym) { case SDLK_ESCAPE: case SDLK_q: quit = true; break; case SDLK_c: snprintf(text_buf, sizeof(text_buf), "foo%d", rand()); SDL_SetClipboardText(text_buf); print_error("SDL_SetClipboardText()"); printf("clipboard: set_to=\"%s\"\n", text_buf); break; case SDLK_v: { printf("clipboard: has=%d, ", SDL_HasClipboardText()); print_error("SDL_HasClipboardText()"); char *text = SDL_GetClipboardText(); print_error("SDL_GetClipboardText()"); printf("text=\"%s\"\n", text); SDL_free(text); break; } case SDLK_d: snprintf(text_buf, sizeof(text_buf), "bar%d", rand()); SDL_SetPrimarySelectionText(text_buf); print_error("SDL_SetPrimarySelectionText()"); printf("primselec: set_to=\"%s\"\n", text_buf); break; case SDLK_f: { printf("primselec: has=%d, ", SDL_HasPrimarySelectionText()); print_error("SDL_HasPrimarySelectionText()"); char *text = SDL_GetPrimarySelectionText(); print_error("SDL_GetPrimarySelectionText()"); printf("text=\"%s\"\n", text); SDL_free(text); break; } default: break; } break; } default: { break; }} } // create less noise with WAYLAND_DEBUG=1 if (do_render == 0) { SDL_RenderPresent(renderer); print_error("SDL_RenderPresent()"); } do_render += 1; usleep(12000); } SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); print_error("quit"); return 0; } ``` </details> * Use c,v,d,f to get and set the clipboard and primary selection. * Mark text and middle-click also in other applications. * For wayland under x: * `$ mutter --wayland --no-x11 --nested` * `$ XDG_SESSION_TYPE=wayland SDL_VIDEODRIVER=wayland ./<path_to_test_appl_binary>`
Sam Lantinga 72fe6cc8 2022-09-14T09:14:47 Updated to the latest version of OpenGL and Vulkan headers from the Khronos registry Fixes https://github.com/libsdl-org/SDL/issues/6193
Sam Lantinga 4018f35e 2022-09-07T00:00:27 Added left and right sensors for Nintendo Joy-Con and Wii controllers
Cameron Cawley fd93f817 2022-09-04T17:50:29 Assume that stdint.h is available on Windows with compilers other than MSVC <= 2008
Sam Lantinga c887cb02 2022-09-01T16:23:32 Added the hint SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED to control whether the player LED should be lit on the Nintendo Wii controllers Also fixed the Y axes on the Wii U Pro controller, and various formatting cleanup
Sam Lantinga c72e14e8 2022-09-01T15:29:01 Added initial support for Wii controllers (thanks @tellowkrinkle!)
Ozkan Sezer 4ebf3485 2022-09-01T21:56:50 updated os2 config file after commit 3f89d1704d
Sam Lantinga 3f89d170 2022-09-01T11:30:02 Fixed building with libusb not dynamicaly loaded
Sam Lantinga 6c2c01e0 2022-08-31T15:04:12 Fixed documentation to match function parameter
Sam Lantinga 0e4baf1c 2022-08-30T12:39:23 Don't crash if SDL functions are passed a closed joystick or gamecontroller
SDL Wiki Bot 3fe6768c 2022-08-30T18:47:15 Sync SDL wiki -> header
Sam Lantinga 40bd4fee 2022-08-30T11:42:13 Revamped joystick locking This makes the joystick locking more robust by holding the lock while updating joysticks. The lock should be held when calling any SDL joystick function on a different thread than the one calling SDL_PumpEvents() and SDL_JoystickUpdate(). It is now possible to hold the lock while reinitializing the joystick subsystem, however any open joysticks will become invalid and potentially cause crashes if used afterwards. Fixes https://github.com/libsdl-org/SDL/issues/6063
Francisco Javier Trujillo Mata f1e46858 2022-08-26T17:58:59 Adding specific SDL_Hint for the dynamic VSYNC
SDL Wiki Bot 644a4e5b 2022-08-28T02:01:12 Sync SDL wiki -> header
Sam Lantinga 3cbfd75d 2022-08-27T18:55:55 Re-added the CRC to the joystick guid This is now used as a crc field in the mapping rather than directly in mapping guids, for better mapping compatibility between versions of SDL. Added SDL_GetJoystickGUIDInfo() to get device information encoded in a joystick GUID, so that mapping programs can clear the CRC from the GUID when generating mappings. sort_controllers.py has been updated to extract the CRC from mappings created by older mapping programs and convert it into the new crc field. It will also take the CRC into account when checking for duplicate mappings. Also regenerated the GUIDs for the PS2/PSP/Vita controller mappings, fixing https://github.com/libsdl-org/SDL/issues/6151
SDL Wiki Bot 111626f4 2022-08-25T17:17:12 Sync SDL wiki -> header
Sam Lantinga e4b85091 2022-08-25T10:15:45 Document the range of trigger axes for virtual joysticks Fixes https://github.com/libsdl-org/SDL/issues/6130
Noel Berry 00452e47 2022-08-24T11:25:13 Adding SDL_GetWindowSizeInPixels for window size in pixels (#6112)
Sam Lantinga 1fc7f681 2022-08-24T06:38:36 Document that it's not possible to use the HIDAPI driver for PS3 controllers on Windows
Sam Lantinga b6f96b69 2022-08-23T22:45:37 Initial HIDAPI driver support for the PS3 controller
Sam Lantinga 92b3c53c 2022-08-22T16:25:25 Added a hint SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE to control whether to use system mouse acceleration on raw relative motion. This is currently only implemented on Windows, and "Enhanced pointer precision" mode is not quite correct.
SDL Wiki Bot a7066c52 2022-08-21T14:05:04 Sync SDL wiki -> header
SDL Wiki Bot 8fb1b50a 2022-08-20T17:50:04 Sync SDL wiki -> header
Oleg Derevenetz a204ef50 2022-08-19T22:16:04 Use __ARM_ARCH instead of __ARM_ARCH__
Sam Lantinga 5a3adbfd 2022-08-19T11:11:25 Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED to control whether the player LED is set on Xbox 360 controllers
Sam Lantinga 52b6899a 2022-08-19T11:11:23 Added hints for more fine grained control over HIDAPI Xbox controller support
Sam Lantinga 6e9c14e5 2022-08-19T09:38:42 Updated to version 2.25.0 for development
Sam Lantinga 8c9beb0c 2022-08-19T08:44:09 Updated to version Updated to version 2.24.0 for release
Sam Lantinga f6b81125 2022-08-18T16:05:22 Always define SDL_COMPILE_TIME_ASSERT as static_assert() in C++ Apparently some versions of gcc will define __STDC_VERSION__ even when compiling in C++ mode. Fixes https://github.com/libsdl-org/SDL/issues/6078
Sam Lantinga f1416ef2 2022-08-12T20:27:22 Updated to version 2.23.2 for release candidate
SDL Wiki Bot f35bbe0c 2022-08-11T21:11:11 Sync SDL wiki -> header
Sam Lantinga 3861c557 2022-08-11T13:58:39 Added the hint SDL_HINT_MOUSE_RELATIVE_WARP_MOTION This hint controls whether mouse warping generates motion events in relative mode, and defaults off. Fixes https://github.com/libsdl-org/SDL/issues/6034 Fixes https://github.com/libsdl-org/SDL/issues/5741
Sam Lantinga b4c4dd84 2022-08-11T09:52:58 Added SDL_crc16() to be used in joystick GUIDs after 2.24.0
SDL Wiki Bot 6ecfc406 2022-08-10T15:02:11 Sync SDL wiki -> header
Sam Lantinga d4192850 2022-08-10T07:59:12 Added SDL_ResetHint() to reset a hint to the default value Resolves question of how to clear an override hint raised by @pionere in https://github.com/libsdl-org/SDL/pull/5309
Ryan C. Gordon 3119d58f 2022-08-10T10:48:23 cocoa: Change the new sync_dispatch hint to async_dispatch. This is so the default is safer.
Ryan C. Gordon bdc7f958 2022-08-10T00:41:25 cocoa: Added hint to treat MacBook trackpads as touch devices, not mice. Fixes #5511.
Salman Ahmed b4660e9d 2022-08-10T03:40:00 macOS: Add hint for blocking thread on OpenGL context update dispatch (#5708)
Sam Lantinga 824f2d46 2022-08-09T13:41:58 Added a second hint SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED to control the Home button LED on Nintendo Joy-Con controllers separately from Nintendo Switch Pro controllers
SDL Wiki Bot 523bedac 2022-08-09T15:48:12 Sync SDL wiki -> header
Sam Lantinga aad2df7f 2022-08-09T08:47:49 Document passing -1 to clear the player index for a controller
Ryan C. Gordon 07b0ec53 2022-08-09T09:05:08 SDL_video.h: Added \since info to new APIs.
Ryan C. Gordon a35cff63 2022-08-08T16:07:31 Sync wiki -> headers. (bridge got stuck, I'm just kicking it to get it working again, idk.)
Sam Lantinga 98bac00d 2022-08-08T11:26:52 Add `SDL_GetPointDisplayIndex` and `SDL_GetRectDisplayIndex` and re-implement `SDL_GetWindowDisplayIndex` in terms of `SDL_GetRectDisplayIndex` - This allows looking up the display index for an arbitrary location rather than requiring an active window to do so. - This change also reimplements the fallback display lookup that found the display with center closest to the window's center to instead find the display rect edge closest to the window center (this was done in the almost identical display lookup used in SDL_windowsmodes.c, which now uses `SDL_GetPointDisplayIndex`). In practice this should almost never be hit as it requires the window's center to not be enclosed by any display rect.
Francisco Javier Trujillo Mata d355ea99 2022-08-08T11:55:04 Add a way to avoid IOP reset
Sam Lantinga 87825972 2022-08-08T08:22:20 Added SDL_GameControllerType enumeration for Nintendo Switch Joy-Con controllers
Sam Lantinga 52bf5b1d 2022-08-06T10:34:19 Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED to control whether the player LED is set on Nintendo Switch controllers
SDL Wiki Bot bdaf9a92 2022-08-06T13:25:12 Sync SDL wiki -> header
Ryan C. Gordon e2452ede 2022-08-06T09:19:10 include: Added documentation to SDL_CaptureMouse about auto-capture.
David Carlier 16e699a7 2022-08-01T07:59:04 Proposing exposing as public api the various arch dependent pause instructions so could be used in app infinite loops. A handful of games do already so we unify it in one place.
Sam Lantinga bcdef4aa 2022-08-03T13:07:47 Added separate hints for Nintendo Online classic controllers and Joy-Cons This allows them to be enabled/disabled separately from Switch Pro HIDAPI support
Shootfast 60d1944e 2022-07-06T20:12:30 SDL_video: Added SDL_GL_FLOATBUFFERS to allow Cocoa GL contexts to use EDR
Daniel Santos 147a71b9 2022-06-30T12:57:37 Finish dummy driver
Francisco Javier Trujillo Mata 46f95a7a 2022-06-24T00:20:11 Create dummy PS2 Video driver
SDL Wiki Bot 75f34fc5 2022-08-02T14:52:12 Sync SDL wiki -> header
Ryan C. Gordon 307b0b78 2022-08-02T10:50:51 video: Add a warning to the docs about using SDL_GetDisplayDPI. Fixes #5647.
Sam Lantinga ce5a23bd 2022-07-30T16:32:21 Applied DragonFly BSD patch https://raw.githubusercontent.com/DragonFlyBSD/DeltaPorts/master/ports/devel/sdl20/dragonfly/patch-include_SDL__endian.h
Sam Lantinga 2241bd66 2022-07-29T20:37:38 Added a command line option `--info event_motion` to show mouse and finger motion events
SDL Wiki Bot 47265f37 2022-07-29T13:24:05 Sync SDL wiki -> header
Anonymous Maarten f8aa00d1 2022-07-28T16:30:02 cmake: add HAVE_STDDEF_H to SDL_config.h.cmake
Sam Lantinga 2fa2f9ff 2022-07-28T19:22:27 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
Ryan C. Gordon 5d85c7d3 2022-07-26T00:19:16 kmsdrm: Added a hint to specify device index. Fixes #2811.
Sam Lantinga cbb3f4ca 2022-07-25T19:52:46 Add SDL_guid.h to the global SDL header
Frank Praznik 41b89aec 2022-07-22T12:23:44 video: Improve the SDL_WINDOW_ALLOW_HIGHDPI flag documentation Extend the SDL_WINDOW_ALLOW_HIGHDPI flag documentation to stress the importance of querying the window drawable size after every window event to avoid rendering issues in a mixed-DPI environment.
Ryan C. Gordon f73d07da 2022-07-19T22:13:31 audio: Headers said 5 channel is quad+center, but it's 4.1.
Ozkan Sezer b8f30c02 2022-07-12T00:55:00 SDL_endian.h: check for __powerpc__ and __PPC__ in big endian decision. Also remove the _M_PPC check from there. Reference issue: https://github.com/libsdl-org/SDL/issues/5907
SDL Wiki Bot 5d09b631 2022-07-11T17:35:11 Sync SDL wiki -> header
Ethan Lee 2f0816ad 2022-07-11T13:08:30 Add SDL_GetDefaultAudioInfo. This API is supported on pipewire, pulseaudio, wasapi, and directsound. Co-authored-by: Frank Praznik <frank.praznik@gmail.com>
Sam Lantinga 2373da5d 2022-07-11T09:49:00 Exposed SDL_ResetKeyboard() as a public function This will be used by Source 2 titles to reset keyboard state before showing assertion dialogs
Sam Lantinga 2c22d720 2022-07-11T08:44:49 Fixed typo in description
Cameron Gutman 6e712d24 2022-07-09T22:55:36 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.