diff options
author | Vladimir Menshakov | 2011-06-13 12:22:48 +0400 |
---|---|---|
committer | Alyssa Milburn | 2011-06-15 17:34:41 +0200 |
commit | 55c366b988e4e49342690f0fc4b180822f005272 (patch) | |
tree | 350a7fb8f584cbe44a3c35a0e27e6f7e6a827a4f | |
parent | 77624071bcb8c4b938dd054db05dd512d5e73edb (diff) | |
download | scummvm-rg350-55c366b988e4e49342690f0fc4b180822f005272.tar.gz scummvm-rg350-55c366b988e4e49342690f0fc4b180822f005272.tar.bz2 scummvm-rg350-55c366b988e4e49342690f0fc4b180822f005272.zip |
DREAMWEB: fixed monitor scrolling
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index b3bae38d24..af7ccc83e3 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -332,24 +332,28 @@ void DreamWebEngine::blit(const uint8 *src, int pitch, int x, int y, int w, int } void DreamWebEngine::printUnderMonitor() { + _context.es = _context.data.word(dreamgen::kWorkspace); _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 *src = (uint8 *)s->getBasePtr(76, 43 + 8 + y); uint8 *dst = _context.es.ptr(_context.di, 170); for(uint x = 0; x < 170; ++x) { if (*src < 231) *dst++ = *src++; + else { + ++dst; ++src; + } } _context._add(_context.di, dreamgen::kScreenwidth); _context._add(_context.si, dreamgen::kScreenwidth); } + _context.cx = 0; _system->unlockScreen(); } |