diff options
-rw-r--r-- | engines/director/frame.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp index c58ae7d456..bbaa61d1d3 100644 --- a/engines/director/frame.cpp +++ b/engines/director/frame.cpp @@ -722,6 +722,7 @@ Image::ImageDecoder *Frame::getImageFrom(uint16 spriteId) { if (_vm->getSharedBMP() != NULL && _vm->getSharedBMP()->contains(imgId)) { debugC(2, kDebugImages, "Shared cast BMP: id: %d", imgId); pic = _vm->getSharedBMP()->getVal(imgId); + pic->seek(0); //TODO: this actually gets re-read every loop... we need to rewind it! bc = static_cast<BitmapCast *>(_vm->getSharedCasts()->getVal(spriteId)); } else if (_vm->_currentScore->getArchive()->hasResource(MKTAG('B', 'I', 'T', 'D'), imgId)) { pic = _vm->_currentScore->getArchive()->getResource(MKTAG('B', 'I', 'T', 'D'), imgId); |