[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