http://bugs.winehq.org/show_bug.cgi?id=29732
Bug #: 29732 Summary: Prince of Persia: The Sands of Time mouse clipping broken Product: Wine Version: 1.4-rc1 Platform: x86 OS/Version: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-dinput AssignedTo: wine-bugs@winehq.org ReportedBy: jonas.bugzilla@gmail.com Classification: Unclassified
The mouse (well, trackpad in my case) no longer works very well in PoP:SoT since
commit f6368c4202afd47685d2d727c728a2e62dbe9735 Author: Alexandre Julliard julliard@winehq.org Date: Thu Jan 19 13:34:55 2012 +0100
dinput: Clip the mouse to the entire window instead of a 1x1 rectangle in exclusive mode.
The easiest way to see the problem is to
1) download and install the demo (I'll add the download link) 2) go to the graphics options and disable fog and water effects (water effects work fine in the latest Wine, fog doesn't) 3) start a new game and move forward (Z-key) to exit the "movement tutorial" 4) skip the introduction movie via Esc 5) press the f key to switch to mouse look mode 6) move the mouse/trackpad around
In step 6, you should be able to look around 360 degrees. The breaking commit limits the area in which you can look around to about 90 degrees (sometimes you can break out of it, and the area is not always the same 90 degrees). In particular, looking down is almost completely disabled most of the time.
Sometimes, after pressing Esc to activate the in-game menu, the mouse cursor will also be stuck to a particular area of the screen. Quickly moving the cursor around sometimes allows you to break free of those areas.
I'm using a 13" MacBook Pro with Mac OS X 10.6.8 and XQuartz 2.7.1_rc1 (same problem with XQuartz 2.7.0)
http://bugs.winehq.org/show_bug.cgi?id=29732
Jonas Maebe jonas.bugzilla@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression URL| |http://www.gamershell.com/d | |ownload_4925.shtml Regression SHA1| |f6368c4202afd47685d2d727c72 | |8a2e62dbe9735
http://bugs.winehq.org/show_bug.cgi?id=29732
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org
http://bugs.winehq.org/show_bug.cgi?id=29732
--- Comment #1 from Alexandre Julliard julliard@winehq.org 2012-01-30 07:02:58 CST --- I'm guessing that you don't have XInput2, right?
http://bugs.winehq.org/show_bug.cgi?id=29732
--- Comment #2 from Jonas Maebe jonas.bugzilla@gmail.com 2012-01-30 10:57:20 CST --- I think I do:
$ xinput -version xinput version 1.5.3 XI version on server: 2.0
Wine's config.log also contains several times:
| #define HAVE_X11_EXTENSIONS_XINPUT_H 1 | #define HAVE_X11_EXTENSIONS_XINPUT2_H 1
http://bugs.winehq.org/show_bug.cgi?id=29732
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2012-01-30 11:04:13 CST --- Try a WINEDEBUG=cursor and check for xinput 2 messages.
http://bugs.winehq.org/show_bug.cgi?id=29732
--- Comment #4 from Jonas Maebe jonas.bugzilla@gmail.com 2012-01-30 11:17:19 CST --- Indeed, the following block of messages is repeated over and over again:
trace:cursor:ClipCursor Clipping to (null) trace:cursor:clip_fullscreen_window win 0x30032 clipping fullscreen trace:cursor:ungrab_clipping_window no longer clipping trace:cursor:clip_cursor_notify clip hwnd changed from 0x100c6 to 0x0 warn:cursor:grab_clipping_window XInput2 not supported, refusing to clip to (0,0)-(800,600)
http://bugs.winehq.org/show_bug.cgi?id=29732
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |1592b9c9de2338a70835ecbdd5a | |48318162b123f Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2012-01-30 14:07:27 CST --- I added a workaround, though it will still work better if you install XInput2.
http://bugs.winehq.org/show_bug.cgi?id=29732
Jeremy Huddleston jeremyhu@freedesktop.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremyhu@freedesktop.org
--- Comment #6 from Jeremy Huddleston jeremyhu@freedesktop.org 2012-01-31 04:24:21 CST --- No. As you can see by his comment above, the server does support Xi2. Your log messages are in error. Your enable_xinput2 bails out leaving enable_xinput2 due to this code:
if (class->mode == XIModeAbsolute) { TRACE( "Device %u (%s) class %u num %u %f,%f res %u is absolute, not enabling XInput2\n", devices[i].deviceid, debugstr_a(devices[i].name), j, class->number, class->min, class->max, class->resolution ); goto done; }
So you should (1) fix your warnings to be more accurate and (2) work with XIModeAbsolute
http://bugs.winehq.org/show_bug.cgi?id=29732
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2012-01-31 04:53:13 CST --- The warnings are perfectly accurate, absolute devices are not supported. It's not clear how that would work with apps that require moving beyond the screen limits anyway, so you'll have to live with warping for now.
http://bugs.winehq.org/show_bug.cgi?id=29732
--- Comment #8 from Jeremy Huddleston jeremyhu@freedesktop.org 2012-01-31 12:28:40 CST --- The warning should say Xi2 is not *enabled* rather than not supported. The server supports Xi2, but wine claims that it doesn't. The warning should be less ambiguous.
What do you mean by, "..., though it will still work better if you install XInput2" ... Xi2 is enabled in the server, but you leave it set as xi_unknown inenable_xinput2
http://bugs.winehq.org/show_bug.cgi?id=29732
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2012-01-31 12:44:58 CST --- Don't be silly. All the warning says is that we can't support XInput on this setup. If you want to differentiate between "not supported because the server doesn't have the extension" and "not supported because the server doesn't export a relative device", you have to look at the whole trace, all the details are printed at startup. We can't have every single debug message print a full system diagnostic.
http://bugs.winehq.org/show_bug.cgi?id=29732
Jonas Maebe jonas.bugzilla@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Jonas Maebe jonas.bugzilla@gmail.com 2012-01-31 15:11:27 CST --- Many thanks for the fix, I can confirm everything works fine again. Also thanks to Jeremy for following up!
http://bugs.winehq.org/show_bug.cgi?id=29732
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |RESOLVED CC| |adys.wh@gmail.com
--- Comment #11 from Jerome Leclanche adys.wh@gmail.com 2012-01-31 16:29:42 CST --- Fixed bugs are closed at release time
http://bugs.winehq.org/show_bug.cgi?id=29732
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|directx-dinput |winex11.drv
http://bugs.winehq.org/show_bug.cgi?id=29732
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2012-02-02 13:37:42 CST --- Closing bugs fixed in 1.4-rc2.