From f2d7875db66b8c89a3f6786335045c05a36a1d07 Mon Sep 17 00:00:00 2001 From: Nicola Mettifogo Date: Sat, 28 Mar 2009 14:17:17 +0000 Subject: Added initialization for _index and _locationIndex in Zone objects. svn-id: r39723 --- engines/parallaction/objects.cpp | 3 ++- engines/parallaction/objects.h | 3 +++ engines/parallaction/parallaction_br.cpp | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'engines/parallaction') diff --git a/engines/parallaction/objects.cpp b/engines/parallaction/objects.cpp index 8358a20ad2..9c6d3cb96c 100644 --- a/engines/parallaction/objects.cpp +++ b/engines/parallaction/objects.cpp @@ -184,7 +184,8 @@ Zone::Zone() { _label = 0; // BRA specific - _index = 0; + _index = INVALID_ZONE_INDEX; + _locationIndex = INVALID_LOCATION_INDEX; _linkedName = 0; } diff --git a/engines/parallaction/objects.h b/engines/parallaction/objects.h index 4eabf08720..393913edeb 100644 --- a/engines/parallaction/objects.h +++ b/engines/parallaction/objects.h @@ -266,6 +266,9 @@ struct TypeData { #define ZONENAME_LENGTH 32 +#define INVALID_LOCATION_INDEX ((uint32)-1) +#define INVALID_ZONE_INDEX ((uint32)-1) + struct Zone { private: int16 _right; diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp index 87aa8289ab..0cd89bf647 100644 --- a/engines/parallaction/parallaction_br.cpp +++ b/engines/parallaction/parallaction_br.cpp @@ -486,6 +486,10 @@ void Parallaction_br::setFollower(const Common::String &name) { } void Parallaction_br::restoreOrSaveZoneFlags(ZonePtr z, bool restore) { + if ((z->_locationIndex == INVALID_LOCATION_INDEX) || (z->_index == INVALID_ZONE_INDEX)) { + return; + } + if (restore) { z->_flags = _zoneFlags[z->_locationIndex][z->_index]; } else { -- cgit v1.2.3