From 1b0b0ab9a540c6fa7d5809e5d54274c43dec7fd9 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Thu, 23 May 2013 14:58:16 -0500 Subject: [PATCH] dinput: Support SendForceFeedbackCommand for OSX joysticks. --- dlls/dinput/joystick_osx.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/dlls/dinput/joystick_osx.c b/dlls/dinput/joystick_osx.c index fe7c10fea02..464b1377df9 100644 --- a/dlls/dinput/joystick_osx.c +++ b/dlls/dinput/joystick_osx.c @@ -1164,6 +1164,36 @@ static HRESULT WINAPI JoystickAImpl_CreateEffect(IDirectInputDevice8A *iface, type, params, out, outer); } +static HRESULT WINAPI JoystickWImpl_SendForceFeedbackCommand(IDirectInputDevice8W *iface, + DWORD flags) +{ + JoystickImpl *This = impl_from_IDirectInputDevice8W(iface); + HRESULT hr; + + TRACE("%p 0x%x\n", This, flags); + + if(!This->ff) + return DI_NOEFFECT; + + hr = osx_to_win32_hresult(FFDeviceSendForceFeedbackCommand(This->ff, flags)); + if(FAILED(hr)){ + WARN("FFDeviceSendForceFeedbackCommand failed: %08x\n", hr); + return hr; + } + + return S_OK; +} + +static HRESULT WINAPI JoystickAImpl_SendForceFeedbackCommand(IDirectInputDevice8A *iface, + DWORD flags) +{ + JoystickImpl *This = impl_from_IDirectInputDevice8A(iface); + + TRACE("%p 0x%x\n", This, flags); + + return JoystickWImpl_SendForceFeedbackCommand(&This->generic.base.IDirectInputDevice8W_iface, flags); +} + const struct dinput_device joystick_osx_device = { "Wine OS X joystick driver", joydev_enum_deviceA, @@ -1195,7 +1225,7 @@ static const IDirectInputDevice8AVtbl JoystickAvt = IDirectInputDevice2AImpl_EnumEffects, IDirectInputDevice2AImpl_GetEffectInfo, IDirectInputDevice2AImpl_GetForceFeedbackState, - IDirectInputDevice2AImpl_SendForceFeedbackCommand, + JoystickAImpl_SendForceFeedbackCommand, IDirectInputDevice2AImpl_EnumCreatedEffectObjects, IDirectInputDevice2AImpl_Escape, JoystickAGenericImpl_Poll, @@ -1231,7 +1261,7 @@ static const IDirectInputDevice8WVtbl JoystickWvt = IDirectInputDevice2WImpl_EnumEffects, IDirectInputDevice2WImpl_GetEffectInfo, IDirectInputDevice2WImpl_GetForceFeedbackState, - IDirectInputDevice2WImpl_SendForceFeedbackCommand, + JoystickWImpl_SendForceFeedbackCommand, IDirectInputDevice2WImpl_EnumCreatedEffectObjects, IDirectInputDevice2WImpl_Escape, JoystickWGenericImpl_Poll, -- 2.11.4.GIT