Opened 2 years ago

Closed 16 months ago

Last modified 16 months 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
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 2 years ago.

Download all attachments as: .zip

Change History (4)

Changed 2 years ago by csnover

Attachment: pq4-cd.027 added

comment:1 Changed 2 years ago by csnover

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 Changed 17 months ago by csnover

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 Changed 16 months ago by csnover

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.

Last edited 16 months ago by csnover (previous) (diff)
Note: See TracTickets for help on using tickets.