[bugzilla] Fix Bug 16822 - Mass Effect: Mouse input does not work (almost completely)
siro at das-labor.org
Wed May 18 13:03:39 CDT 2011
this is a patch to fix bug 16822.
Ubuntu 11.04 x64_86
nvidia driver 270.41.06
Normal dinput mouse readings:
What UnrealEngine3 does:
input:SysMouseWImpl_Acquire(); <- queue is cleaned here !
dinput:IDirectInputDevice2WImpl_GetDeviceData(); <- queue is empty,
dinput:LL_hook_proc calling <- mouse hook, fills the queue
The problem is that SysMouseWImpl_Acquire() clears the queue and it
takes to long to fill the mouse queue (winex11.drv -> wineserver ->
dinput mouse hook -> dinput queue).
IDirectInputDevice2WImpl_GetDeviceData() will always return no data.
Thats why the mouse isn't working.
This patch don't clear the dinput queue in
IDirectInputDevice2WImpl_Acquire and only append messages to the dinput
queue as long as IDirectInputDevice is acquired. This way the queue is
only filled with data as long as the device is acquired. This patch was
tested with Mass Effect and Frontlines (both UnrealEngine 3 mods), both
are not working before this patch and are working after this patch.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the wine-patches