Testing a mouse problem in Theme Hospital

Carlos Lozano clozano at andago.com
Mon Jun 9 17:15:35 CDT 2003


I am tracing a mouse problem in the game Theme Hospital.
It is a old game, so it is not using dinput. The game 
works "correct" until that you arrive to the first
screen what you must move the mouse. The X cursor is
visible in pos 0,0, and the game cursor in middle of
the screen. If you move to right or down, the game cursor
moves correctly, but if you move to left or up the game
cursor doesn't move. The X cursor is continually returning
to pos 0,0. In traces:

trace:cursor:X11DRV_SetCursorPos warping to (0,0)
trace:cursor:send_mouse_event (8001,0,0)
trace:cursor:X11DRV_SetCursorPos warping to (0,0)
trace:cursor:send_mouse_event (8001,0,0)

000a:Call window proc 0x492050 (hwnd=0x10021,msg=WM_MOUSEMOVE,wp=00000000,lp=00000000)
000a:Call kernel32._ConfirmSysLevel(4085cce8) ret=40803b59
000a:Ret  kernel32._ConfirmSysLevel() retval=00000000 ret=40803b59
000a:Call user32.GetClipCursor(42372d0c) ret=0049135b
000a:Ret  user32.GetClipCursor() retval=00000001 ret=0049135b
000a:Call user32.SetCursorPos(00000000,00000000) ret=00491408
000a:Call x11drv.SetCursorPos(00000000,00000000) ret=407ef1b4
000a:trace:cursor:X11DRV_SetCursorPos warping to (0,0)
000a:Ret  x11drv.SetCursorPos() retval=00000000 ret=407ef1b4
000a:Ret  user32.SetCursorPos() retval=00000001 ret=00491408
000a:Call user32.DefWindowProcA(00010021,00000200,00000000,00000000) ret=00494ad7

I am not sure, if it is the own game, or a different routine
what is moving the X cursor back to (0,0), but i think that
the problem is that because it is always in 0,0, the X mouse events
doesn't process the left/up moves.

I have been tracing X11DRV_MotionNotify, and if i move only up/left
from the start of the game, it has always coordinates values 0,
so the game can't know what the mouse is moving up/left.

Some idea, fixing it?


 ___         _          \  |  /  Consulting
| . |._ _  _| | ___  ___  ___    http://www.andago.com
|   || ' |/ . |<_> |/ . |/ . \__ GNU/Linux
|_|_||_|_|\___|<___|\_. |\___/     _ \  __|\ \  /
 Carlos A. Lozano   <___'/ | \ -_) __/\__ \ >  <  -_)
 [ carlos.lozano at andago.com ]\___|_|  ____/ _/\_\___|
 [ calb at epsxe.com           ]  http://www.epsxe.com

More information about the wine-devel mailing list