kc3-lang/SDL/src/haptic

Branch :


Log

Author Commit Date CI Message
70c0400b 2017-02-13 17:00:46 windows: Try to unify all the GUID comparison code into a core helper function. There are likely several more I missed.
dd007e3f 2017-01-18 11:58:16 Fixed bug 3561 - Re-acquire device before playing effects if needed. Mathieu Laurendeau Check the result of IDirectInputEffect_SetParameters and re-acquire the device to solve concurrency issues.
45b774e3 2017-01-01 18:33:28 Updated copyright for 2017
36156335 2016-11-20 21:34:54 Renaming of guard header names to quiet -Wreserved-id-macro Patch contributed by Sylvain
97aa5775 2016-11-16 22:08:51 Fixed empty parameter list in signatures of internal functions.
c2837ef6 2016-11-13 23:04:47 Fixed unresolved symbol on Visual Studio
57d01d7d 2016-11-13 22:57:41 Patch from Sylvain to fix clang warnings
27d4f099 2016-10-07 23:40:44 Implemented SDL_GetHintBoolean() to make it easier to check boolean hints
a21a227a 2016-10-04 03:50:28 Fixed bug 3021 - HapticOpenFromJoystick() problems Joe Thompson With Direct Input device (MOMO Steering Wheel w/FF) with SDL 2.0.3, SDL_HapticOpenFromJoystick() would fail. (Can't set exclusive mode) Now with 2.0.4 rc1, SDL_HapticOpenFromJoystick() succeeds but the the returned SDL_Haptic* cannot be used. Calls to SDL_HapticNewEffect() fail with "Haptic error Unable to create effect" If SDL_HapticOpen() is used instead of HapticOpenFromJoystick(), the device is usable. Calls to HapticNewEffect() succeed with the exact same parameters as the previous failing call. I have attached a proposed patch for this issue. When using SDL_HapticOpenFromJoystick(), the original code did not (re)enumerate the axes. This returned a new haptic device with 0 axes. Later, when a new effect is created, SDL_SYS_SetDirection() would set the flags to include DIEFF_SPHERICAL, regardless of what the caller actually set. (see Line 566 in SDL_dinputhaptic.c). This would cause the SDL_HapticNewEffect() to fail (or interpret the coordinates incorreclty.) The patch moves the call to IDirectInputDevice8_EnumObjects() outside of the if() block so that the axes are (re)enumerated for the new haptic device. Note: For steering wheels it is common for the joystick to have multiple axes (ie steering, throttle, brake), but the haptic portion of the joystick usually only applies to steering.
fa0f4176 2016-10-01 14:48:18 Fixed build warnings and errors
4743b55c 2016-07-20 21:01:14 Linux: Fixed memory leak in haptic implementation (thanks, Martin!). Fixes Bugzilla #3238.
9b4db2b8 2016-04-12 18:11:36 Patched to compile on various platforms.
c61675dc 2016-04-12 16:45:10 threads: Move SDL's own thread creation to a new internal API. This allows us to set an explicit stack size (overriding the system default and the global hint an app might have set), and remove all the macro salsa for dealing with _beginthreadex and such, as internal threads always set those to NULL anyhow. I've taken some guesses on reasonable (and tiny!) stack sizes for our internal threads, but some of these might turn out to be too small in practice and need an increase. Most of them are simple functions, though.
7605ccf6 2016-01-05 02:29:16 Use SDL's stdinc functions instead of C runtime calls.
fa8c83c1 2016-01-03 06:50:50 Remove almost all instances of "volatile" keyword. As Tiffany pointed out in Bugzilla, volatile is not useful for thread safety: https://software.intel.com/en-us/blogs/2007/11/30/volatile-almost-useless-for-multi-threaded-programming/ Some of these volatiles didn't need to be, some were otherwise protected by spinlocks or mutexes, and some got moved over to SDL_atomic_t data, etc. Fixes Bugzilla #3220.
42065e78 2016-01-02 10:10:34 Updated copyright to 2016
c2f03948 2015-09-30 15:38:30 Fix crash on controller hotplug on linux. CR: Sam
0e45984f 2015-06-21 17:33:46 Fixed crash if initialization of EGL failed but was tried again later. The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().