aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/surface.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2007-12-02 07:24:41 +0000
committerPaul Gilbert2007-12-02 07:24:41 +0000
commitbc58491c7505620f834917bc401c715af8f2038c (patch)
treeb3005f9e5e1969e4e5e783c36852f30c74f0a8bb /engines/lure/surface.cpp
parent11e29ca4d4ba5cc9f9ec82ab61be7e6d9ede7ff0 (diff)
downloadscummvm-rg350-bc58491c7505620f834917bc401c715af8f2038c.tar.gz
scummvm-rg350-bc58491c7505620f834917bc401c715af8f2038c.tar.bz2
scummvm-rg350-bc58491c7505620f834917bc401c715af8f2038c.zip
Modified the loadScreen method to accommodate some screens decoding to a single byte more than the actual screen size
svn-id: r29691
Diffstat (limited to 'engines/lure/surface.cpp')
-rw-r--r--engines/lure/surface.cpp6
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;
}