diff options
author | Filippos Karapetis | 2014-05-04 13:57:55 +0300 |
---|---|---|
committer | Filippos Karapetis | 2014-05-04 14:03:39 +0300 |
commit | 68671d77c2028d41b6b848eb5bf6f40cc2c36f7a (patch) | |
tree | de1b25163441197c6cc49ac19278fd5e9afef11f /engines/mads | |
parent | 17b253a2519c021b36cd9f4ed00af9e051369068 (diff) | |
download | scummvm-rg350-68671d77c2028d41b6b848eb5bf6f40cc2c36f7a.tar.gz scummvm-rg350-68671d77c2028d41b6b848eb5bf6f40cc2c36f7a.tar.bz2 scummvm-rg350-68671d77c2028d41b6b848eb5bf6f40cc2c36f7a.zip |
MADS: Fix a bug in SequenceList::scan()
This resolves the FIXME in SpriteSets::remove()
Diffstat (limited to 'engines/mads')
-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(); } } |