diff options
author | Matthew Hoops | 2010-08-01 17:54:48 +0000 |
---|---|---|
committer | Matthew Hoops | 2010-08-01 17:54:48 +0000 |
commit | 79bf94c87729506b556f66d15ea30827b509451a (patch) | |
tree | c5602be4e7501dc543770bd7aed5631484c3630a /engines/sci/graphics/screen.cpp | |
parent | f3851674f38bfc5a799dd52e2ef2617517280c5f (diff) | |
download | scummvm-rg350-79bf94c87729506b556f66d15ea30827b509451a.tar.gz scummvm-rg350-79bf94c87729506b556f66d15ea30827b509451a.tar.bz2 scummvm-rg350-79bf94c87729506b556f66d15ea30827b509451a.zip |
SCI: Move kernelShakeScreen to GfxScreen so it can be used in SCI32 (it's used in GK1)
svn-id: r51583
Diffstat (limited to 'engines/sci/graphics/screen.cpp')
-rw-r--r-- | engines/sci/graphics/screen.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp index 131a3d2eb8..839b9975c5 100644 --- a/engines/sci/graphics/screen.cpp +++ b/engines/sci/graphics/screen.cpp @@ -534,6 +534,22 @@ void GfxScreen::setVerticalShakePos(uint16 shakePos) { g_system->setShakePos(shakePos * 2); } +void GfxScreen::kernelShakeScreen(uint16 shakeCount, uint16 directions) { + while (shakeCount--) { + if (directions & SCI_SHAKE_DIRECTION_VERTICAL) + setVerticalShakePos(10); + // TODO: horizontal shakes + g_system->updateScreen(); + g_sci->getEngineState()->wait(3); + + if (directions & SCI_SHAKE_DIRECTION_VERTICAL) + setVerticalShakePos(0); + + g_system->updateScreen(); + g_sci->getEngineState()->wait(3); + } +} + void GfxScreen::dither(bool addToFlag) { int y, x; byte color, ditheredColor; |