diff options
author | Paul Gilbert | 2007-12-02 07:24:41 +0000 |
---|---|---|
committer | Paul Gilbert | 2007-12-02 07:24:41 +0000 |
commit | bc58491c7505620f834917bc401c715af8f2038c (patch) | |
tree | b3005f9e5e1969e4e5e783c36852f30c74f0a8bb /engines/lure | |
parent | 11e29ca4d4ba5cc9f9ec82ab61be7e6d9ede7ff0 (diff) | |
download | scummvm-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')
-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; } |