[Scummvm-git-logs] scummvm master -> 4d72136ed1d3ddf2859bc30b4163cbc59518871f

mduggan mgithub at guarana.org
Sat Apr 25 09:51:12 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
4d72136ed1 ULTIMA8: Const and type correctness


Commit: 4d72136ed1d3ddf2859bc30b4163cbc59518871f
    https://github.com/scummvm/scummvm/commit/4d72136ed1d3ddf2859bc30b4163cbc59518871f
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-04-25T18:50:56+09:00

Commit Message:
ULTIMA8: Const and type correctness

Changed paths:
    engines/ultima/ultima8/world/container.cpp
    engines/ultima/ultima8/world/container.h
    engines/ultima/ultima8/world/current_map.cpp
    engines/ultima/ultima8/world/current_map.h
    engines/ultima/ultima8/world/item.cpp
    engines/ultima/ultima8/world/item.h


diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index b457fda6a0..4596eca789 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -273,8 +273,8 @@ uint32 Container::getContentVolume() const {
 }
 
 void Container::containerSearch(UCList *itemlist, const uint8 *loopscript,
-                                uint32 scriptsize, bool recurse) {
-	Std::list<Item *>::iterator iter;
+                                uint32 scriptsize, bool recurse) const {
+	Std::list<Item *>::const_iterator iter;
 	for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
 		// check item against loopscript
 		if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
diff --git a/engines/ultima/ultima8/world/container.h b/engines/ultima/ultima8/world/container.h
index 3488051ec0..a5954c304a 100644
--- a/engines/ultima/ultima8/world/container.h
+++ b/engines/ultima/ultima8/world/container.h
@@ -84,7 +84,7 @@ public:
 	//! \param scriptsize The size (in bytes) of the loopscript
 	//! \param recurse If true, search through child-containers too
 	void containerSearch(UCList *itemlist, const uint8 *loopscript,
-	                     uint32 scriptsize, bool recurse);
+	                     uint32 scriptsize, bool recurse) const;
 
 	//! Get the weight of the container and its contents
 	//! \return weight
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 45e9d7a470..0448925895 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -431,7 +431,7 @@ void CurrentMap::clipMapChunks(int &minx, int &maxx, int &miny, int &maxy) const
 
 void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
                             uint32 scriptsize, const Item *check, uint16 range,
-                            bool recurse, int32 x, int32 y) {
+                            bool recurse, int32 x, int32 y) const {
 	int32 xd = 0, yd = 0;
 
 	// if item != 0, search an area around item. Otherwise, search an area
@@ -474,9 +474,9 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
 					continue;
 
 				// check item against loopscript
-				if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
+				if (item->checkLoopScript(loopscript, scriptsize)) {
 					assert(itemlist->getElementSize() == 2);
-					uint16 objid = (*iter)->getObjId();
+					uint16 objid = item->getObjId();
 					uint8 buf[2];
 					buf[0] = static_cast<uint8>(objid);
 					buf[1] = static_cast<uint8>(objid >> 8);
@@ -485,7 +485,7 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
 
 				if (recurse) {
 					// recurse into child-containers
-					Container *container = p_dynamic_cast<Container *>(*iter);
+					const Container *container = p_dynamic_cast<const Container *>(item);
 					if (container)
 						container->containerSearch(itemlist, loopscript,
 						                           scriptsize, recurse);
@@ -497,7 +497,7 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
 
 void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
                                uint32 scriptsize, const Item *check,
-							   bool above, bool below, bool recurse) {
+							   bool above, bool below, bool recurse) const {
 	int32 origin[3];
 	int32 dims[3];
 	check->getLocationAbsolute(origin[0], origin[1], origin[2]);
@@ -509,7 +509,7 @@ void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
 void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
                                uint32 scriptsize, ObjId check,
                                int32 origin[3], int32 dims[3],
-                               bool above, bool below, bool recurse) {
+                               bool above, bool below, bool recurse) const {
 	const Rect searchrange(origin[0] - dims[0], origin[1] - dims[1],
 	                 dims[0], dims[1]);
 
@@ -563,9 +563,9 @@ void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
 					continue;
 
 				// check item against loopscript
-				if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
+				if (item->checkLoopScript(loopscript, scriptsize)) {
 					assert(itemlist->getElementSize() == 2);
-					uint16 objid = (*iter)->getObjId();
+					uint16 objid = item->getObjId();
 					uint8 buf[2];
 					buf[0] = static_cast<uint8>(objid);
 					buf[1] = static_cast<uint8>(objid >> 8);
@@ -606,7 +606,7 @@ bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
                                  ObjId *roof) const {
 	const ShapeInfo *si = GameData::get_instance()->
 	                getMainShapes()->getShapeInfo(shape);
-	int xd, yd, zd;
+	int32 xd, yd, zd;
 	// Note: this assumes the shape to be placed is not flipped
 	si->getFootpadWorld(xd, yd, zd, 0);
 
diff --git a/engines/ultima/ultima8/world/current_map.h b/engines/ultima/ultima8/world/current_map.h
index dde70d16be..7abb27867c 100644
--- a/engines/ultima/ultima8/world/current_map.h
+++ b/engines/ultima/ultima8/world/current_map.h
@@ -84,18 +84,18 @@ public:
 	//! \param y y coordinate of search center if item is 0.
 	void areaSearch(UCList *itemlist, const uint8 *loopscript,
 	                uint32 scriptsize, const Item *item, uint16 range,
-					bool recurse, int32 x = 0, int32 y = 0);
+					bool recurse, int32 x = 0, int32 y = 0) const;
 
 	// Surface search: Search above and below an item.
 	void surfaceSearch(UCList *itemlist, const uint8 *loopscript,
 	                   uint32 scriptsize, const Item *item, bool above,
-					   bool below, bool recurse = false);
+					   bool below, bool recurse = false) const;
 
 	// Surface search: Search above and below an item.
 	void surfaceSearch(UCList *itemlist, const uint8 *loopscript,
 	                   uint32 scriptsize, ObjId id,
 	                   int32 origin[3], int32 dims[2],
-	                   bool above, bool below, bool recurse = false);
+	                   bool above, bool below, bool recurse = false) const;
 
 	// Collision detection. Returns true if the box [x,y,z]-[x-xd,y-yd,z+zd]
 	// does not collide with any solid items.
diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index d7c91b0eda..efab005ac4 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -618,7 +618,7 @@ uint32 Item::getVolume() const {
 	}
 }
 
-bool Item::checkLoopScript(const uint8 *script, uint32 scriptsize) {
+bool Item::checkLoopScript(const uint8 *script, uint32 scriptsize) const {
 	// if really necessary this could be made static to prevent news/deletes
 	DynamicUCStack stack(0x40); // 64bytes should be plenty of room
 
diff --git a/engines/ultima/ultima8/world/item.h b/engines/ultima/ultima8/world/item.h
index 3781b5bd99..404bafe519 100644
--- a/engines/ultima/ultima8/world/item.h
+++ b/engines/ultima/ultima8/world/item.h
@@ -377,7 +377,7 @@ public:
 	//! \param script The loopscript to run
 	//! \param scriptsize The size (in bytes) of the loopscript
 	//! \return true if the item matches, false otherwise
-	bool checkLoopScript(const uint8 *script, uint32 scriptsize);
+	bool checkLoopScript(const uint8 *script, uint32 scriptsize) const;
 
 	uint32 callUsecodeEvent_look();                             // event 0
 	uint32 callUsecodeEvent_use();                              // event 1




More information about the Scummvm-git-logs mailing list