MADS: Fix a bug in SequenceList::scan()
This resolves the FIXME in SpriteSets::remove()
This commit is contained in:
parent
17b253a251
commit
68671d77c2
2 changed files with 1 additions and 5 deletions
|
@ -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]);
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue