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;
|
Scene &scene = _vm->_game->_scene;
|
||||||
|
|
||||||
for (uint i = 0; i < _entries.size(); ++i) {
|
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();
|
int idx = scene._spriteSlots.add();
|
||||||
setSpriteSlot(i, scene._spriteSlots[idx]);
|
setSpriteSlot(i, scene._spriteSlots[idx]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -404,16 +404,12 @@ void SpriteSets::remove(int idx) {
|
||||||
(*this)[idx] = nullptr;
|
(*this)[idx] = nullptr;
|
||||||
} else {
|
} else {
|
||||||
while (size() > 0 && (*this)[size() - 1] == nullptr) {
|
while (size() > 0 && (*this)[size() - 1] == nullptr) {
|
||||||
delete (*this)[size() - 1];
|
|
||||||
remove_at(size() - 1);
|
remove_at(size() - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_assetCount > 0)
|
if (_assetCount > 0)
|
||||||
--_assetCount;
|
--_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