From a9f5340cbaea79c12f66e0f50c82ab44c037752f Mon Sep 17 00:00:00 2001 From: Nicola Mettifogo Date: Sat, 28 Mar 2009 14:03:51 +0000 Subject: Save zone and animation flags when a location is closed. This fixes bug #2718462. svn-id: r39722 --- engines/parallaction/parallaction_br.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'engines/parallaction') 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); -- cgit v1.2.3