aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/screen.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2010-08-01 17:54:48 +0000
committerMatthew Hoops2010-08-01 17:54:48 +0000
commit79bf94c87729506b556f66d15ea30827b509451a (patch)
treec5602be4e7501dc543770bd7aed5631484c3630a /engines/sci/graphics/screen.cpp
parentf3851674f38bfc5a799dd52e2ef2617517280c5f (diff)
downloadscummvm-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.cpp16
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;