kc3-lang/SDL

Branch :


Log

Author Commit Date CI Message
a8780c6a 2020-01-16 20:49:25 Updated copyright date for 2020
572f4a85 2020-01-16 15:54:20 Fixed bug 4929 - Software renderer produces bugs when optimizations are turned on with Visual C++ 2019 Konrad I took the liberty of rewriting this function a bit as it seemed to be unnecessary extended with ifs regarding flags (we can check everything in one pass which seem to be the thing which confuses Visual C++ 2019 as well). Also, I have made CPU features an int instead of uint because if we check it against flags which are all ints it might as well just be int (no signed/unsigned bitwise comparison).
c6817a2c 2020-01-16 15:32:41 Added support for the paddles on the Xbox One Elite Series 2 controller
4e1cc124 2020-01-16 15:32:39 Improved Xbox One controller initialization
981e0d36 2020-01-16 08:52:59 Fixed bug 4903 - Lack of color multiply with alpha (SDL_BLENDMODE_MOD + SDL_BLENDMODE_BLEND) blending mode for all renderers Konrad This kind of blending is rather quite useful and in my opinion should be available for all renderers. I do need it myself, but since I didn't want to use a custom blending mode which is supported only by certain renderers (e.g. not in software which is quite important for me) I did write implementation of SDL_BLENDMODE_MUL for all renderers altogether. SDL_BLENDMODE_MUL implements following equation: dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA)) dstA = (srcA * dstA) + (dstA * (1-srcA)) Background: https://i.imgur.com/UsYhydP.png Blended texture: https://i.imgur.com/0juXQcV.png Result for SDL_BLENDMODE_MOD: https://i.imgur.com/wgNSgUl.png Result for SDL_BLENDMODE_MUL: https://i.imgur.com/Veokzim.png I think I did cover all possibilities within included patch, but I didn't write any tests for SDL_BLENDMODE_MUL, so it would be lovely if someone could do it.
669729a8 2020-01-15 22:18:31 Improved Xbox One controller initialization sequence This sequence works across Microsoft, PowerA, PDP, and HORI controllers. The newer Microsoft XBox firmware requires synchronizing the rumble sequence number, when SDL sees it after the initial connect The Razer Wildcat controller requires waiting for init responses before continuing the initialization sequence. The PDP Battlefield 1 controller takes over a second to be ready for initialization, and if initialization is attempted before then, it will fail.
34486005 2020-01-15 22:18:29 Added support for the HORI Fighting Commander
6705e27c 2020-01-13 22:05:58 Added D-PAD bindings for the Linux Steam Controller
cb800d1c 2020-01-13 22:05:56 Fixed compiler warning
7775f7ce 2020-01-13 22:05:54 Fixed deadlock in HIDAPI joystick system
3a796d6a 2020-01-13 15:35:54 Free the joystick player index when the joystick is removed
1d321850 2020-01-13 15:35:52 Added support for claiming individiual interfaces on USB devices on Android This is needed for supporting multiple wireless Xbox 360 controllers
acbf2593 2020-01-13 11:46:17 Emscripten: build fix for testoverlay2.c
3ce56f62 2020-01-13 08:12:10 Fixed error formatting
d2cda502 2020-01-12 17:22:24 Send the full Xbox One controller sequence for Microsoft controllers This switches Bluetooth controllers back into USB report mode for the latest Xbox One S and Xbox One Elite Series 2 firmware
196f6998 2020-01-11 22:03:06 Fixed NEON detection on arm64 CPUs This probably breaks RISCOS, but we need a better fix from Cameron Cawley for this
c14a59d9 2020-01-11 13:38:50 Worked around an issue where the kernel would lose the force feedback effect
e3cedf96 2020-01-11 04:38:13 Add the destination format to the error when conversion isn't possible
d33b122f 2020-01-11 04:34:28 The Xbox One S Bluetooth controller with older firmware uses b16 as the guide button. The same controller with newer firmware uses b12 as the guide button. Map both buttons so both firmware revisions will work with the same mapping.
a7bf6af8 2020-01-11 04:34:23 The Amlogic TVB-906X is Android TV
5d28c315 2020-01-09 14:53:34 Only initialize Xbox One controllers once they're ready for initialization (or if they are silent until init) This fixes the Hyperkin Duke Xbox One controller showing the Xbox startup animation every time an SDL application launches
47abe4e3 2020-01-09 14:53:30 Fixed crash when unplugging a HIDAPI controller
f34795d0 2020-01-08 18:55:53 Added support for the updated Hyperkin Duke Xbox One controller
f4375e86 2020-01-07 18:43:40 Added support for the 8BitDo M30 GamePad
a56aaea1 2020-01-07 16:47:56 Fixed handling the 8BitDo M30 in Nintendo Switch mode
78ce18f5 2020-01-06 20:26:52 riscos: Add CPU feature detection
eb3d39bc 2020-01-06 12:18:51 Added support for the 8Bitdo FC30 Pro
598bcfc5 2020-01-06 07:06:58 Fixed bug 4928 - CMakeLists.txt: put cmake package helpers in proper libdir Tiago O. Use LIB_SUFFIX variable to determine the correct path.
2b1edf41 2020-01-04 11:05:06 X11_InitKeyboard: do not call XAutoRepeatOn unnecessarily Use XGetKeyboardControl to initialize the current XKeyboardState, and skip XAutoRepeatOn invocation if global_auto_repeat is AutoRepeatModeOn. This fixes SDL2 when the X11 client is untrusted.
ed514cd0 2020-01-04 11:03:04 have_mitshm: use XShmQueryExtension to check for MIT-SHM extension Do not try to guess MIT_SHM extension availability from the string returned by XDisplayName, use the appropriate API instead. This fixes SDL2 inside hasher.
d9c4be06 2020-01-01 08:13:40 Added support for the Hyperkin Duke controller
41dad5d7 2019-12-31 10:40:30 Fixed bug 4357 - iosbuild.sh broken with SDL 2.0.9 Christoph Charles The new source files for coremotion sensors don't seem to have been included correctly in configure.in. This leads to the build script ios-build.sh to fail at link time, complaining about missing symbols, namely about missing SDL_COREMOTION_SensorDriver.
4c9628a0 2019-12-30 17:56:56 Fixed GameCube controller axis and trigger ranges and X and B button being swapped
58a11d30 2019-12-30 13:21:47 Fixed bug 4920 - Wider support for seconds of battery life left on Linux platforms using sys interface Murad On my system, SDL_GetPowerInfo() returns -1 seconds of battery life left. I have quickly investigated that in my case SDL uses sys interface to get battery data. It tries to read "time_to_empty_now" file which is not always present. However, it is still possible to calculate remaining lifetime using "energy_now" and "power_now" files. This is what my simple patch (included as attachment) tries to accomplish. Best wishes.
8b0660b2 2019-12-30 13:18:57 Fixed bug 4918 - SDL failed to build due to error LNK2019: unresolved external symbol memset referenced in function SDL_SetJoystickIDForPlayerIndex with MSVC x64 on Windows LinGao We build SDL with Visual studio 2017 compiler on Windows Server 2016, but it failed to build due to error LNK2019: unresolved external symbol memset referenced in function SDL_SetJoystickIDForPlayerIndex with MSVC x64 on Windows on latest default branch. And we found that it can be first reproduced on 0fff06175109 changeset. Could you please help have a look about this issue? Thanks in advance! Steps to Reproduce: 1.hg clone https://hg.libsdl.org/SDL D:\SDL\src 2.Open a VS 2017 x64 command prompt as admin and browse to D:\SDL 3.msbuild /p:Configuration=Release /p:Platform=x64 /p:WindowsTargetPlatformVersion=10.0.17134.0 VisualC\SDL.sln /t:Rebuild Actual result: Creating library D:\SDL\src\VisualC\x64\Release\SDL2.lib and object D:\SDL\src\VisualC\x64\Release\SDL2.exp SDL_joystick.obj : error LNK2019: unresolved external symbol memset referenced in function SDL_SetJoystickIDForPlayerIndex [D:\SDL\src\VisualC\SDL\SDL.vcxproj] D:\SDL\src\VisualC\x64\Release\SDL2.dll : fatal error LNK1120: 1 unresolved externals [D:\SDL\src\VisualC\SDL\SDL.vcxproj] Done Building Project "D:\SDL\src\VisualC\SDL\SDL.vcxproj" (Rebuild target(s)) -- FAILED.
98ce0e50 2019-12-30 11:09:03 Removed unnecessary setlocale() on Mac https://github.com/signal11/hidapi/commit/240bad3b669ad4874c8aa2d68e18e82232d63e35
a9482a1d 2019-12-30 09:44:32 Added support for the Nintendo GameCube adapter, tested on Steam Link hardware
cdbeae52 2019-12-29 23:10:39 wayland: support wl_data_device_manager version < 3
9340cfa9 2019-12-27 23:01:10 SDL_x11events.c (X11_DispatchEvent): remove FIXME and use SDL_strtokr().
ef3ca2cc 2019-12-23 19:55:10 Fix build error in SDL_render_metal.m (bug #4916.) Patch provided by Konrad. Error was introduced by commit 522164980828 for bug #4914.
6d639fce 2019-12-23 16:47:00 SDL_ScaleMode: fix compilation GLES renderer
131e13a7 2019-12-22 20:48:43 direct3d11: Always set vertex buffers when updating them (thanks, Konrad!). Fixes Bugzilla #4913.
982f8a83 2019-12-22 13:56:50 Fixed bug 4910 - Missing joystick-driver type check in haptic meyraud705 On Linux and MacOS, some haptic system functions access joystick->hw_data without checking the driver type.
dd5987e8 2019-12-22 13:42:20 Fixed bug 4911 - Build broken when hidapi enabled meyraud705 SDL_hidapi.c is added twice to 'SOURCES' which causes "multiple definition error" when linking.
5e19e66c 2019-12-22 13:39:44 Fixed bug 4914 - Expose SDL_ScaleMode and add SDL_SetTextureScaleMode/SDL_GetTextureScaleMode Konrad This was something rather trivial to add, but asked at least several times before (I did google about it as well). It should be possible to dynamically change scaling mode of the texture. It is actually trivial task, but until now it was only possible with a hint before creating a texture. I needed it for my game as well, so I took the liberty of writing it myself. This patch adds following functions: SDL_SetTextureScaleMode(SDL_Texture * texture, SDL_ScaleMode scaleMode); SDL_GetTextureScaleMode(SDL_Texture * texture, SDL_ScaleMode *scaleMode); That way you can change texture scaling on the fly.
f0cee3ed 2019-12-22 13:15:11 Fix shutting down HIDAPI device with multiple joysticks Using Wii U GameCube USB adapter with multiple controllers attached and restarting SDL input in a game results in extra joysticks with NULL name. HIDAPI_CleanupDeviceDriver() shut down joysticks by iterating through device->num_joysticks but each HIDAPI_JoystickDisconnected() decreases device->num_joysticks and shifts joysticks array down. Resulting in only half of controllers being shutdown. It worked with only 1 controller attached though. Disconnect HIDAPI device joystick 0 until there are none left.
d000a592 2019-12-21 22:33:21 Fixed windows build
d004cc70 2019-12-21 22:40:33 Android: same way as in nativePause(), resume events are sent from SDL thread
45a9b5fa 2019-12-21 21:18:02 Android: fix call of glFinish without context. Message in the log, when going to background: "call to OpenGL ES API with no current context (logged once per thread)" Because of SDL_WINDOWEVENT_MINIMIZED is sent from the Java Activity thread. It calls SDL_RendererEventWatch(), _WindowEvent() and glFinish() without context. Solution is to move sending of SDL_WINDOWEVENT_MINIMIZED to the SDL thread.
f21e1727 2019-12-20 22:25:49 Use IOHIDManagerRegisterDeviceRemovalCallback() to monitor for HID removal The function we currently use, IOHIDDeviceRegisterRemovalCallback(), often fails on Catalina with a "__CFRunLoopModeFindSourceForMachPort returned NULL" error message. Once a removal callback is missed, we will eventually crash when the joystick is closed attempting to use the invalid IOHIDDeviceRef. https://forums.developer.apple.com/thread/124444
f3a547d0 2019-12-20 21:40:28 Added support for the Hori Dragon Quest Slime Controller
868551b1 2019-12-20 21:00:16 Fixed duplicate controller entries on Mac OS X when using libusb, due to the HID interface number not being available in the Mac OS X HID code.
46e1377d 2019-12-20 20:12:03 Automatically assign player indexes to game controllers, and allow changing the player index for game controllers and joysticks. Added the functions SDL_JoystickFromPlayerIndex(), SDL_JoystickSetPlayerIndex(), SDL_GameControllerFromPlayerIndex(), and SDL_GameControllerSetPlayerIndex()
f050309e 2019-12-20 15:58:59 Android: fix IllegalStateException in onBackPressed() Rare exception, not catch-able, which appears when the activity gets in a broken state. java.lang.IllegalStateException: at android.app.FragmentManagerImpl.checkStateLoss (FragmentManagerImpl.java:1323) at android.app.FragmentManagerImpl.popBackStackImmediate (FragmentManagerImpl.java:493) at android.app.Activity.onBackPressed (Activity.java:2215) at org.libsdl.app.SDLActivity.onBackPressed (SDLActivity.java) at android.app.Activity.onKeyUp (Activity.java:2193) at android.view.KeyEvent.dispatch (KeyEvent.java:2685) at android.app.Activity.dispatchKeyEvent (Activity.java:2423) at org.libsdl.app.SDLActivity.dispatchKeyEvent (SDLActivity.java)
9996d1bb 2019-12-20 14:33:37 fix xcode project file permissions
95d40e8a 2019-12-19 21:47:43 kmsdrm: Fix busy-loop within libc's dlopen() For some obscure reason, the order in which the libdrm/libgbm libraries are loaded matters. Without this fix, the first call to check_modesetting() will work and load then unload all symbols properly, but the second call to this function will lock up as soon as dlopen() is called on libdrm. Swapping the order in which the libdrm and libgbm libraries are loaded is enough to fix (or work around?) this issue. Fixes #4891: https://bugzilla.libsdl.org/show_bug.cgi?id=4891 Signed-off-by: Paul Cercueil <paul@crapouillou.net>
6b767872 2019-12-19 21:45:44 Make sure the Xbox 360 driver doesn't try to talk to the wireless controllers
1db56619 2019-12-19 18:03:28 Fixed rare infinite rumble in HIDAPI controller driver
25bd5070 2019-12-19 18:00:08 Fixed GameCube rumble
202c966a 2019-12-19 16:14:22 Added support for the Nintendo GameCube Controller, using the Mayflash GameCube adapter.
2481ab93 2019-12-19 15:58:16 Fixed compiler warning
c5024a18 2019-12-19 15:21:44 Backed out debug code
20daf54f 2019-12-19 15:18:50 Added new HIDAPI driver files to the Xcode projects
8d742d47 2019-12-19 15:12:36 Added new HIDAPI driver files to the Visual Studio project
fead0b24 2019-12-19 15:02:12 Added missing files from previous commits
e22e77da 2019-12-19 15:01:35 Added an untested driver for the Nintendo GameCube adapter, based on code contributed by Ethan Lee
15d30298 2019-12-19 15:01:32 Added support for wireless Xbox 360 controllers using the HIDAPI driver
e7f7e3f4 2019-12-19 15:01:30 Refactored HIDAPI controller code to support dongles and hubs that dynamically attach controllers
5d5a5671 2019-12-19 13:54:03 Fixed bug 4906 - Pressing Back button terminates app after SDL_StartTextInput
4237b183 2019-12-19 04:31:00 Fixed compiler warning
7b2826f6 2019-12-17 12:03:57 Added Android support for the Hyperkin X91 and the SteelSeries Stratus Duo
52b6ab21 2019-12-16 17:11:23 Added support for the SteelSeries Stratus Duo
bc430d40 2019-12-16 10:26:36 Update for bug 4883 - Add approximation for display DPI on iOS Aaron Barany I realized I made a minor mistake in my patch: I changed the constructor prototype for SDL_DisplayData, but didn't update the declaration in the .h file. The compiler and linker don't complain, but it would probably be best to fix in case a later change runs into a problem from the mismatch. I have attached a patch to fix this.
a7ae9175 2019-12-16 10:20:03 Fixed bug 4898 - No rumble because of integer overflow in SDL_JoystickRumble meyraud705 On a Dualshock 4 controller using hidapi driver, calling SDL_JoystickRumble with a duration too long (SDL_HAPTIC_INFINITY for example) causes the rumble to stop immediately. This happens because of integer overflow on line 301 of SDL_hidapi_ps4.c (https://hg.libsdl.org/SDL/file/a3077169ad23/src/joystick/hidapi/SDL_hidapi_ps4.c#l301), which sets expiration time in the past.
9f8009f2 2019-12-13 16:12:41 Added mappings for the Razer Serval on Windows and Mac OSX
cf9af481 2019-12-13 16:12:39 Added support for the 8Bitdo NES30 GamePad in wired mode
c2b6d6f9 2019-12-13 16:12:37 Enable the LED on PowerA Xbox One controllers
511df4a5 2019-12-13 16:12:35 Added support for the BDA XB1 Spectra Pro
55f8eabf 2019-12-13 16:12:33 Identified the BDA XB1 Classic Controller
0352814a 2019-12-13 16:07:25 Added general remapping of controller manufacturer
b51d7f35 2019-12-13 16:07:22 Added support for the HORI PAD A
23c39a2e 2019-12-12 19:14:37 Strip trailing whitespace on controller manufacturer identification
4d4e5584 2019-12-12 19:07:26 Fixed binding D-pad on NES30 controller
cd515bd1 2019-12-12 14:26:34 Fixed Xbox 360 Controller support using libusb on Linux
1ac7eaba 2019-12-12 14:25:02 Fixed comment typo
13e10151 2019-12-12 20:33:11 Android: use SDL_arraysize()
210f6dda 2019-12-12 18:38:36 Android: use 'RegisterNatives' to export the native methods "The advantages of RegisterNatives are that you get up-front checking that the symbols exist, plus you can have smaller and faster shared libraries by not exporting anything but JNI_OnLoad" https://developer.android.com/training/articles/perf-jni#native-libraries
a613fc7c 2019-12-11 19:24:40 Added names for official Microsoft controllers, since they don't have descriptive product names
0f529160 2019-12-11 17:47:01 Added custom names for some controllers
e029fdbb 2019-12-11 17:46:59 Shorten "Performance Designed Products" to "PDP"
325a2efb 2019-12-11 17:46:57 Added support for the full line of PDP Xbox 360 and Xbox One controllers
8b50dcb2 2019-12-11 17:46:54 Use the controller product string instead of hard-coding controller names
89401b21 2019-12-10 13:09:52 Added support for the Razer Raion Fightpad for PS4
a21f6b7a 2019-12-10 11:46:22 Add the manufacturer to the joystick name on Mac OS X, for consistency with other drivers
2a161e7a 2019-12-10 11:30:56 Remove any duplicate manufacturer in the joystick name
3469481e 2019-12-10 10:00:49 Don't include the manufacturer if it's already included in the product string
bb37a1eb 2019-12-10 09:38:10 Fixed the name of the Razer RAION Fightpad
82d2c357 2019-12-09 16:52:11 Fixed rumble after Xbox controller initialization When we initialize the controller it has an internal rumble sequence number, and if our rumble sequence number doesn't match that, rumble won't happen. To fix that we cycle through the range of sequence numbers, and at some point we'll match up with the controller's sequence number and it'll roll forward until it matches our next rumble sequence number.
3d34750c 2019-12-09 13:54:05 The PowerA Mini controller blocks while writing feature reports, so don't try to use the HIDAPI driver for it on Linux
36265063 2019-12-09 13:54:03 Added some missing Xbox controller names