Bruno Jesus : dinput: Fix saturation range on condition effects.

Alexandre Julliard julliard at winehq.org
Fri Aug 26 10:18:11 CDT 2016


Module: wine
Branch: master
Commit: 7027e9b268e30b64ee9fe336dca19a1b1e1794bd
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7027e9b268e30b64ee9fe336dca19a1b1e1794bd

Author: Bruno Jesus <00cpxxx at gmail.com>
Date:   Thu Aug 25 17:39:03 2016 -0300

dinput: Fix saturation range on condition effects.

Based on ideas by Elias Vanderstuyft.

The saturation is unsigned short, so the limit is 0xffff, not 0x7fff.

Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dinput/effect_linuxinput.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/dinput/effect_linuxinput.c b/dlls/dinput/effect_linuxinput.c
index 82e5bb5..1015105 100644
--- a/dlls/dinput/effect_linuxinput.c
+++ b/dlls/dinput/effect_linuxinput.c
@@ -680,8 +680,8 @@ static HRESULT WINAPI LinuxInputEffectImpl_SetParameters(
                 cond[i].center = (int)(factor[i] * (tsp[j].lOffset / 10) * 32);
                 cond[i].right_coeff = (int)(factor[i] * (tsp[j].lPositiveCoefficient / 10) * 32);
                 cond[i].left_coeff = (int)(factor[i] * (tsp[j].lNegativeCoefficient / 10) * 32);
-                cond[i].right_saturation = (int)(factor[i] * (tsp[j].dwPositiveSaturation / 10) * 32);
-                cond[i].left_saturation = (int)(factor[i] * (tsp[j].dwNegativeSaturation / 10) * 32);
+                cond[i].right_saturation = (int)(factor[i] * (tsp[j].dwPositiveSaturation / 10) * 65);
+                cond[i].left_saturation = (int)(factor[i] * (tsp[j].dwNegativeSaturation / 10) * 65);
                 cond[i].deadband = (int)(factor[i] * (tsp[j].lDeadBand / 10) * 32);
                 if (sources == 2)
                     j++;




More information about the wine-cvs mailing list