Commit graph

20 commits

Author SHA1 Message Date
Nik Henson f9c3b9b5f8 DirectInputSystem's initial state wasn't being initialized properly, which would sometimes result in invalid input values until keyboard or mouse was successfully acquired 2012-02-27 20:32:15 +00:00
Bart Trzynadlowski 611ef43ba5 Now compiles with MinGW. Among other things, the use of __uuidof() was removed. 2012-01-18 04:59:42 +00:00
Nik Henson dfa77e9207 Added support for joystick sliders to input system.
Added extra debugging output to calibration input detection routine (activated by pressing Shift).
2011-11-01 23:24:37 +00:00
Nik Henson e6fd2e2240 Added DirectInputConstForceLeftMax and DirectInputConstForceRightMax options to allow different force feedback strengths in each direction. DirectInputConstForceMax still works as before but these new options will override it for the given direction if they are specified. 2011-10-02 20:53:12 +00:00
Nik Henson 0c4f93897f Force feedback fixes in DirectInputSystem.cpp:
- Fixed bug which meant right constant force was not being capped to DI_EFFECTS_MAX
- Made sure all values are being clamped to sensible ranges
2011-09-25 22:46:58 +00:00
Nik Henson b87f24cdf2 Removed DirectInputEffectsGain force feedback configuration parameter as it's not that useful as it's easier to adjust effects individually 2011-09-21 22:28:13 +00:00
Nik Henson c0dc0b83b6 Changes to DirectInputSystem:
- corrected axis identification code as was not enumerating axes properly in all cases
- added fallback which just adds all axes if there is any hint of an irregularity whilst enumerating axes
2011-09-21 22:08:36 +00:00
Nik Henson b9430cd988 Changes to input system:
- Joystick axis saturation values can now range from 1-200 rather than just 1-100.  This lets the user make axis less sensitive, if required.
- Added joystick axes calibration menus to -config-inputs.
- Moved DirectInput & XInput feedback settings out of CDirectInputSystem and into COSDConfig (so that they can be configured per-game).
- DirectInput mode now only grabs background access to keyboard, mice and joystick when configuring inputs, otherwise it only grabs foreground access.
Other changes:
- Main.cpp now ensures all Model3 threads are paused before shutting down.
2011-09-18 21:44:40 +00:00
Bart Trzynadlowski 9ff9f3c28f Now always saves feedback effect configuration (this way, defaults do not have to be defined in multiple places). 2011-09-14 23:29:04 +00:00
Bart Trzynadlowski 2f5bf43bda Updated copyright information and added headers to all remaining files except debugger. 2011-09-14 19:08:43 +00:00
Nik Henson d34223ebd2 Improved way constant force and vibrate effects are combined to control left and right vibration motors under XInput 2011-09-13 22:50:50 +00:00
Bart Trzynadlowski fdedc60f84 Constant force commands for XInput devices fixed so that they will stop when 0 force is applied. 2011-09-13 02:39:48 +00:00
Nik Henson dc368c1edd Added configuring of DirectInput and XInput force feedback parameters via config file 2011-09-12 20:05:58 +00:00
Bart Trzynadlowski 11d1d61bc2 - Removed BOOL and replaced it with native C++ type, bool.
- Removed TRUE and FALSE, changed to 'true' and 'false' keywords.
2011-09-08 06:34:18 +00:00
Nik Henson c5d585440c Changes to CDirectInputSystem:
- Added parameters for DirectInput and XInput force feedback effects (although still need to add code to persist them in configuration file)
- Added extra friction feedback effect and tidied up existing effects
2011-09-06 19:05:22 +00:00
Nik Henson 03fa9532eb - Added function-based interface Audio for OSD sound output, together with SDL implementation
- Added object interface CThread for OSD threading and synchronization, together with SDL implementation
- Added multi-threading to CModel3 so that separate CPUs (PPC of main board, 68K of sound board and Z80 of drive board) can be run in separate threads if requested to improve performance on multi-core PCs
- Added -multi-threaded command line option (default is to run single-threaded still)
2011-07-20 21:14:00 +00:00
Nik Henson 809892c69c Added check for error that occurs when calling CoInitialize from a managed context 2011-06-27 23:06:08 +00:00
Nik Henson e8782b98fa Changes relating to input system:
- Added ability to configure axis min, centre and max values in INI file.  This allows some types of steering wheel pedals that use an inverted value range to work properly with the emulator.
 - Modified CINIFile to read and write signed numbers (needed for above change).
 - Added check at configuration start for "bad" input sources such as axes that are wrongly calibrated or buttons that are always triggering a value.  Otherwise they cause the configuration loop to wait indefinitely for the axis or button to be released.
 - Removed superfluous check for XInput devices when XInput is not enabled in CDirectInputSystem.
 - Improved force beedback code in CDirectInputSystem and also added the extra feedback effects needed so far for drive board emulation.
2011-06-22 13:06:52 +00:00
Nik Henson 5e247021be Changes relating to input system:
- Fixed bug with mapping of multiple assignments.
- Added new ! operator for input mappings, which lets the user specify that an input must not be active.
- Added option to print info about input system (such as settings and detected keyboards, mice and joysticks) during input configuration.
- Added new trigger input for lightgun games with a configurable option to automatically pull trigger when offscreen input is activated (this makes playing with the mouse easier as the gun can be reloaded with single mouse button, rather than having to press both
 buttons at the same time).
- Added -xinput command line option that switches to using XInput API rather than DirectInput for XBox 360 controllers (this allows the XBox 360 controller's two triggers to be read independently which works better for driving games when they are mapped to accele
rator and brake).
- Added initial version of force feedback implementation to DirectInputSystem (this still needs work).
2011-06-05 20:53:39 +00:00
Bart Trzynadlowski 783446fca2 Fixing import mistake: moving source code to trunk/Src. 2011-04-24 01:19:40 +00:00
Renamed from OSD/Windows/DirectInputSystem.cpp (Browse further)