[DInput] Fix 'peek' code for mouse (S3 problem)

Stefan Dösinger stefandoesinger at gmx.at
Sat May 7 17:11:14 CDT 2005


> trace:dinput:SysMouseAImpl_SetCooperativeLevel
> (this=0x77c55f18,0x0008004c,0x00000006)
> trace:dinput:SysMouseAImpl_SetCooperativeLevel  cooperative level :
> DISCL_FOREGROUND DISCL_NONEXCLUSIVE -----------^
>
> And this means that the mouse cursor will NOT be hidden by DInput. So S3
> really uses the standard GDI cursor at the same time than DInput.
>
> This means that one (hacky) way to fix your issue would be to disable mouse
> warping as soon as 'NONEXCLUSIVE' is given AND that the application did not
> hide the mouse cursor itself. After, one just needs to hope the application
> did not resort to setting an 'empty' mouse cursor :-)

> I wanted first to work on the real fix but as no-one answered my mail on
> the XOrg list yet, I will maybe do the 'hacky' patch described above
> waiting for things to move on the X11 side.
Well, now we know at least what's going wrong.

> > I don't know if this Demo works with Wine. The original S3 does a lot of
> > checks on system dlls and such, which causes the game to refuse to run on
> > Windows XP and Wine. Bluebyte has published a modified s3.exe which makes
> > the game start on Windows 2K, Windows XP and (as a side effect) with
> > Wine. I don't know how the demo behaves.
>
> Nope it does not work in Wine and neither does it on WinXP. But it works
> fine in Win98 + QEMU :-)
Interesting. The full version didn't work for me.(Win95 + qemu and WinXP + 
Qemu). What qemu version do you use?

Many thanks for your help so far.
Stefan



More information about the wine-devel mailing list