Ryan C. Gordon
5f11f71362
Windows: Fixed crash if quitting without closing an XInput haptic device.
...
--HG--
extra : histedit_source : ddde0349ad87c7b525efb7e0b01ee45fef9170af
2014-03-02 00:02:56 -05:00
Gabriel Jacobo
9faed54ab1
Zero out haptic linked list items on creation
...
(thanks to Turo Lamminen for the report!)
2014-02-24 10:25:02 -03:00
Ryan C. Gordon
6d0308a33f
Fixed crash on Windows if haptic isn't initialized when controllers are added.
2014-02-06 21:26:41 -05:00
Edward Rudd
7629872a1f
Fix device counting in HapticMouse and JoystickOpen routines. 0 is the first item in the list not the last
2014-02-06 09:35:44 -05:00
Ryan C. Gordon
441bde12ca
Wired up haptic hotplugging for Windows DirectInput/XInput code.
2014-02-06 07:37:20 -05:00
Sam Lantinga
d7940a513e
Fixed bug 2374 - Update copyright for 2014...
...
Is it that time already??
2014-02-02 00:53:27 -08:00
Ryan C. Gordon
63256a2384
Implemented the Dynamic API magic.
...
--HG--
extra : rebase_source : 38f639089d3d142895d5cf106919a0bfbb65c5ed
2013-12-09 16:03:18 -05:00
Ryan C. Gordon
82edee6971
Make internal SDL sources include SDL_internal.h instead of SDL_config.h
...
The new header will include SDL_config.h, but allows for other global stuff.
--HG--
extra : rebase_source : ddf4a4c0dc2c554b98c82700798f343cd91b16e3
2013-11-24 23:56:17 -05:00
Ryan C. Gordon
d89bf9b9ff
Moved a SDL_SetError() call elsewhere to avoid triggering it needlessly.
...
Otherwise, the XInput path would always trigger it in a harmless manner.
2013-10-23 15:54:12 -04:00
Sam Lantinga
4d7a5efe31
Fixed windows compile
2013-10-20 20:49:36 -07:00
Sam Lantinga
367ffcc3af
Added a macro SDL_TICKS_PASSED() to correctly compare two 32-bit tick values.
...
Went through the code and used the macro and fixed a couple places that were using incorrect timestamp comparisons.
2013-10-20 20:42:55 -07:00
Ryan C. Gordon
8d51830d7b
Fix some edge cases in XInput haptic timing.
2013-10-20 23:38:19 -04:00
Ryan C. Gordon
e9b771e52a
Backed out hg changeset b92b8c52946c. REFGUID is apparently a const type.
2013-10-20 16:03:11 -04:00
Ryan C. Gordon
ed8a935593
Patched to compile on non-C99 Microsoft compiler.
2013-10-20 16:02:24 -04:00
Ryan C. Gordon
613246f860
Patched to compile on Windows.
2013-10-20 16:01:10 -04:00
Ryan C. Gordon
4d56787378
Allow XInput haptics to run for SDL_HAPTIC_INFINITY time (thanks, Mitchell!).
...
Partially fixes Bugzilla #2126 .
2013-10-20 15:55:47 -04:00
Ryan C. Gordon
0c739575a3
Fixed goofy logic in haptic device comparison code.
...
Mitchell Keith Bloch did the research on this bug, and came up with a slightly
different patch than this.
Partially fixes Bugzilla #2126 .
2013-10-20 15:49:52 -04:00
Ryan C. Gordon
da32e8f576
Don't bother calling SDL_SYS_HapticEffectType() at all for XInput devices.
2013-10-20 15:45:48 -04:00
Sam Lantinga
08dfaaa2e6
Christoph Mallon: Remove pointless if (x) before SDL_free(x)
2013-08-29 08:29:21 -07:00
Ryan C. Gordon
cd94a10070
Fixed comment typo.
2013-08-28 17:12:07 -04:00
Gabriel Jacobo
298ce1c1a7
OCD fixes: Adds a space after /* (glory to regular expressions!)
2013-08-21 09:47:10 -03:00
Gabriel Jacobo
271e0d67c4
OCD fixes: Adds a space before */
2013-08-21 09:43:09 -03:00
Ryan C. Gordon
d4f386f5e3
Haptic: Let XInput update effects while they're still running.
2013-08-10 13:46:19 -04:00
Ryan C. Gordon
de6d6a5554
Removed no-longer-necessary comment.
2013-08-10 13:40:08 -04:00
Ryan C. Gordon
c35c4a6f18
Replaced SDL_HAPTIC_SQUARE with SDL_HAPTIC_LEFTRIGHT.
...
We needed a bit, so we're hoping no one needs this effect, especially when
it's fairly close to SDL_HAPTIC_SINE, we hope.
SDL_HAPTIC_LEFTRIGHT maps to XInput's functionality, so this removes the SINE
code for the XInput driver to keep things clean.
This also makes the simplified Rumble API use SDL_HAPTIC_LEFTRIGHT if
SDL_HAPTIC_SINE isn't available, to keep XInput working.
When we break the ABI, and can extend the supported capabilities field from
a Uint16, we'll add SDL_HAPTIC_SQUARE back in.
This patch is based on work by Ethan Lee.
2013-08-10 13:38:09 -04:00
Ryan C. Gordon
8328f33947
Make XInput haptic code respect effect timeouts.
...
This is really just a hack until this code expands to be a robust haptic mixer.
(This is also untested, beyond compiling. Sorry!)
--HG--
extra : rebase_source : 1ea0101273d96c6d82db9b603a575e265d4ee426
2013-07-20 18:51:49 -04:00
Sam Lantinga
98cdee1ebc
Fixed warning about unused variable.
2013-06-27 11:17:48 -07:00
Sam Lantinga
bc51b6f628
Fixed initializing the haptic system from an XInput joystick
...
Thanks to Franz Schrober for the fix inspiration.
2013-06-27 10:59:30 -07:00
Sam Lantinga
0cb6385637
File style cleanup for the SDL 2.0 release
2013-05-18 14:17:52 -07:00
Philipp Wiesemann
5b428b875f
Corrected spelling in C source files.
2013-05-01 11:42:29 +02:00
Ryan C. Gordon
4f438b70a2
Make SDL_SetError and friends unconditionally return -1.
...
This lets us change things like this...
if (Failed) {
SDL_SetError("We failed");
return -1;
}
...into this...
if (Failed) {
return SDL_SetError("We failed");
}
Fixes Bugzilla #1778 .
2013-03-31 12:48:50 -04:00
Ryan C. Gordon
3d572bdf89
First shot at Windows XInput haptics.
...
--HG--
extra : rebase_source : 52e691a0917d173e891e67714a135373daea0ef5
2013-03-10 13:05:47 -04:00
Sam Lantinga
95dcfa4c28
Happy New Year!
2013-02-15 08:47:44 -08:00
Ryan C. Gordon
6ac6dd737a
Move all DirectInput code from DI2 to DI8.
...
Fixes failing Haptic subsystem initialization on Windows.
2012-11-29 15:24:56 -05:00
Sam Lantinga
34b88dfaae
Added hotplug joystick support and simplified game controller API, courtesy of Alfred Reynolds
2012-11-26 16:37:54 -08:00
Sam Lantinga
f380ecb137
Removed executable bit from source files
2012-09-27 14:35:28 -07:00
Ryan C. Gordon
816523a285
Fixed a bunch of compiler warnings with Cygwin/MingW.
2012-08-24 19:34:28 -04:00
Sam Lantinga
028e5dcdbd
Happy New Year!
2011-12-31 09:28:07 -05:00
Ryan C. Gordon
8fa65eea5c
Cleaned up CoInitialize() politics on Windows.
2011-08-03 04:22:47 -04:00
Sam Lantinga
e740162fb0
Fixed: Windows always fails with SDL_HapticOpenFromJoystick
...
The windows function SDL_SYS_HapticOpenFromJoystick fails because DIDEVICEINSTANCE joy_instance does not have its dwSize field initialized. The attached patch includes the fix along with a fix for two similar problems.
Daniel Heath
2011-04-19 08:08:50 -07:00
Sam Lantinga
b0660ba5ff
SDL 1.3 is now under the zlib license.
2011-04-08 13:03:26 -07:00
Sam Lantinga
d5af47a5c7
Untested fix for bug 946 (SDL_HapticIndex returns 0 for all devices)
...
Edgar Simo 2011-02-20 09:02:31 PST
Linux uses fname, which is the name of the device path like for example
/dev/input/event3 so it shouldn't have the issue. However I can confirm that it
looks like haptic->index never gets properly set on windows. Have to look at
mac os x also. I'll see if I can fix it real quick now.
2011-02-20 09:28:13 -08:00
Sam Lantinga
b4497865bd
Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share.
...
I think this also fixes the bug relating to non-latin characters in filenames, since UNICODE wasn't defined in SDL_rwops.c
--HG--
rename : src/SDL_android.cpp => src/core/android/SDL_android.cpp
rename : src/SDL_android.h => src/core/android/SDL_android.h
2011-01-24 21:20:30 -08:00
Sam Lantinga
9d25ba272a
Fixed bug #925
...
Changed "win32" to "windows"
--HG--
rename : include/SDL_config_win32.h => include/SDL_config_windows.h
rename : src/events/scancodes_win32.h => src/events/scancodes_windows.h
rename : src/haptic/win32/SDL_syshaptic.c => src/haptic/windows/SDL_syshaptic.c
rename : src/joystick/win32/SDL_dxjoystick.c => src/joystick/windows/SDL_dxjoystick.c
rename : src/joystick/win32/SDL_dxjoystick_c.h => src/joystick/windows/SDL_dxjoystick_c.h
rename : src/joystick/win32/SDL_mmjoystick.c => src/joystick/windows/SDL_mmjoystick.c
rename : src/loadso/win32/SDL_sysloadso.c => src/loadso/windows/SDL_sysloadso.c
rename : src/main/win32/SDL_win32_main.c => src/main/windows/SDL_windows_main.c
rename : src/main/win32/version.rc => src/main/windows/version.rc
rename : src/thread/win32/SDL_sysmutex.c => src/thread/windows/SDL_sysmutex.c
rename : src/thread/win32/SDL_syssem.c => src/thread/windows/SDL_syssem.c
rename : src/thread/win32/SDL_systhread.c => src/thread/windows/SDL_systhread.c
rename : src/thread/win32/SDL_systhread_c.h => src/thread/windows/SDL_systhread_c.h
rename : src/thread/win32/win_ce_semaphore.c => src/thread/windows/win_ce_semaphore.c
rename : src/thread/win32/win_ce_semaphore.h => src/thread/windows/win_ce_semaphore.h
rename : src/timer/win32/SDL_systimer.c => src/timer/windows/SDL_systimer.c
rename : src/video/win32/SDL_ceddrawrender.c => src/video/windows/SDL_ceddrawrender.c
rename : src/video/win32/SDL_ceddrawrender.h => src/video/windows/SDL_ceddrawrender.h
rename : src/video/win32/SDL_d3drender.c => src/video/windows/SDL_d3drender.c
rename : src/video/win32/SDL_d3drender.h => src/video/windows/SDL_d3drender.h
rename : src/video/win32/SDL_gapirender.c => src/video/windows/SDL_gapirender.c
rename : src/video/win32/SDL_gapirender.h => src/video/windows/SDL_gapirender.h
rename : src/video/win32/SDL_gapirender_c.h => src/video/windows/SDL_gapirender_c.h
rename : src/video/win32/SDL_gdirender.c => src/video/windows/SDL_gdirender.c
rename : src/video/win32/SDL_gdirender.h => src/video/windows/SDL_gdirender.h
rename : src/video/win32/SDL_msctf.h => src/video/windows/SDL_msctf.h
rename : src/video/win32/SDL_vkeys.h => src/video/windows/SDL_vkeys.h
rename : src/video/win32/SDL_win32clipboard.c => src/video/windows/SDL_windowsclipboard.c
rename : src/video/win32/SDL_win32clipboard.h => src/video/windows/SDL_windowsclipboard.h
rename : src/video/win32/SDL_win32events.c => src/video/windows/SDL_windowsevents.c
rename : src/video/win32/SDL_win32events.h => src/video/windows/SDL_windowsevents.h
rename : src/video/win32/SDL_win32gamma.c => src/video/windows/SDL_windowsgamma.c
rename : src/video/win32/SDL_win32gamma.h => src/video/windows/SDL_windowsgamma.h
rename : src/video/win32/SDL_win32keyboard.c => src/video/windows/SDL_windowskeyboard.c
rename : src/video/win32/SDL_win32keyboard.h => src/video/windows/SDL_windowskeyboard.h
rename : src/video/win32/SDL_win32modes.c => src/video/windows/SDL_windowsmodes.c
rename : src/video/win32/SDL_win32modes.h => src/video/windows/SDL_windowsmodes.h
rename : src/video/win32/SDL_win32mouse.c => src/video/windows/SDL_windowsmouse.c
rename : src/video/win32/SDL_win32mouse.h => src/video/windows/SDL_windowsmouse.h
rename : src/video/win32/SDL_win32opengl.c => src/video/windows/SDL_windowsopengl.c
rename : src/video/win32/SDL_win32opengl.h => src/video/windows/SDL_windowsopengl.h
rename : src/video/win32/SDL_win32shape.c => src/video/windows/SDL_windowsshape.c
rename : src/video/win32/SDL_win32shape.h => src/video/windows/SDL_windowsshape.h
rename : src/video/win32/SDL_win32video.c => src/video/windows/SDL_windowsvideo.c
rename : src/video/win32/SDL_win32video.h => src/video/windows/SDL_windowsvideo.h
rename : src/video/win32/SDL_win32window.c => src/video/windows/SDL_windowswindow.c
rename : src/video/win32/SDL_win32window.h => src/video/windows/SDL_windowswindow.h
rename : src/video/win32/wmmsg.h => src/video/windows/wmmsg.h
2011-01-20 18:04:05 -08:00