[Scummvm-cvs-logs] SF.net SVN: scummvm:[53947] scummvm/trunk/engines/gob

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Sat Oct 30 19:25:30 CEST 2010


Revision: 53947
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53947&view=rev
Author:   drmccoy
Date:     2010-10-30 17:25:29 +0000 (Sat, 30 Oct 2010)

Log Message:
-----------
GOB: Unify Map_v1::/Map_v2::getPass()/setPass()

Modified Paths:
--------------
    scummvm/trunk/engines/gob/map.cpp
    scummvm/trunk/engines/gob/map.h
    scummvm/trunk/engines/gob/map_v1.cpp

Modified: scummvm/trunk/engines/gob/map.cpp
===================================================================
--- scummvm/trunk/engines/gob/map.cpp	2010-10-30 17:24:52 UTC (rev 53946)
+++ scummvm/trunk/engines/gob/map.cpp	2010-10-30 17:25:29 UTC (rev 53947)
@@ -76,6 +76,30 @@
 	delete[] _wayPoints;
 }
 
+int8 Map::getPass(int x, int y, int width) const {
+	if (!_passMap)
+		return 0;
+
+	if ((x < 0) || (y < 0) || (x >= _mapWidth) || (y >= _mapHeight))
+		return 0;
+
+	if (width == -1)
+		width = _passWidth;
+	return _passMap[y * width + x];
+}
+
+void Map::setPass(int x, int y, int8 pass, int width) {
+	if (!_passMap)
+		return;
+
+	if ((x < 0) || (y < 0) || (x >= _mapWidth) || (y >= _mapHeight))
+		return;
+
+	if (width == -1)
+		width = _passWidth;
+	_passMap[y * width + x] = pass;
+}
+
 void Map::placeItem(int16 x, int16 y, int16 id) {
 	if ((getItem(x, y) & 0xFF00) != 0)
 		setItem(x, y, (getItem(x, y) & 0xFF00) | id);

Modified: scummvm/trunk/engines/gob/map.h
===================================================================
--- scummvm/trunk/engines/gob/map.h	2010-10-30 17:24:52 UTC (rev 53946)
+++ scummvm/trunk/engines/gob/map.h	2010-10-30 17:25:29 UTC (rev 53947)
@@ -103,6 +103,12 @@
 	ItemPos _itemPoses[40];
 	char _sourceFile[15];
 
+	Map(GobEngine *vm);
+	virtual ~Map();
+
+	int8 getPass(int x, int y, int width = -1) const;
+	void setPass(int x, int y, int8 pass, int width = -1);
+
 	void findNearestWalkable(int16 &gobDestX, int16 &gobDestY,
 		int16 mouseX, int16 mouseY);
 
@@ -120,17 +126,11 @@
 	virtual int16 getItem(int x, int y) = 0;
 	virtual void setItem(int x, int y, int16 item) = 0;
 
-	virtual int8 getPass(int x, int y, int heightOff = -1) = 0;
-	virtual void setPass(int x, int y, int8 pass, int heightOff = -1) = 0;
-
 	virtual void loadMapObjects(const char *avjFile) = 0;
 	virtual void findNearestToGob(Mult::Mult_Object *obj) = 0;
 	virtual void findNearestToDest(Mult::Mult_Object *obj) = 0;
 	virtual void optimizePoints(Mult::Mult_Object *obj, int16 x, int16 y) = 0;
 
-	Map(GobEngine *vm);
-	virtual ~Map();
-
 protected:
 	bool _loadFromAvo;
 
@@ -167,26 +167,6 @@
 		_itemsMap[y][x] = item;
 	}
 
-	virtual int8 getPass(int x, int y, int heightOff = -1) {
-		if (!_passMap)
-			return 0;
-
-		if ((x < 0) || (y < 0) || (x >= _mapWidth) || (y >= _mapHeight))
-			return 0;
-
-		return _passMap[y * _mapWidth + x];
-	}
-
-	virtual void setPass(int x, int y, int8 pass, int heightOff = -1) {
-		if (!_passMap)
-			return;
-
-		if ((x < 0) || (y < 0) || (x >= _mapWidth) || (y >= _mapHeight))
-			return;
-
-		_passMap[y * _mapWidth + x] = pass;
-	}
-
 	Map_v1(GobEngine *vm);
 	virtual ~Map_v1();
 
@@ -205,30 +185,6 @@
 	virtual void findNearestToDest(Mult::Mult_Object *obj);
 	virtual void optimizePoints(Mult::Mult_Object *obj, int16 x, int16 y);
 
-	virtual int8 getPass(int x, int y, int heightOff = -1) {
-		if (!_passMap)
-			return 0;
-
-		if ((x < 0) || (y < 0) || (x >= _mapWidth) || (y >= _mapHeight))
-			return 0;
-
-		if (heightOff == -1)
-			heightOff = _passWidth;
-		return _passMap[y * heightOff + x];
-	}
-
-	virtual void setPass(int x, int y, int8 pass, int heightOff = -1) {
-		if (!_passMap)
-			return;
-
-		if ((x < 0) || (y < 0) || (x >= _mapWidth) || (y >= _mapHeight))
-			return;
-
-		if (heightOff == -1)
-			heightOff = _passWidth;
-		_passMap[y * heightOff + x] = pass;
-	}
-
 	Map_v2(GobEngine *vm);
 	virtual ~Map_v2();
 

Modified: scummvm/trunk/engines/gob/map_v1.cpp
===================================================================
--- scummvm/trunk/engines/gob/map_v1.cpp	2010-10-30 17:24:52 UTC (rev 53946)
+++ scummvm/trunk/engines/gob/map_v1.cpp	2010-10-30 17:25:29 UTC (rev 53947)
@@ -44,7 +44,8 @@
 	if (_passMap || _itemsMap)
 		return;
 
-	_mapWidth = 26;
+	_passWidth = 26;
+	_mapWidth  = 26;
 	_mapHeight = 28;
 
 	_passMap = new int8[_mapHeight * _mapWidth];


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list