From 484901e7a299f26afa1be9ca1644fee0aef7acf1 Mon Sep 17 00:00:00 2001
From: Paul Gilbert
Date: Fri, 16 Jan 2015 08:30:27 -0500
Subject: XEEN: Fixes and cleanup for setIndoorsObjects

---
 engines/xeen/interface.cpp     |  10 +-
 engines/xeen/interface_map.cpp | 267 ++++++++++++++++++++++++-----------------
 engines/xeen/interface_map.h   |  28 ++---
 3 files changed, 176 insertions(+), 129 deletions(-)

(limited to 'engines')

diff --git a/engines/xeen/interface.cpp b/engines/xeen/interface.cpp
index 72bcdd95d1..9aa76f614e 100644
--- a/engines/xeen/interface.cpp
+++ b/engines/xeen/interface.cpp
@@ -560,8 +560,8 @@ void Interface::draw3d(bool updateFlag) {
 
 	// Loop to update the frame numbers for each maze object, applying the animation frame
 	// limits as specified by the map's _animationInfo listing
-	for (uint i = 0; i < map._mobData._objects.size(); ++i) {
-		MazeObject &mazeObject = map._mobData._objects[i];
+	for (uint idx = 0; idx < map._mobData._objects.size(); ++idx) {
+		MazeObject &mazeObject = map._mobData._objects[idx];
 		AnimationEntry &animEntry = map._animationInfo[mazeObject._spriteId];
 		int directionIndex = DIRECTION_ANIM_POSITIONS[mazeObject._direction][partyDirection];
 
@@ -569,13 +569,13 @@ void Interface::draw3d(bool updateFlag) {
 			mazeObject._frame = animEntry._frame1._frames[directionIndex];
 		} else {
 			++mazeObject._frame;
-			if ((int)i == objNum && _animCounter > 0 && (
+			if ((int)idx == objNum && _animCounter > 0 && (
 					objObject._spriteId == (_vm->_files->_isDarkCc ? 15 : 16) ||
 					objObject._spriteId == 58 || objObject._spriteId == 73)) {
 				if (mazeObject._frame > 4 || mazeObject._spriteId == 58)
 					mazeObject._frame = 1;
-			} else if (mazeObject._frame == animEntry._frame2._frames[directionIndex]) {
-				mazeObject._frame = animEntry._frame2._frames[directionIndex];
+			} else if (mazeObject._frame >= animEntry._frame2._frames[directionIndex]) {
+				mazeObject._frame = animEntry._frame1._frames[directionIndex];
 			}
 		}
 
diff --git a/engines/xeen/interface_map.cpp b/engines/xeen/interface_map.cpp
index 3d9ed10c5e..da9c2957c9 100644
--- a/engines/xeen/interface_map.cpp
+++ b/engines/xeen/interface_map.cpp
@@ -644,9 +644,9 @@ void InterfaceMap::setMonsterSprite(DrawStruct &drawStruct, MazeMonster &monster
 
 void InterfaceMap::setIndoorObjects() {
 	Common::Point mazePos = _vm->_party._mazePosition;
-	_objNumber = 0;
-	const int8 *posOffset = &SCREEN_POSITIONING_X[_vm->_party._mazeDirection][0];
+	Direction dir = _vm->_party._mazeDirection;
 	Common::Point pt;
+	_objNumber = 0;
 
 	Common::Array<MazeObject> &objects = _vm->_map->_mobData._objects;
 	for (uint idx = 0; idx < objects.size(); ++idx) {
@@ -656,14 +656,14 @@ void InterfaceMap::setIndoorObjects() {
 		int listOffset;
 		if (_vm->_files->_isDarkCc) {
 			listOffset = mazeObject._spriteId == 47 ? 1 : 0;
-		}
-		else {
+		} else {
 			listOffset = mazeObject._spriteId == 113 ? 1 : 0;
 		}
 
 		// Position 1
-		pt = Common::Point(mazePos.x + posOffset[2], mazePos.y + posOffset[194]);
-		if (pt == mazeObject._position && _indoorList._objects0._frame == -1) {
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][2]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][2]) == mazeObject._position.y
+			&& _indoorList._objects0._frame == -1) {
 			_indoorList._objects0._x = INDOOR_OBJECT_X[listOffset][0];
 			_indoorList._objects0._y = INDOOR_OBJECT_Y[listOffset][0];
 			_indoorList._objects0._frame = mazeObject._frame;
@@ -675,8 +675,9 @@ void InterfaceMap::setIndoorObjects() {
 		}
 
 		// Position 2
-		pt = Common::Point(mazePos.x + posOffset[7], mazePos.y + posOffset[199]);
-		if (pt == mazeObject._position && !_wo[27] && _indoorList._objects1._frame == -1) {
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][7]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][7]) == mazeObject._position.y
+			&& !_wo[27] && _indoorList._objects1._frame == -1) {
 			_indoorList._objects1._x = INDOOR_OBJECT_X[listOffset][1];
 			_indoorList._objects1._y = INDOOR_OBJECT_Y[listOffset][1];
 			_indoorList._objects1._frame = mazeObject._frame;
@@ -687,135 +688,181 @@ void InterfaceMap::setIndoorObjects() {
 		}
 
 		// Position 3
-		pt = Common::Point(mazePos.x + posOffset[5], mazePos.y + posOffset[197]);
-		if (pt == mazeObject._position && (!_wo[27] || !_wo[25]) && (!_wo[27] || !_wo[28]) &&
-				(!_wo[23] || !_wo[25]) && (!_wo[23] || !_wo[28]) && 
-				_indoorList._objects2._frame == -1) {
-			_indoorList._objects2._x = INDOOR_OBJECT_X[listOffset][2];
-			_indoorList._objects2._y = INDOOR_OBJECT_Y[listOffset][2];
-			_indoorList._objects2._frame = mazeObject._frame;
-			_indoorList._objects2._sprites = mazeObject._sprites;
-			_indoorList._objects2._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects2._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][5]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][5]) == mazeObject._position.y) {
+			if (_wo[27] && _wo[25]) {
+			} else if (_wo[27] && _wo[28]) {
+			} else if (_wo[23] && _wo[25]) {
+			} else if (_wo[23] && _wo[28]) {
+			} else if (_indoorList._objects2._frame == -1) {
+				_indoorList._objects2._x = INDOOR_OBJECT_X[listOffset][2];
+				_indoorList._objects2._y = INDOOR_OBJECT_Y[listOffset][2];
+				_indoorList._objects2._frame = mazeObject._frame;
+				_indoorList._objects2._sprites = mazeObject._sprites;
+				_indoorList._objects2._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects2._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Position 4
-		pt = Common::Point(mazePos.x + posOffset[9], mazePos.y + posOffset[201]);
-		if (pt == mazeObject._position && (!_wo[27] || !_wo[26]) && (!_wo[27] || !_wo[29]) &&
-				(!_wo[24] || !_wo[26]) && (!_wo[24] || !_wo[29]) && _indoorList._objects3._frame == -1) {
-			_indoorList._objects3._x = INDOOR_OBJECT_X[listOffset][3];
-			_indoorList._objects3._y = INDOOR_OBJECT_Y[listOffset][3];
-			_indoorList._objects3._frame = mazeObject._frame;
-			_indoorList._objects3._sprites = mazeObject._sprites;
-			_indoorList._objects3._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects3._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][9]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][9]) == mazeObject._position.y) {
+			if (_wo[27] && _wo[26]) {
+			} else if (_wo[27] && _wo[29]) {
+			} else if (_wo[24] && _wo[26]) {
+			} else if (_wo[24] && _wo[29]) {
+			} else if (_indoorList._objects3._frame == -1) {
+				_indoorList._objects3._x = INDOOR_OBJECT_X[listOffset][3];
+				_indoorList._objects3._y = INDOOR_OBJECT_Y[listOffset][3];
+				_indoorList._objects3._frame = mazeObject._frame;
+				_indoorList._objects3._sprites = mazeObject._sprites;
+				_indoorList._objects3._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects3._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Position 5
-		pt = Common::Point(mazePos.x + posOffset[14], mazePos.y + posOffset[206]);
-		if (pt == mazeObject._position && !_wo[22] && !_wo[27] && _indoorList._objects4._frame == -1) {
-			_indoorList._objects4._x = INDOOR_OBJECT_X[listOffset][4];
-			_indoorList._objects4._y = INDOOR_OBJECT_Y[listOffset][4];
-			_indoorList._objects4._frame = mazeObject._frame;
-			_indoorList._objects4._sprites = mazeObject._sprites;
-			_indoorList._objects4._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects4._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][14]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][14]) == mazeObject._position.y) {
+			if (!_wo[22] && !_wo[27] && _indoorList._objects4._frame == -1) {
+				_indoorList._objects4._x = INDOOR_OBJECT_X[listOffset][4];
+				_indoorList._objects4._y = INDOOR_OBJECT_Y[listOffset][4];
+				_indoorList._objects4._frame = mazeObject._frame;
+				_indoorList._objects4._sprites = mazeObject._sprites;
+				_indoorList._objects4._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects4._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Position 6
-		pt = Common::Point(mazePos.x + posOffset[12], mazePos.y + posOffset[204]);
-		if (pt == mazeObject._position && !_wo[27] && (!_wo[22] || !_wo[23]) && (!_wo[22] || !_wo[20]) &&
-				(!_wo[23] || !_wo[17]) && (!_wo[20] || !_wo[17]) && _indoorList._objects5._frame == -1) {
-			_indoorList._objects5._x = INDOOR_OBJECT_X[listOffset][5];
-			_indoorList._objects5._y = INDOOR_OBJECT_Y[listOffset][5];
-			_indoorList._objects5._frame = mazeObject._frame;
-			_indoorList._objects5._sprites = mazeObject._sprites;
-			_indoorList._objects5._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects5._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][12]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][12]) == mazeObject._position.y) {
+			if (_wo[27]) {
+			} else if (_wo[22] && _wo[23]) {
+			} else if (_wo[22] && _wo[20]) {
+			} else if (_wo[23] && _wo[17]) {
+			} else if (_wo[20] && _wo[17]) {
+			} else if (_indoorList._objects5._frame == -1) {
+				_indoorList._objects5._x = INDOOR_OBJECT_X[listOffset][5];
+				_indoorList._objects5._y = INDOOR_OBJECT_Y[listOffset][5];
+				_indoorList._objects5._frame = mazeObject._frame;
+				_indoorList._objects5._sprites = mazeObject._sprites;
+				_indoorList._objects5._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects5._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Position 7
-		pt = Common::Point(mazePos.x + posOffset[16], mazePos.y + posOffset[208]);
-		if (pt == mazeObject._position && !_wo[27] && (!_wo[22] || !_wo[24]) && (!_wo[22] || !_wo[21]) &&
-			(!_wo[24] || !_wo[19]) && (!_wo[21] || !_wo[19]) && _indoorList._objects6._frame == -1) {
-			_indoorList._objects6._x = INDOOR_OBJECT_X[listOffset][6];
-			_indoorList._objects6._y = INDOOR_OBJECT_Y[listOffset][6];
-			_indoorList._objects6._frame = mazeObject._frame;
-			_indoorList._objects6._sprites = mazeObject._sprites;
-			_indoorList._objects6._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects6._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][16]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][16]) == mazeObject._position.y) {
+			if (_wo[27]) {
+			} else if (_wo[22] && _wo[24]) {
+			} else if (_wo[22] && _wo[21]) {
+			} else if (_wo[24] && _wo[19]) {
+			} else if (_wo[21] && _wo[19]) {
+			} else if (_indoorList._objects6._frame == -1) {
+				_indoorList._objects6._x = INDOOR_OBJECT_X[listOffset][6];
+				_indoorList._objects6._y = INDOOR_OBJECT_Y[listOffset][6];
+				_indoorList._objects6._frame = mazeObject._frame;
+				_indoorList._objects6._sprites = mazeObject._sprites;
+				_indoorList._objects6._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects6._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Position 8
-		pt = Common::Point(mazePos.x + posOffset[27], mazePos.y + posOffset[219]);
-		if (pt == mazeObject._position && !_wo[27] && !_wo[22] && !_wo[15] &&  _indoorList._objects7._frame == -1) {
-			_indoorList._objects7._x = INDOOR_OBJECT_X[listOffset][7];
-			_indoorList._objects7._y = INDOOR_OBJECT_Y[listOffset][7];
-			_indoorList._objects7._frame = mazeObject._frame;
-			_indoorList._objects7._sprites = mazeObject._sprites;
-			_indoorList._objects7._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects7._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][27]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][27]) == mazeObject._position.y) {
+			if (!_wo[27] && !_wo[22] && !_wo[15] && _indoorList._objects7._frame == -1) {
+				_indoorList._objects7._x = INDOOR_OBJECT_X[listOffset][7];
+				_indoorList._objects7._y = INDOOR_OBJECT_Y[listOffset][7];
+				_indoorList._objects7._frame = mazeObject._frame;
+				_indoorList._objects7._sprites = mazeObject._sprites;
+				_indoorList._objects7._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects7._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Position 9
-		pt = Common::Point(mazePos.x + posOffset[25], mazePos.y + posOffset[217]);
-		if (pt == mazeObject._position && !_wo[27] && (!_wo[15] || !_wo[17]) && (!_wo[15] || !_wo[12]) &&
-				(!_wo[12] || !_wo[7]) && (!_wo[17] || !_wo[7]) && _indoorList._objects5._frame == -1) {
-			_indoorList._objects8._x = INDOOR_OBJECT_X[listOffset][8];
-			_indoorList._objects8._y = INDOOR_OBJECT_Y[listOffset][8];
-			_indoorList._objects8._frame = mazeObject._frame;
-			_indoorList._objects8._sprites = mazeObject._sprites;
-			_indoorList._objects8._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects8._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][25]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][25]) == mazeObject._position.y) {
+			if (_wo[27] || _wo[22]) {
+			} else if (_wo[15] && _wo[17]) {
+			} else if (_wo[15] && _wo[12]) {
+			} else if (_wo[12] && _wo[7]) {
+			} else if (_wo[17] && _wo[7]) {
+			} else if (_indoorList._objects8._frame == -1) {
+				_indoorList._objects8._x = INDOOR_OBJECT_X[listOffset][8];
+				_indoorList._objects8._y = INDOOR_OBJECT_Y[listOffset][8];
+				_indoorList._objects8._frame = mazeObject._frame;
+				_indoorList._objects8._sprites = mazeObject._sprites;
+				_indoorList._objects8._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects8._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Position 10
-		pt = Common::Point(mazePos.x + posOffset[23], mazePos.y + posOffset[215]);
-		if (pt == mazeObject._position && !_wo[27] && (!_wo[22] || !_wo[20]) && (!_wo[22] || !_wo[23]) &&
-				(!_wo[20] || !_wo[17]) && (!_wo[23] || !_wo[17]) && !_wo[12] && !_wo[8] &&			
-				_indoorList._objects9._frame == -1) {
-			_indoorList._objects9._x = INDOOR_OBJECT_X[listOffset][9];
-			_indoorList._objects9._y = INDOOR_OBJECT_Y[listOffset][9];
-			_indoorList._objects9._frame = mazeObject._frame;
-			_indoorList._objects9._sprites = mazeObject._sprites;
-			_indoorList._objects9._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects9._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][23]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][23]) == mazeObject._position.y) {
+			if (_wo[27]) {
+			} else if (_wo[22] && _wo[20]) {
+			} else if (_wo[22] && _wo[23]) {
+			} else if (_wo[20] && _wo[17]) {
+			} else if (_wo[23] && _wo[17]) {
+			} else if (!_wo[12] && !_wo[8] && _indoorList._objects9._frame == -1) {
+				_indoorList._objects9._x = INDOOR_OBJECT_X[listOffset][9];
+				_indoorList._objects9._y = INDOOR_OBJECT_Y[listOffset][9];
+				_indoorList._objects9._frame = mazeObject._frame;
+				_indoorList._objects9._sprites = mazeObject._sprites;
+				_indoorList._objects9._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects9._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Block 11
-		pt = Common::Point(mazePos.x + posOffset[29], mazePos.y + posOffset[221]);
-		if (pt == mazeObject._position && !_wo[27] && !_wo[22] && (!_wo[15] || !_wo[19]) && 
-				(!_wo[15] || !_wo[14]) && (!_wo[14] || !_wo[9]) && (!_wo[19] || !_wo[9]) && 
-				_indoorList._objects10._frame == -1) {
-			_indoorList._objects10._x = INDOOR_OBJECT_X[listOffset][10];
-			_indoorList._objects10._y = INDOOR_OBJECT_Y[listOffset][10];
-			_indoorList._objects10._frame = mazeObject._frame;
-			_indoorList._objects10._sprites = mazeObject._sprites;
-			_indoorList._objects10._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects10._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][29]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][29]) == mazeObject._position.y) {
+			if (_wo[27]) {
+			} else if (_wo[15] && _wo[19]) {
+			} else if (_wo[15] && _wo[14]) {
+			} else if (_wo[14] && _wo[9]) {
+			} else if (_wo[19] && _wo[9]) {
+			} else if (_indoorList._objects10._frame == -1) {
+				_indoorList._objects10._x = INDOOR_OBJECT_X[listOffset][10];
+				_indoorList._objects10._y = INDOOR_OBJECT_Y[listOffset][10];
+				_indoorList._objects10._frame = mazeObject._frame;
+				_indoorList._objects10._sprites = mazeObject._sprites;
+				_indoorList._objects10._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects10._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 
 		// Block 12
-		pt = Common::Point(mazePos.x + posOffset[31], mazePos.y + posOffset[223]);
-		if (pt == mazeObject._position && !_wo[27] && (!_wo[22] || !_wo[21]) && (!_wo[22] || !_wo[24]) && 
-				(!_wo[21] || !_wo[19]) && (!_wo[24] || !_wo[19]) && !_wo[14] && !_wo[10] &&
-				_indoorList._objects11._frame == -1) {
-			_indoorList._objects11._x = INDOOR_OBJECT_X[listOffset][11];
-			_indoorList._objects11._y = INDOOR_OBJECT_Y[listOffset][11];
-			_indoorList._objects11._frame = mazeObject._frame;
-			_indoorList._objects11._sprites = mazeObject._sprites;
-			_indoorList._objects11._flags &= ~SPRFLAG_HORIZ_FLIPPED;
-			if (mazeObject._flipped)
-				_indoorList._objects11._flags |= SPRFLAG_HORIZ_FLIPPED;
+		if ((mazePos.x + SCREEN_POSITIONING_X[dir][31]) == mazeObject._position.x
+			&& (mazePos.y + SCREEN_POSITIONING_Y[dir][31]) == mazeObject._position.y) {
+			if (_wo[27]) {
+			} else if (_wo[22] && _wo[21]) {
+			} else if (_wo[22] && _wo[24]) {
+			} else if (_wo[21] && _wo[19]) {
+			} else if (_wo[24] && _wo[19]) {
+			} else if (!_wo[14] && !_wo[10] && !_indoorList._objects11._frame == -1) {
+				_indoorList._objects11._x = INDOOR_OBJECT_X[listOffset][11];
+				_indoorList._objects11._y = INDOOR_OBJECT_Y[listOffset][11];
+				_indoorList._objects11._frame = mazeObject._frame;
+				_indoorList._objects11._sprites = mazeObject._sprites;
+				_indoorList._objects11._flags &= ~SPRFLAG_HORIZ_FLIPPED;
+				if (mazeObject._flipped)
+					_indoorList._objects11._flags |= SPRFLAG_HORIZ_FLIPPED;
+			}
 		}
 	}
 }
diff --git a/engines/xeen/interface_map.h b/engines/xeen/interface_map.h
index e9f32bd587..8013228122 100644
--- a/engines/xeen/interface_map.h
+++ b/engines/xeen/interface_map.h
@@ -53,20 +53,20 @@ public:
 	DrawStruct &_sky;
 	DrawStruct &_ground;
 	DrawStruct &_horizon;
-	DrawStruct &_swl_0F1R, _swl_0F1L, _swl_1F1R, _swl_1F1L,
-		_swl_2F2R, _swl_2F1R, _swl_2F1L, _swl_2F2L,
-		_swl_3F1R, _swl_3F2R, _swl_3F3R, _swl_3F4R,
-		_swl_3F1L, _swl_3F2L, _swl_3F3L, _swl_3F4L,
-		_swl_4F4R, _swl_4F3R, _swl_4F2R, _swl_4F1R,
-		_swl_4F1L, _swl_4F2L, _swl_4F3L, _swl_4F4L;
-	DrawStruct &_fwl_4F4R, _fwl_4F3R, _fwl_4F2R, _fwl_4F1R,
-		_fwl_4F, _fwl_4F1L, _fwl_4F2L, _fwl_4F3L, _fwl_4F4L;
-	DrawStruct &_fwl_2F1R, _fwl_2F, _fwl_2F1L, _fwl_3F2R,
-		_fwl_3F1R, _fwl_3F, _fwl_3F1L, _fwl_3F2L;
-	DrawStruct &_fwl_1F, _fwl_1F1R, _fwl_1F1L;
-	DrawStruct &_objects0, _objects1, _objects2, _objects3;
-	DrawStruct &_objects4, _objects5, _objects6, _objects7;
-	DrawStruct &_objects8, _objects9, _objects10, _objects11;
+	DrawStruct &_swl_0F1R, &_swl_0F1L, &_swl_1F1R, &_swl_1F1L,
+		&_swl_2F2R, &_swl_2F1R, &_swl_2F1L, &_swl_2F2L,
+		&_swl_3F1R, &_swl_3F2R, &_swl_3F3R, &_swl_3F4R,
+		&_swl_3F1L, &_swl_3F2L, &_swl_3F3L, &_swl_3F4L,
+		&_swl_4F4R, &_swl_4F3R, &_swl_4F2R, &_swl_4F1R,
+		&_swl_4F1L, &_swl_4F2L, &_swl_4F3L, &_swl_4F4L;
+	DrawStruct &_fwl_4F4R, &_fwl_4F3R, &_fwl_4F2R, &_fwl_4F1R,
+		&_fwl_4F, &_fwl_4F1L, &_fwl_4F2L, &_fwl_4F3L, &_fwl_4F4L;
+	DrawStruct &_fwl_2F1R, &_fwl_2F, &_fwl_2F1L, &_fwl_3F2R,
+		&_fwl_3F1R, &_fwl_3F, &_fwl_3F1L, &_fwl_3F2L;
+	DrawStruct &_fwl_1F, &_fwl_1F1R, &_fwl_1F1L;
+	DrawStruct &_objects0, &_objects1, &_objects2, &_objects3;
+	DrawStruct &_objects4, &_objects5, &_objects6, &_objects7;
+	DrawStruct &_objects8, &_objects9, &_objects10, &_objects11;
 public:
 	IndoorDrawList();
 
-- 
cgit v1.2.3