aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorstevenhoefel2017-01-16 13:19:47 +1100
committerstevenhoefel2017-01-16 13:19:47 +1100
commitd765bb334d3cf26cc77ae8825718c39eb5792126 (patch)
treef5ee62f3dea5c6443971c0cc6a30874af1e4b9b1 /engines
parent9ff41967a04e54e5de6207b8c46442833857aadc (diff)
downloadscummvm-rg350-d765bb334d3cf26cc77ae8825718c39eb5792126.tar.gz
scummvm-rg350-d765bb334d3cf26cc77ae8825718c39eb5792126.tar.bz2
scummvm-rg350-d765bb334d3cf26cc77ae8825718c39eb5792126.zip
DIRECTOR: Rewind shared cast memorystream before trying to load the data.
Diffstat (limited to 'engines')
-rw-r--r--engines/director/frame.cpp1
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);