diff options
author | Vladimir Menshakov | 2011-06-12 23:50:19 +0400 |
---|---|---|
committer | Alyssa Milburn | 2011-06-15 17:34:38 +0200 |
commit | edf7d9b42bb4f88b8681e0d3732b4e2daad377c9 (patch) | |
tree | 5e81ab0209c184c44f2135065779fca4f7b8d8f3 /engines | |
parent | 6deff847492e33bf270806cacb85ae4db3cc530c (diff) | |
download | scummvm-rg350-edf7d9b42bb4f88b8681e0d3732b4e2daad377c9.tar.gz scummvm-rg350-edf7d9b42bb4f88b8681e0d3732b4e2daad377c9.tar.bz2 scummvm-rg350-edf7d9b42bb4f88b8681e0d3732b4e2daad377c9.zip |
DREAMWEB: unstubbed printundermon
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 25 | ||||
-rw-r--r-- | engines/dreamweb/dreamweb.h | 1 |
2 files changed, 25 insertions, 1 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index 4fe9b41d97..6883580b74 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -312,6 +312,29 @@ void DreamWebEngine::blit(const uint8 *src, int pitch, int x, int y, int w, int _system->copyRectToScreen(src, pitch, x, y, w, h); } +void DreamWebEngine::printUnderMonitor() { + _context.di = dreamgen::kScreenwidth * 43 + 76; + _context.si = _context.di + 8 * dreamgen::kScreenwidth; + _context.es = _context.data.word(dreamgen::kWorkspace); + + Graphics::Surface *s = _system->lockScreen(); + if (!s) + error("lockScreen failed"); + + for(uint y = 0; y < 104; ++y) { + uint8 *src = (uint8 *)s->getBasePtr(76 + 8, 43 + y); + uint8 *dst = _context.es.ptr(_context.di, 170); + for(uint x = 0; x < 170; ++x) { + if (*src < 231) + *dst++ = *src++; + } + _context._add(_context.di, dreamgen::kScreenwidth); + _context._add(_context.si, dreamgen::kScreenwidth); + } + _system->unlockScreen(); +} + + void DreamWebEngine::cls() { _system->fillScreen(0); } @@ -372,7 +395,7 @@ void worktoscreen(Context &context) { } void printundermon(Context &context) { - warning("printundermon: STUB"); + context.engine->printUnderMonitor(); } void cls(Context &context) { diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h index f459d8bcf9..33a88e0408 100644 --- a/engines/dreamweb/dreamweb.h +++ b/engines/dreamweb/dreamweb.h @@ -96,6 +96,7 @@ public: uint readFromSaveFile(uint8 *data, uint size); void setShakePos(int pos) { _system->setShakePos(pos); } + void printUnderMonitor(); void quit(); |