[Scummvm-tracker] [ScummVM] #9689: SCI: PQ4: Endgame is difficult to navigate due to loss of mouse capture

Colin Snover trac at scummvm.org
Thu Jan 12 20:42:29 CET 2017


#9689: SCI: PQ4: Endgame is difficult to navigate due to loss of mouse capture
--------------------+----------------------------
Reporter:  csnover  |      Owner:  (none)
    Type:  defect   |     Status:  new
Priority:  normal   |  Component:  Engine: SCI
Keywords:  sci32    |       Game:  Police Quest 4
--------------------+----------------------------
 At the end of the game in the dark room (save game attached), a pseudo-VR
 mode is used where moving the mouse to the left or right edge of the game
 screen will cause the view to “rotate” to the left or right, then move the
 mouse to the opposite edge of the screen (having “rotated” one full
 screen).

 This works OK in the original interpreter because it was impossible to
 move the mouse away from the game screen, but in ScummVM (especially in
 windowed mode) moving the cursor to the edge of the screen will often
 cause the mouse to move a bit outside of the window.

 Once the cursor is outside the window, it will not be moved to the
 opposite edge of the game screen. Returning the mouse to the game screen
 from the edge that it just exited will cause the cursor to jump from the
 (correct) opposite edge of the screen back to the (wrong) edge that it
 just left, causing the game to rotate again. This confusing behaviour
 continues on and on until the user manages to keep the cursor within the
 ScummVM window long enough for the transition to finish and the mouse to
 successfully warp to the opposite side of the screen.

 The problem also exists in fullscreen mode if you have more than one
 monitor, since the mouse is still not captured and can move off to another
 screen.

 I am not sure what a good solution here is. Modifying the game script to
 set up a cursor restrict rect may or may not work OK, probably depending
 upon how close to the edge the hotspots are and whether there is enough
 room in the game script to add such a thing. Maybe someone else has a
 better idea of what to do?

--
Ticket URL: <https://bugs.scummvm.org/ticket/9689>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list