[Scummvm-tracker] [ScummVM :: Bugs] #16233: OSystem::setShakePos() vertical shake broken, July regression

ScummVM :: Bugs trac at scummvm.org
Thu Sep 25 18:39:30 UTC 2025


#16233: OSystem::setShakePos() vertical shake broken, July regression
----------------------+-----------------------
Reporter:  sluicebox  |      Owner:  (none)
    Type:  defect     |     Status:  new
Priority:  blocker    |  Component:  --Unset--
 Version:             |   Keywords:
    Game:             |
----------------------+-----------------------
 The vertical screen shaking effect provided by the backends no longer
 works. Instead of drawing the screen at a y offset, with black pixels for
 the uncovered area at the top, the screen is stretched and no black pixels
 are drawn. Horizontal screen shaking still works, but diagonal does not.
 (SCI uses all three.)

 Bisected to `BACKENDS: Implement safe area handling in
 WindowedGraphicsManager` d3121b0320d7bbbae5f79d5edb9f9c5a764ffbf6 from
 pull request: https://github.com/scummvm/scummvm/pull/6646

 This occurs on both Windows and Mac, using both SDL Surface and OpenGL
 graphics modes.

 To find good test cases, I scanned my corpus of decompiled SCI scripts for
 demos that shake while displaying a menu at the top of the screen. Note
 that our TESTBED engine is not good for this test because it shows a black
 background with little content, so the difference is subtle.

 To test vertical shake with the QFG2 demo:
 1. https://downloads.scummvm.org/frs/demos/sci/qfg2-dos-ni-demo-en.zip
 2. Screen shakes after 5 seconds

 To test vertical shake with KQ1 demo (more colors, easier to see):
 1. https://downloads.scummvm.org/frs/demos/sci/kq1sci-dos-ni-demo-en.zip
 2. Debugger: `room 52`

 To test diagonal shake with SQ3 demo:
 1. https://downloads.scummvm.org/frs/demos/sci/sq3-dos-ni-demo-en.zip
 2. Debugger: `room 62`

 To test horizontal shake with LB1 demo (to verify it still works):
 1. https://downloads.scummvm.org/frs/demos/sci/laurabow-dos-ni-demo-en.zip
 2. Debugger: `room 781`
 3. Wait for the *very* slow boat to hit the dock. I added horizontal shake
 in 2019; I know this pain! https://github.com/scummvm/scummvm/pull/1943

 Attached are before and after pictures of KQ4 with a vertical shake, and
 an picture of Master Shake, my spirit animal, for inspiration.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/16233>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list