diff options
Diffstat (limited to 'engines/xeen/screen.cpp')
-rw-r--r-- | engines/xeen/screen.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/engines/xeen/screen.cpp b/engines/xeen/screen.cpp index 65f9600220..0c7df8b776 100644 --- a/engines/xeen/screen.cpp +++ b/engines/xeen/screen.cpp @@ -33,6 +33,7 @@ namespace Xeen { */ Screen::Screen(XeenEngine *vm) : _vm(vm) { _fadeMode = false; + create(SCREEN_WIDTH, SCREEN_HEIGHT); } void Screen::update() { @@ -57,16 +58,6 @@ void Screen::addDirtyRect(const Common::Rect &r) { _dirtyRects.push_back(r); } -void Screen::transBlitFrom(const XSurface &src, const Common::Point &destPos) { - XSurface::transBlitFrom(src, destPos); - addDirtyRect(Common::Rect(destPos.x, destPos.y, destPos.x + src.w, destPos.y + src.h)); -} - -void Screen::blitFrom(const XSurface &src, const Common::Point &destPos) { - XSurface::blitFrom(src, destPos); - addDirtyRect(Common::Rect(destPos.x, destPos.y, destPos.x + src.w, destPos.y + src.h)); -} - void Screen::mergeDirtyRects() { Common::List<Common::Rect>::iterator rOuter, rInner; @@ -110,7 +101,8 @@ bool Screen::unionRectangle(Common::Rect &destRect, const Common::Rect &src1, co */ void Screen::loadPalette(const Common::String &name) { File f(name); - f.read(_tempPaltte, PALETTE_SIZE); + for (int i = 0; i < PALETTE_SIZE; ++i) + _tempPaltte[i] = f.readByte() << 2; } /** @@ -133,7 +125,7 @@ void Screen::loadPage(int pageNum) { _pages[1].create(SCREEN_WIDTH, SCREEN_HEIGHT); } - _pages[pageNum].blitFrom(*this); + blitTo(_pages[pageNum]); } /** @@ -217,6 +209,8 @@ void Screen::fadeInner(int step) { updatePalette(); } + + _vm->_events->pollEventsAndWait(); } } |