diff options
Diffstat (limited to 'engines/parallaction')
-rw-r--r-- | engines/parallaction/parallaction_br.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp index 89166c8d19..87aa8289ab 100644 --- a/engines/parallaction/parallaction_br.cpp +++ b/engines/parallaction/parallaction_br.cpp @@ -207,6 +207,16 @@ void Parallaction_br::freeLocation(bool removeAll) { _gfx->freeLocationObjects(); + // save zone and animation flags + ZoneList::iterator zit = _location._zones.begin(); + for ( ; zit != _location._zones.end(); ++zit) { + restoreOrSaveZoneFlags(*zit, false); + } + AnimationList::iterator ait = _location._animations.begin(); + for ( ; ait != _location._animations.end(); ++ait) { + restoreOrSaveZoneFlags(*ait, false); + } + _location._animations.remove(_char._ani); _location.cleanup(removeAll); _location._animations.push_front(_char._ani); |