diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/lure/surface.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
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; } |