[Scummvm-git-logs] scummvm master -> e61bba9e23bda5774622ddd4ff0caf8ed89c3f2f

bluegr noreply at scummvm.org
Thu Aug 11 21:27:19 UTC 2022


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

Summary:
7bd5497dfe COMMON: Add Common::Pair
e61bba9e23 ULTIMA: Replace Std::pair with Common::Pair


Commit: 7bd5497dfe4954f433e9263965dc208f8d034fe7
    https://github.com/scummvm/scummvm/commit/7bd5497dfe4954f433e9263965dc208f8d034fe7
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-08-12T00:27:15+03:00

Commit Message:
COMMON: Add Common::Pair

Changed paths:
    common/util.h


diff --git a/common/util.h b/common/util.h
index 542710316ea..4eceaa84996 100644
--- a/common/util.h
+++ b/common/util.h
@@ -128,6 +128,20 @@ namespace Common {
  * @{
  */
 
+/**
+ * Provides a way to store two heterogeneous objects as a single unit.
+ */
+template<class T1, class T2>
+struct Pair {
+	T1 first;
+	T2 second;
+
+	Pair() {
+	}
+	Pair(T1 first_, T2 second_) : first(first_), second(second_) {
+	}
+};
+
 /**
  * Print a hexdump of the data passed in. The number of bytes per line is
  * customizable.


Commit: e61bba9e23bda5774622ddd4ff0caf8ed89c3f2f
    https://github.com/scummvm/scummvm/commit/e61bba9e23bda5774622ddd4ff0caf8ed89c3f2f
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-08-12T00:27:15+03:00

Commit Message:
ULTIMA: Replace Std::pair with Common::Pair

Changed paths:
    engines/ultima/nuvie/conf/configuration.h
    engines/ultima/shared/conf/xml_node.h
    engines/ultima/shared/conf/xml_tree.h
    engines/ultima/shared/std/containers.h
    engines/ultima/ultima4/game/script.h
    engines/ultima/ultima4/gfx/image.cpp
    engines/ultima/ultima4/gfx/screen.cpp
    engines/ultima/ultima4/map/mapmgr.cpp
    engines/ultima/ultima4/map/mapmgr.h
    engines/ultima/ultima8/games/treasure_loader.cpp
    engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
    engines/ultima/ultima8/gumps/shape_viewer_gump.h
    engines/ultima/ultima8/misc/util.cpp
    engines/ultima/ultima8/misc/util.h
    engines/ultima/ultima8/usecode/uc_process.cpp
    engines/ultima/ultima8/usecode/uc_process.h


diff --git a/engines/ultima/nuvie/conf/configuration.h b/engines/ultima/nuvie/conf/configuration.h
index c4ef220c725..5f22cf71265 100644
--- a/engines/ultima/nuvie/conf/configuration.h
+++ b/engines/ultima/nuvie/conf/configuration.h
@@ -118,7 +118,7 @@ public:
 	// list all subkeys of a key. (no guaranteed order in result)
 	Std::set<Std::string> listKeys(const Std::string &key, bool longformat = false);
 
-	typedef Std::pair<Common::String, Common::String> KeyType;
+	typedef Common::Pair<Common::String, Common::String> KeyType;
 	typedef Common::Array<KeyType> KeyTypeList;
 
 	void getSubkeys(KeyTypeList &ktl, Std::string basekey);
diff --git a/engines/ultima/shared/conf/xml_node.h b/engines/ultima/shared/conf/xml_node.h
index af4760ab9cc..91dbecb9a29 100644
--- a/engines/ultima/shared/conf/xml_node.h
+++ b/engines/ultima/shared/conf/xml_node.h
@@ -22,7 +22,7 @@
 #ifndef SHARED_CONF_XML_NODE_H
 #define SHARED_CONF_XML_NODE_H
 
-#include "ultima/shared/std/containers.h"
+#include "common/util.h"
 #include "common/str.h"
 #include "common/array.h"
 #include "common/hash-str.h"
@@ -122,7 +122,7 @@ public:
 		return _nodeList;
 	}
 
-	typedef Std::pair<Common::String, Common::String> KeyType;
+	typedef Common::Pair<Common::String, Common::String> KeyType;
 	typedef Common::Array<KeyType> KeyTypeList;
 
 	/**
diff --git a/engines/ultima/shared/conf/xml_tree.h b/engines/ultima/shared/conf/xml_tree.h
index 52dce88a8dd..685dc51971e 100644
--- a/engines/ultima/shared/conf/xml_tree.h
+++ b/engines/ultima/shared/conf/xml_tree.h
@@ -22,9 +22,10 @@
 #ifndef SHARED_CONF_XML_TREE_H
 #define SHARED_CONF_XML_TREE_H
 
+#include "common/array.h"
 #include "common/str.h"
 #include "common/stream.h"
-#include "ultima/shared/std/containers.h"
+#include "common/util.h"
 
 namespace Ultima {
 namespace Shared {
@@ -81,7 +82,7 @@ public:
 
 	Common::Array<Common::String> listKeys(const Common::String &key, bool longformat = false);
 
-	typedef Std::pair<Common::String, Common::String> KeyType;
+	typedef Common::Pair<Common::String, Common::String> KeyType;
 	typedef Common::Array<KeyType> KeyTypeList;
 
 	void getSubkeys(KeyTypeList &ktl, const Common::String &basekey);
diff --git a/engines/ultima/shared/std/containers.h b/engines/ultima/shared/std/containers.h
index c959d890546..1d8016022df 100644
--- a/engines/ultima/shared/std/containers.h
+++ b/engines/ultima/shared/std/containers.h
@@ -29,21 +29,11 @@
 #include "common/list.h"
 #include "common/queue.h"
 #include "common/stack.h"
+#include "common/util.h"
 
 namespace Ultima {
 namespace Std {
 
-template<class T1, class T2>
-struct pair {
-	T1 first;
-	T2 second;
-
-	pair() {
-	}
-	pair(T1 first_, T2 second_) : first(first_), second(second_) {
-	}
-};
-
 template<class T>
 class vector : public Common::Array<T> {
 public:
@@ -252,7 +242,7 @@ template<class Key, class Val, class HashFunc = Common::Hash<Key>,
 		 class EqualFunc = Common::EqualTo<Key> >
 class map : public Common::HashMap<Key, Val, HashFunc, EqualFunc> {
 public:
-	void insert(Std::pair<Key, Val> elem) {
+	void insert(Common::Pair<Key, Val> elem) {
 		this->operator[](elem.first) = elem.second;
 	}
 };
diff --git a/engines/ultima/ultima4/game/script.h b/engines/ultima/ultima4/game/script.h
index dccf4d1d960..b7c150596bc 100644
--- a/engines/ultima/ultima4/game/script.h
+++ b/engines/ultima/ultima4/game/script.h
@@ -24,6 +24,7 @@
 
 #include "ultima/ultima4/core/types.h"
 #include "ultima/shared/conf/xml_node.h"
+#include "ultima/shared/std/containers.h"
 #include "common/file.h"
 
 namespace Ultima {
diff --git a/engines/ultima/ultima4/gfx/image.cpp b/engines/ultima/ultima4/gfx/image.cpp
index 2be38f60416..ecdb229d950 100644
--- a/engines/ultima/ultima4/gfx/image.cpp
+++ b/engines/ultima/ultima4/gfx/image.cpp
@@ -282,7 +282,7 @@ void Image::makeBackgroundColorTransparent(int haloSize, int shadowOpacity) {
 void Image::performTransparencyHack(uint colorValue, uint numFrames,
 									uint currentFrameIndex, uint haloWidth,
 									uint haloOpacityIncrementByPixelDistance) {
-	Common::List<Std::pair<uint, uint> > opaqueXYs;
+	Common::List<Common::Pair<uint, uint> > opaqueXYs;
 	int x, y;
 	byte t_r, t_g, t_b;
 
@@ -305,12 +305,12 @@ void Image::performTransparencyHack(uint colorValue, uint numFrames,
 			} else {
 				putPixel(x, y, r, g, b, a);
 				if (haloWidth)
-					opaqueXYs.push_back(Std::pair<uint, uint>(x, y));
+					opaqueXYs.push_back(Common::Pair<uint, uint>(x, y));
 			}
 		}
 	}
 	int ox, oy;
-	for (Common::List<Std::pair<uint, uint> >::iterator xy = opaqueXYs.begin();
+	for (Common::List<Common::Pair<uint, uint> >::iterator xy = opaqueXYs.begin();
 	        xy != opaqueXYs.end();
 	        ++xy) {
 		ox = xy->first;
diff --git a/engines/ultima/ultima4/gfx/screen.cpp b/engines/ultima/ultima4/gfx/screen.cpp
index 8d25c4357bc..debc53ffae8 100644
--- a/engines/ultima/ultima4/gfx/screen.cpp
+++ b/engines/ultima/ultima4/gfx/screen.cpp
@@ -1225,7 +1225,7 @@ void Screen::screenGemUpdate() {
 	if (g_context->_location->_map->_type == Map::DUNGEON) {
 		//DO THE SPECIAL DUNGEON MAP TRAVERSAL
 		Std::vector<Std::vector<int> > drawnTiles(layout->_viewport.width(), Std::vector<int>(layout->_viewport.height(), 0));
-		Common::List<Std::pair<int, int> > coordStack;
+		Common::List<Common::Pair<int, int> > coordStack;
 
 		//Put the avatar's position on the stack
 		int center_x = layout->_viewport.width() / 2 - 1;
@@ -1233,12 +1233,12 @@ void Screen::screenGemUpdate() {
 		int avt_x = g_context->_location->_coords.x - 1;
 		int avt_y = g_context->_location->_coords.y - 1;
 
-		coordStack.push_back(Std::pair<int, int>(center_x, center_y));
+		coordStack.push_back(Common::Pair<int, int>(center_x, center_y));
 		bool weAreDrawingTheAvatarTile = true;
 
 		//And draw each tile on the growing stack until it is empty
 		while (coordStack.size() > 0) {
-			Std::pair<int, int> currentXY = coordStack.back();
+			Common::Pair<int, int> currentXY = coordStack.back();
 			coordStack.pop_back();
 
 			x = currentXY.first;
@@ -1275,16 +1275,16 @@ void Screen::screenGemUpdate() {
 				//or the avatar position in those rare circumstances where he is stuck in a wall
 
 				//by adding all relative adjacency combinations to the stack for drawing
-				coordStack.push_back(Std::pair<int, int>(x + 1, y - 1));
-				coordStack.push_back(Std::pair<int, int>(x + 1, y));
-				coordStack.push_back(Std::pair<int, int>(x + 1, y + 1));
+				coordStack.push_back(Common::Pair<int, int>(x + 1, y - 1));
+				coordStack.push_back(Common::Pair<int, int>(x + 1, y));
+				coordStack.push_back(Common::Pair<int, int>(x + 1, y + 1));
 
-				coordStack.push_back(Std::pair<int, int>(x, y - 1));
-				coordStack.push_back(Std::pair<int, int>(x, y + 1));
+				coordStack.push_back(Common::Pair<int, int>(x, y - 1));
+				coordStack.push_back(Common::Pair<int, int>(x, y + 1));
 
-				coordStack.push_back(Std::pair<int, int>(x - 1, y - 1));
-				coordStack.push_back(Std::pair<int, int>(x - 1, y));
-				coordStack.push_back(Std::pair<int, int>(x - 1, y + 1));
+				coordStack.push_back(Common::Pair<int, int>(x - 1, y - 1));
+				coordStack.push_back(Common::Pair<int, int>(x - 1, y));
+				coordStack.push_back(Common::Pair<int, int>(x - 1, y + 1));
 
 				// We only draw the avatar tile once, it is the first tile drawn
 				weAreDrawingTheAvatarTile = false;
diff --git a/engines/ultima/ultima4/map/mapmgr.cpp b/engines/ultima/ultima4/map/mapmgr.cpp
index 97e3345057a..b58587ee8d9 100644
--- a/engines/ultima/ultima4/map/mapmgr.cpp
+++ b/engines/ultima/ultima4/map/mapmgr.cpp
@@ -350,8 +350,8 @@ int MapMgr::initCompressedChunkFromConf(const ConfigElement &compressedChunkConf
 	return compressedChunkConf.getInt("index");
 }
 
-Std::pair<Common::String, MapCoords> MapMgr::initLabelFromConf(const ConfigElement &labelConf) {
-	return Std::pair<Common::String, MapCoords>
+Common::Pair<Common::String, MapCoords> MapMgr::initLabelFromConf(const ConfigElement &labelConf) {
+	return Common::Pair<Common::String, MapCoords>
 	       (labelConf.getString("name"),
 	        MapCoords(labelConf.getInt("x"), labelConf.getInt("y"), labelConf.getInt("z", 0)));
 }
diff --git a/engines/ultima/ultima4/map/mapmgr.h b/engines/ultima/ultima4/map/mapmgr.h
index 0802390a07e..27a99ee3e03 100644
--- a/engines/ultima/ultima4/map/mapmgr.h
+++ b/engines/ultima/ultima4/map/mapmgr.h
@@ -127,7 +127,7 @@ private:
 	void initDungeonRoom(Dungeon *dng, int room);
 	void createMoongateFromConf(const ConfigElement &moongateConf);
 	int initCompressedChunkFromConf(const ConfigElement &compressedChunkConf);
-	Std::pair<Common::String, MapCoords> initLabelFromConf(const ConfigElement &labelConf);
+	Common::Pair<Common::String, MapCoords> initLabelFromConf(const ConfigElement &labelConf);
 
 	static MapMgr *_instance;
 	Std::vector<Map *> _mapList;
diff --git a/engines/ultima/ultima8/games/treasure_loader.cpp b/engines/ultima/ultima8/games/treasure_loader.cpp
index cda8ff971d4..2f8a3ffb1eb 100644
--- a/engines/ultima/ultima8/games/treasure_loader.cpp
+++ b/engines/ultima/ultima8/games/treasure_loader.cpp
@@ -80,7 +80,7 @@ bool TreasureLoader::internalParse(const Std::string &desc, TreasureInfo &ti,
 	ti.clear();
 	bool loadedDefault = false;
 
-	Std::vector<Std::pair<Std::string, Std::string> > kv;
+	Std::vector<Common::Pair<Std::string, Std::string> > kv;
 	SplitStringKV(desc, ' ', kv);
 
 	for (unsigned int i = 0; i < kv.size(); ++i) {
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
index e6968bb14a8..7a1d066eb75 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
@@ -56,7 +56,7 @@ ShapeViewerGump::ShapeViewerGump()
 }
 
 ShapeViewerGump::ShapeViewerGump(int x, int y, int width, int height,
-								 Std::vector<Std::pair<Std::string, ShapeArchive *> > &flexes,
+								 Std::vector<Common::Pair<Std::string, ShapeArchive *> > &flexes,
 								 uint32 flags, int32 layer)
 		: ModalGump(x, y, width, height, 0, flags, layer), _flexes(flexes),
 		_curFlex(0), _curShape(0), _curFrame(0), _background(0), _fontNo(0),
@@ -293,8 +293,8 @@ bool ShapeViewerGump::OnTextInput(int unicode) {
 void ShapeViewerGump::U8ShapeViewer() {
 	GameData *gamedata = GameData::get_instance();
 
-	Std::vector<Std::pair<Std::string, ShapeArchive *> > _flexes;
-	Std::pair<Std::string, ShapeArchive *> _flex;
+	Std::vector<Common::Pair<Std::string, ShapeArchive *> > _flexes;
+	Common::Pair<Std::string, ShapeArchive *> _flex;
 	_flex.first = "shapes";
 	_flex.second = gamedata->getMainShapes();
 	_flexes.push_back(_flex);
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.h b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
index 25d498f2d01..021a8c94729 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.h
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
@@ -41,7 +41,7 @@ public:
 
 	ShapeViewerGump();
 	ShapeViewerGump(int x, int y, int width, int height,
-	                Std::vector<Std::pair<Std::string, ShapeArchive *> > &flexes,
+	                Std::vector<Common::Pair<Std::string, ShapeArchive *> > &flexes,
 	                uint32 flags = FLAG_PREVENT_SAVE, int32 layer = LAYER_MODAL);
 	~ShapeViewerGump() override;
 
@@ -59,7 +59,7 @@ public:
 	void saveData(Common::WriteStream *ws) override;
 
 protected:
-	Std::vector<Std::pair<Std::string, ShapeArchive *> > _flexes;
+	Std::vector<Common::Pair<Std::string, ShapeArchive *> > _flexes;
 	unsigned int _curFlex;
 	ShapeArchive *_flex;
 	uint32 _curShape;
diff --git a/engines/ultima/ultima8/misc/util.cpp b/engines/ultima/ultima8/misc/util.cpp
index 93228cebcc7..dc6cfa1ec1b 100644
--- a/engines/ultima/ultima8/misc/util.cpp
+++ b/engines/ultima/ultima8/misc/util.cpp
@@ -145,7 +145,7 @@ template void SplitString<istring>(const istring &args, char sep, Std::vector<is
 
 
 template<class T> void SplitStringKV(const T &args, char sep,
-									 Std::vector<Std::pair<T, T> > &argv) {
+									 Std::vector<Common::Pair<T, T> > &argv) {
 	// Clear the vector
 	argv.clear();
 
@@ -155,7 +155,7 @@ template<class T> void SplitStringKV(const T &args, char sep,
 	SplitString(args, sep, keyvals);
 
 	for (unsigned int i = 0; i < keyvals.size(); ++i) {
-		Std::pair<T, T> keyval;
+		Common::Pair<T, T> keyval;
 		typename T::size_type pos;
 		pos = keyvals[i].find('=');
 		keyval.first = keyvals[i].substr(0, pos);
@@ -171,8 +171,8 @@ template<class T> void SplitStringKV(const T &args, char sep,
 	}
 }
 
-template void SplitStringKV<Std::string>(const Std::string &args, char sep, Std::vector<Std::pair<Std::string, Std::string> > &argv);
-template void SplitStringKV<istring>(const istring &args, char sep, Std::vector<Std::pair<istring, istring> > &argv);
+template void SplitStringKV<Std::string>(const Std::string &args, char sep, Std::vector<Common::Pair<Std::string, Std::string> > &argv);
+template void SplitStringKV<istring>(const istring &args, char sep, Std::vector<Common::Pair<istring, istring> > &argv);
 
 } // End of namespace Ultima8
 } // End of namespace Ultima
diff --git a/engines/ultima/ultima8/misc/util.h b/engines/ultima/ultima8/misc/util.h
index 386c73ea7b3..3a5da2d1b12 100644
--- a/engines/ultima/ultima8/misc/util.h
+++ b/engines/ultima/ultima8/misc/util.h
@@ -36,7 +36,7 @@ template<class T> void TabsToSpaces(T &str, unsigned int nspaces);
 template<class T> void SplitString(const T &args, char sep, Std::vector<T> &argv);
 
 template<class T> void SplitStringKV(const T &args, char sep,
-									 Std::vector<Std::pair<T, T> > &argv);
+									 Std::vector<Common::Pair<T, T> > &argv);
 
 } // End of namespace Ultima8
 } // End of namespace Ultima
diff --git a/engines/ultima/ultima8/usecode/uc_process.cpp b/engines/ultima/ultima8/usecode/uc_process.cpp
index 5336640b073..fb74bd0b2e6 100644
--- a/engines/ultima/ultima8/usecode/uc_process.cpp
+++ b/engines/ultima/ultima8/usecode/uc_process.cpp
@@ -108,7 +108,7 @@ bool UCProcess::ret() {
 void UCProcess::freeOnTerminate(uint16 index, int type) {
 	assert(type >= 1 && type <= 3);
 
-	Std::pair<uint16, int> p;
+	Common::Pair<uint16, int> p;
 	p.first = index;
 	p.second = type;
 
@@ -116,7 +116,7 @@ void UCProcess::freeOnTerminate(uint16 index, int type) {
 }
 
 void UCProcess::terminate() {
-	Std::list<Std::pair<uint16, int> >::iterator i;
+	Std::list<Common::Pair<uint16, int> >::iterator i;
 
 	for (i = _freeOnTerminate.begin(); i != _freeOnTerminate.end(); ++i) {
 		uint16 index = (*i).first;
@@ -160,7 +160,7 @@ void UCProcess::saveData(Common::WriteStream *ws) {
 	ws->writeUint16LE(_ip);
 	ws->writeUint32LE(_temp32);
 	ws->writeUint32LE(static_cast<uint32>(_freeOnTerminate.size()));
-	Std::list<Std::pair<uint16, int> >::iterator iter;
+	Std::list<Common::Pair<uint16, int> >::iterator iter;
 	for (iter = _freeOnTerminate.begin(); iter != _freeOnTerminate.end(); ++iter) {
 		ws->writeUint16LE(iter->first);
 		ws->writeUint32LE(static_cast<uint32>(iter->second));
@@ -177,7 +177,7 @@ bool UCProcess::loadData(Common::ReadStream *rs, uint32 version) {
 	_temp32 = rs->readUint32LE();
 	uint32 freecount = rs->readUint32LE();
 	for (unsigned int i = 0; i < freecount; ++i) {
-		Std::pair<uint16, int> p;
+		Common::Pair<uint16, int> p;
 		p.first = rs->readUint16LE();
 		p.second = static_cast<int>(rs->readUint32LE());
 		_freeOnTerminate.push_back(p);
diff --git a/engines/ultima/ultima8/usecode/uc_process.h b/engines/ultima/ultima8/usecode/uc_process.h
index fa22bcf3da0..2230273c9d6 100644
--- a/engines/ultima/ultima8/usecode/uc_process.h
+++ b/engines/ultima/ultima8/usecode/uc_process.h
@@ -78,7 +78,7 @@ protected:
 	UCStack _stack;
 
 	// "Free Me" list
-	Std::list<Std::pair<uint16, int> > _freeOnTerminate;
+	Std::list<Common::Pair<uint16, int> > _freeOnTerminate;
 };
 
 } // End of namespace Ultima8




More information about the Scummvm-git-logs mailing list