From bc58491c7505620f834917bc401c715af8f2038c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 2 Dec 2007 07:24:41 +0000 Subject: Modified the loadScreen method to accommodate some screens decoding to a single byte more than the actual screen size svn-id: r29691 --- engines/lure/surface.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'engines/lure/surface.cpp') diff --git a/engines/lure/surface.cpp b/engines/lure/surface.cpp index bdce9f7d43..fe8d86d609 100644 --- a/engines/lure/surface.cpp +++ b/engines/lure/surface.cpp @@ -96,10 +96,12 @@ Surface::~Surface() { void Surface::loadScreen(uint16 resourceId) { MemoryBlock *rawData = Disk::getReference().getEntry(resourceId); PictureDecoder decoder; - MemoryBlock *tmpScreen = decoder.decode(rawData, FULL_SCREEN_HEIGHT * FULL_SCREEN_WIDTH); + MemoryBlock *tmpScreen = decoder.decode(rawData, FULL_SCREEN_HEIGHT * FULL_SCREEN_WIDTH + 1); delete rawData; empty(); - copyFrom(tmpScreen, MENUBAR_Y_SIZE * FULL_SCREEN_WIDTH); + + _data->copyFrom(tmpScreen, 0, MENUBAR_Y_SIZE * FULL_SCREEN_WIDTH, + (FULL_SCREEN_HEIGHT - MENUBAR_Y_SIZE) * FULL_SCREEN_WIDTH); delete tmpScreen; } -- cgit v1.2.3