From 55c366b988e4e49342690f0fc4b180822f005272 Mon Sep 17 00:00:00 2001 From: Vladimir Menshakov Date: Mon, 13 Jun 2011 12:22:48 +0400 Subject: DREAMWEB: fixed monitor scrolling --- engines/dreamweb/dreamweb.cpp | 8 ++++++-- 1 file 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(); } -- cgit v1.2.3