Aric Stewart : joy.cpl: Add parameters for Condition FF effects.

Alexandre Julliard julliard at winehq.org
Fri Jan 19 15:43:20 CST 2018


Module: wine
Branch: master
Commit: afb9de281e9214a9ae45c2bdf98b7595236198b9
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=afb9de281e9214a9ae45c2bdf98b7595236198b9

Author: Aric Stewart <aric at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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);




More information about the wine-cvs mailing list