Opened 8 years ago

Closed 7 years ago

Last modified 7 years ago

#9689 closed defect (fixed)

SCI: PQ4: Endgame is difficult to navigate due to lack of mouse capture

Reported by: csnover Owned by: csnover
Priority: normal Component: Engine: SCI
Version: Keywords: sci32
Cc: Game: Police Quest 4

Description (last modified by csnover)

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?

Reproduction:

  1. Load save game
  2. Open inventory
  3. Use hand icon on case (2nd inventory item)
  4. Select flashlight (4th inventory item)
  5. Click OK
  6. Click anywhere to illuminate flashlight
  7. Move mouse cursor off the right edge of the screen

Expected: Mouse cursor is warped to the left edge of the screen
Actual: Mouse cursor is off the screen and the game keeps rotating to the right

Attachments (1)

pq4-cd.027 (45.3 KB ) - added by csnover 8 years ago.

Download all attachments as: .zip

Change History (4)

by csnover, 8 years ago

Attachment: pq4-cd.027 added

comment:1 by csnover, 8 years ago

Description: modified (diff)
Summary: SCI: PQ4: Endgame is difficult to navigate due to loss of mouse captureSCI: PQ4: Endgame is difficult to navigate due to lack of mouse capture

comment:2 by csnover, 7 years ago

Owner: set to csnover

I have a potential fix for this issue pending along with the rest of the backends refactoring in PR#1009.

comment:3 by csnover, 7 years ago

Resolution: fixed
Status: newclosed

Since PR#1009 is landed now I will consider this essentially fixed. Without mouse capture, things are not perfect, but they are improved to the point where this sequence is no longer crazy and impossible to control.

Version 0, edited 7 years ago by csnover (next)
Note: See TracTickets for help on using tickets.