Module: wine Branch: master Commit: 5ab0126f1d6f2c0edbee7668214c9fbef86a6563 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5ab0126f1d6f2c0edbee766821...
Author: Bruno Jesus 00cpxxx@gmail.com Date: Wed Sep 14 02:25:32 2016 -0300
dinput: Fix phase conversion on periodic effects.
Based on idea by Elias Vanderstuyft.
Signed-off-by: Bruno Jesus 00cpxxx@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/dinput/effect_linuxinput.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/dinput/effect_linuxinput.c b/dlls/dinput/effect_linuxinput.c index 9205c9c..bb45792 100644 --- a/dlls/dinput/effect_linuxinput.c +++ b/dlls/dinput/effect_linuxinput.c @@ -632,7 +632,8 @@ static HRESULT WINAPI LinuxInputEffectImpl_SetParameters(
This->effect.u.periodic.magnitude = (tsp->dwMagnitude / 10) * 32; This->effect.u.periodic.offset = (tsp->lOffset / 10) * 32; - This->effect.u.periodic.phase = (tsp->dwPhase / 9) * 8; /* == (/ 36 * 32) */ + /* phase ranges from 0 - 35999 in dinput and 0 - 65535 on linux */ + This->effect.u.periodic.phase = (tsp->dwPhase / 36) * 65; /* dinput uses microseconds, linux uses miliseconds */ if (tsp->dwPeriod <= 1000) This->effect.u.periodic.period = 1;