Module: wine Branch: master Commit: afb9de281e9214a9ae45c2bdf98b7595236198b9 URL: https://source.winehq.org/git/wine.git/?a=commit;h=afb9de281e9214a9ae45c2bdf...
Author: Aric Stewart aric@codeweavers.com Date: Thu Jan 18 13:56:23 2018 -0600
joy.cpl: Add parameters for Condition FF effects.
Signed-off-by: Aric Stewart aric@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/joy.cpl/main.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/dlls/joy.cpl/main.c b/dlls/joy.cpl/main.c index fbf6135..51c2fdf 100644 --- a/dlls/joy.cpl/main.c +++ b/dlls/joy.cpl/main.c @@ -724,6 +724,7 @@ static BOOL CALLBACK ff_effects_callback(const DIEFFECTINFOW *pdei, void *pvRef) DIRAMPFORCE rforce; DICONSTANTFORCE cforce; DIPERIODIC pforce; + DICONDITION cdforce;
if (joystick->effects == NULL) { @@ -777,6 +778,22 @@ static BOOL CALLBACK ff_effects_callback(const DIEFFECTINFOW *pdei, void *pvRef) dieffect.lpvTypeSpecificParams = &pforce; dieffect.dwFlags |= DIEP_TYPESPECIFICPARAMS; } + else if (IsEqualGUID(&pdei->guid, &GUID_Spring) || + IsEqualGUID(&pdei->guid, &GUID_Damper) || + IsEqualGUID(&pdei->guid, &GUID_Inertia) || + IsEqualGUID(&pdei->guid, &GUID_Friction)) + { + cdforce.dwPositiveSaturation = 10000; + cdforce.dwNegativeSaturation = 10000; + cdforce.lPositiveCoefficient = 10000; + cdforce.lNegativeCoefficient = 10000; + cdforce.lDeadBand = 0; + cdforce.lOffset = 0; + + dieffect.cbTypeSpecificParams = sizeof(cdforce); + dieffect.lpvTypeSpecificParams = &cdforce; + dieffect.dwFlags |= DIEP_TYPESPECIFICPARAMS; + }
hr = IDirectInputDevice2_CreateEffect( joystick->device, &pdei->guid, &dieffect, &joystick->effects[joystick->cur_effect].effect, NULL);