diff options
-rw-r--r-- | engines/mads/sequence.cpp | 2 | ||||
-rw-r--r-- | engines/mads/sprites.cpp | 4 |
2 files changed, 1 insertions, 5 deletions
diff --git a/engines/mads/sequence.cpp b/engines/mads/sequence.cpp index b46b5c0969..cbe0471315 100644 --- a/engines/mads/sequence.cpp +++ b/engines/mads/sequence.cpp @@ -410,7 +410,7 @@ void SequenceList::scan() { Scene &scene = _vm->_game->_scene; for (uint i = 0; i < _entries.size(); ++i) { - if (!_entries[i]._active && (_entries[i]._spritesIndex != -1)) { + if (_entries[i]._active && (_entries[i]._spritesIndex != -1)) { int idx = scene._spriteSlots.add(); setSpriteSlot(i, scene._spriteSlots[idx]); } diff --git a/engines/mads/sprites.cpp b/engines/mads/sprites.cpp index 36cbdbea12..7bd8407c41 100644 --- a/engines/mads/sprites.cpp +++ b/engines/mads/sprites.cpp @@ -404,16 +404,12 @@ void SpriteSets::remove(int idx) { (*this)[idx] = nullptr; } else { while (size() > 0 && (*this)[size() - 1] == nullptr) { - delete (*this)[size() - 1]; remove_at(size() - 1); } } if (_assetCount > 0) --_assetCount; - else - // FIXME: This is needed, otherwise scene sprites are not cleared in this case - clear(); } } |