diff --git a/engines/composer/graphics.cpp b/engines/composer/graphics.cpp index 32b9812f328..b95a6bc5679 100644 --- a/engines/composer/graphics.cpp +++ b/engines/composer/graphics.cpp @@ -92,10 +92,12 @@ void ComposerEngine::loadAnimation(Animation *&anim, uint16 animId, int16 x, int Pipe *pipe = *j; if (!pipe->hasResource(ID_ANIM, animId)) continue; + stream = pipe->getResource(ID_ANIM, animId, false); // When loading from savegame, make sure we have the correct stream - if ((!size) || (stream->size() >= size)) break; + if ((!size) || (stream->size() >= size)) + break; stream = NULL; } @@ -107,10 +109,14 @@ void ComposerEngine::loadAnimation(Animation *&anim, uint16 animId, int16 x, int } Common::List::iterator j; for (j = _libraries.begin(); j != _libraries.end(); j++) { + if (!j->_archive->hasResource(ID_ANIM, animId)) + continue; + stream = j->_archive->getResource(ID_ANIM, animId); // When loading from savegame, make sure we have the correct stream - if ((!size) || (stream->size() >= size)) break; + if ((!size) || (stream->size() >= size)) + break; stream = NULL; }