[Scummvm-tracker] [ScummVM] #9689: SCI: PQ4: Endgame is difficult to navigate due to lack of mouse capture (was: SCI: PQ4: Endgame is difficult to navigate due to loss of mouse capture)
Colin Snover
trac at scummvm.org
Thu Jan 12 21:03:30 CET 2017
#9689: SCI: PQ4: Endgame is difficult to navigate due to lack of mouse capture
-----------------------------+-------------------------
Reporter: csnover | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: SCI
Resolution: | Keywords: sci32
Game: Police Quest 4 |
-----------------------------+-------------------------
Description changed by csnover:
Old description:
> 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?
New description:
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
--
--
Ticket URL: <https://bugs.scummvm.org/ticket/9689#comment:1>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list