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

bluegr noreply at scummvm.org
Mon Aug 22 17:55:31 UTC 2022


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

Summary:
d8993ffea6 ULTIMA: Move Std::PointerHash into the ultima4 subengine
b75284c6b9 ULTIMA: Remove Std::map::insert()
fb758e084e ULTIMA: Replace Std::map with Common::HashMap


Commit: d8993ffea6d3695d7b21924373f9cec1f8d7afee
    https://github.com/scummvm/scummvm/commit/d8993ffea6d3695d7b21924373f9cec1f8d7afee
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-08-22T20:55:26+03:00

Commit Message:
ULTIMA: Move Std::PointerHash into the ultima4 subengine

Changed paths:
    engines/ultima/shared/std/containers.h
    engines/ultima/ultima4/controllers/combat_controller.cpp


diff --git a/engines/ultima/shared/std/containers.h b/engines/ultima/shared/std/containers.h
index 89314d10960..2eb91c4f02b 100644
--- a/engines/ultima/shared/std/containers.h
+++ b/engines/ultima/shared/std/containers.h
@@ -211,15 +211,6 @@ public:
 	}
 };
 
-struct PointerHash {
-	Common::Hash<const char *> hash;
-
-	uint operator()(const void *ptr) const {
-		Common::String str = Common::String::format("%p", ptr);
-		return hash.operator()(str.c_str());
-	}
-};
-
 template<class Key, class Val, class HashFunc = Common::Hash<Key>,
 		 class EqualFunc = Common::EqualTo<Key> >
 class map : public Common::HashMap<Key, Val, HashFunc, EqualFunc> {
diff --git a/engines/ultima/ultima4/controllers/combat_controller.cpp b/engines/ultima/ultima4/controllers/combat_controller.cpp
index 81c7036d9c0..2ae781a8bd1 100644
--- a/engines/ultima/ultima4/controllers/combat_controller.cpp
+++ b/engines/ultima/ultima4/controllers/combat_controller.cpp
@@ -53,6 +53,15 @@
 namespace Ultima {
 namespace Ultima4 {
 
+struct PointerHash {
+	Common::Hash<const char *> hash;
+
+	uint operator()(const void *ptr) const {
+		Common::String str = Common::String::format("%p", ptr);
+		return hash.operator()(str.c_str());
+	}
+};
+
 CombatController *g_combat;
 
 /**
@@ -1002,7 +1011,7 @@ MapId CombatMap::mapForTile(const Tile *groundTile, const Tile *transport, Objec
 	     toShip = false;
 	Object *objUnder = g_context->_location->_map->objectAt(g_context->_location->_coords);
 
-	static Std::map<const Tile *, MapId, Std::PointerHash> tileMap;
+	static Std::map<const Tile *, MapId, PointerHash> tileMap;
 	if (!tileMap.size()) {
 		tileMap[g_tileSets->get("base")->getByName("horse")] = MAP_GRASS_CON;
 		tileMap[g_tileSets->get("base")->getByName("swamp")] = MAP_MARSH_CON;
@@ -1025,7 +1034,7 @@ MapId CombatMap::mapForTile(const Tile *groundTile, const Tile *transport, Objec
 		tileMap[g_tileSets->get("base")->getByName("moongate_opening")] = MAP_GRASS_CON;
 		tileMap[g_tileSets->get("base")->getByName("dungeon_floor")] = MAP_GRASS_CON;
 	}
-	static Std::map<const Tile *, MapId, Std::PointerHash> dungeontileMap;
+	static Std::map<const Tile *, MapId, PointerHash> dungeontileMap;
 	if (!dungeontileMap.size()) {
 		dungeontileMap[g_tileSets->get("dungeon")->getByName("brick_floor")] = MAP_DNG0_CON;
 		dungeontileMap[g_tileSets->get("dungeon")->getByName("up_ladder")] = MAP_DNG1_CON;


Commit: b75284c6b9858079450d4817c4420779409add9d
    https://github.com/scummvm/scummvm/commit/b75284c6b9858079450d4817c4420779409add9d
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-08-22T20:55:26+03:00

Commit Message:
ULTIMA: Remove Std::map::insert()

Changed paths:
    engines/ultima/shared/std/containers.h
    engines/ultima/ultima4/map/mapmgr.cpp
    engines/ultima/ultima4/map/mapmgr.h


diff --git a/engines/ultima/shared/std/containers.h b/engines/ultima/shared/std/containers.h
index 2eb91c4f02b..26a72262547 100644
--- a/engines/ultima/shared/std/containers.h
+++ b/engines/ultima/shared/std/containers.h
@@ -214,10 +214,6 @@ public:
 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(Common::Pair<Key, Val> elem) {
-		this->operator[](elem.first) = elem.second;
-	}
 };
 
 template<class VAL>
diff --git a/engines/ultima/ultima4/map/mapmgr.cpp b/engines/ultima/ultima4/map/mapmgr.cpp
index b58587ee8d9..c5796ece739 100644
--- a/engines/ultima/ultima4/map/mapmgr.cpp
+++ b/engines/ultima/ultima4/map/mapmgr.cpp
@@ -208,7 +208,7 @@ Map *MapMgr::initMapFromConf(const ConfigElement &mapConf) {
 		else if (i->getName() == "compressedchunk")
 			map->_compressedChunks.push_back(initCompressedChunkFromConf(*i));
 		else if (i->getName() == "label")
-			map->_labels.insert(initLabelFromConf(*i));
+			map->_labels[i->getString("name")] = MapCoords(i->getInt("x"), i->getInt("y"), i->getInt("z", 0));
 		else if (i->getName() == "tiles" && map->_type == Map::XML)
 			static_cast<XMLMap *>(map)->_tilesText = i->getNode()->firstChild()->text();
 	}
@@ -350,11 +350,5 @@ int MapMgr::initCompressedChunkFromConf(const ConfigElement &compressedChunkConf
 	return compressedChunkConf.getInt("index");
 }
 
-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)));
-}
-
 } // End of namespace Ultima4
 } // End of namespace Ultima
diff --git a/engines/ultima/ultima4/map/mapmgr.h b/engines/ultima/ultima4/map/mapmgr.h
index 27a99ee3e03..9052a20725f 100644
--- a/engines/ultima/ultima4/map/mapmgr.h
+++ b/engines/ultima/ultima4/map/mapmgr.h
@@ -127,7 +127,6 @@ private:
 	void initDungeonRoom(Dungeon *dng, int room);
 	void createMoongateFromConf(const ConfigElement &moongateConf);
 	int initCompressedChunkFromConf(const ConfigElement &compressedChunkConf);
-	Common::Pair<Common::String, MapCoords> initLabelFromConf(const ConfigElement &labelConf);
 
 	static MapMgr *_instance;
 	Std::vector<Map *> _mapList;


Commit: fb758e084e8d9bf574e1b6c0ac86b220355c2362
    https://github.com/scummvm/scummvm/commit/fb758e084e8d9bf574e1b6c0ac86b220355c2362
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2022-08-22T20:55:26+03:00

Commit Message:
ULTIMA: Replace Std::map with Common::HashMap

Changed paths:
    engines/ultima/nuvie/actors/actor.cpp
    engines/ultima/nuvie/actors/actor.h
    engines/ultima/nuvie/keybinding/keys.h
    engines/ultima/nuvie/sound/custom_sfx_manager.cpp
    engines/ultima/nuvie/sound/custom_sfx_manager.h
    engines/ultima/nuvie/sound/sound.h
    engines/ultima/nuvie/sound/sound_manager.cpp
    engines/ultima/nuvie/sound/sound_manager.h
    engines/ultima/shared/std/containers.h
    engines/ultima/ultima4/controllers/combat_controller.cpp
    engines/ultima/ultima4/conversation/conversation.h
    engines/ultima/ultima4/game/creature.h
    engines/ultima/ultima4/game/script.cpp
    engines/ultima/ultima4/game/script.h
    engines/ultima/ultima4/gfx/imagemgr.cpp
    engines/ultima/ultima4/gfx/imagemgr.h
    engines/ultima/ultima4/gfx/screen.cpp
    engines/ultima/ultima4/gfx/screen.h
    engines/ultima/ultima4/map/location.cpp
    engines/ultima/ultima4/map/map.cpp
    engines/ultima/ultima4/map/map.h
    engines/ultima/ultima4/map/maploader.h
    engines/ultima/ultima4/map/tileanim.h
    engines/ultima/ultima4/map/tilemap.cpp
    engines/ultima/ultima4/map/tilemap.h
    engines/ultima/ultima8/conf/config_file_manager.h
    engines/ultima/ultima8/filesys/named_archive_file.h
    engines/ultima/ultima8/filesys/u8_save_file.cpp
    engines/ultima/ultima8/filesys/u8_save_file.h
    engines/ultima/ultima8/games/treasure_loader.h
    engines/ultima/ultima8/graphics/fonts/font_manager.h
    engines/ultima/ultima8/kernel/kernel.cpp
    engines/ultima/ultima8/kernel/kernel.h
    engines/ultima/ultima8/kernel/object_manager.cpp
    engines/ultima/ultima8/kernel/object_manager.h
    engines/ultima/ultima8/usecode/uc_machine.cpp
    engines/ultima/ultima8/usecode/uc_machine.h


diff --git a/engines/ultima/nuvie/actors/actor.cpp b/engines/ultima/nuvie/actors/actor.cpp
index 08d405e41bf..2d4debd8f84 100644
--- a/engines/ultima/nuvie/actors/actor.cpp
+++ b/engines/ultima/nuvie/actors/actor.cpp
@@ -211,7 +211,7 @@ uint16 Actor::get_tile_num(uint16 obj_num) {
 
 uint16 Actor::get_custom_tile_num(uint16 obj_num) {
 	if (custom_tile_tbl) {
-		Std::map<uint16, uint16>::iterator it;
+		Common::HashMap<uint16, uint16>::iterator it;
 		it = custom_tile_tbl->find(obj_num);
 		if (it != custom_tile_tbl->end()) {
 			return it->_value;
@@ -1961,7 +1961,7 @@ void Actor::cure() {
 
 void Actor::set_custom_tile_num(uint16 obj_num, uint16 tile_num) {
 	if (custom_tile_tbl == NULL) {
-		custom_tile_tbl = new Std::map<uint16, uint16>();
+		custom_tile_tbl = new Common::HashMap<uint16, uint16>();
 	}
 
 	(*custom_tile_tbl)[obj_num] = tile_num;
diff --git a/engines/ultima/nuvie/actors/actor.h b/engines/ultima/nuvie/actors/actor.h
index bed42f71510..ab6b072436c 100644
--- a/engines/ultima/nuvie/actors/actor.h
+++ b/engines/ultima/nuvie/actors/actor.h
@@ -31,7 +31,6 @@
 namespace Ultima {
 namespace Nuvie {
 
-using Std::map;
 using Std::list;
 using Std::string;
 using Std::vector;
@@ -297,7 +296,7 @@ protected:
 	uint16 sched_pos;
 
 	list<Obj *> surrounding_objects; //used for multi-tile actors.
-	Std::map<uint16, uint16> *custom_tile_tbl;
+	Common::HashMap<uint16, uint16> *custom_tile_tbl;
 
 public:
 
diff --git a/engines/ultima/nuvie/keybinding/keys.h b/engines/ultima/nuvie/keybinding/keys.h
index a7b9924890e..37744af8438 100644
--- a/engines/ultima/nuvie/keybinding/keys.h
+++ b/engines/ultima/nuvie/keybinding/keys.h
@@ -49,10 +49,10 @@ struct ActionType {
 	int params[c_maxparams];
 };
 
-typedef Std::map<uint32, ActionType> KeyMap;
+typedef Common::HashMap<uint32, ActionType> KeyMap;
 
-typedef Std::map<Common::String, Common::KeyCode> ParseKeyMap;
-typedef Std::map<Common::String, const void *> ParseActionMap;
+typedef Common::HashMap<Common::String, Common::KeyCode> ParseKeyMap;
+typedef Common::HashMap<Common::String, const void *> ParseActionMap;
 
 class Configuration;
 
diff --git a/engines/ultima/nuvie/sound/custom_sfx_manager.cpp b/engines/ultima/nuvie/sound/custom_sfx_manager.cpp
index ea778bbe893..1825e8f13a4 100644
--- a/engines/ultima/nuvie/sound/custom_sfx_manager.cpp
+++ b/engines/ultima/nuvie/sound/custom_sfx_manager.cpp
@@ -34,7 +34,7 @@ namespace Nuvie {
 CustomSfxManager::CustomSfxManager(Configuration *cfg, Audio::Mixer *m) : SfxManager(cfg, m) {
 	Std::string cfg_filename;
 
-	sfx_map = new Std::map<uint16, uint16>();
+	sfx_map = new Common::HashMap<uint16, uint16>();
 
 	config->pathFromValue("config/ultima6/sfxdir", "", custom_filepath);
 
@@ -48,7 +48,7 @@ CustomSfxManager::~CustomSfxManager() {
 }
 
 
-bool CustomSfxManager::loadSfxMapFile(Std::string cfg_filename, Std::map<uint16, uint16> *m) {
+bool CustomSfxManager::loadSfxMapFile(Std::string cfg_filename, Common::HashMap<uint16, uint16> *m) {
 	char seps[] = ";\r\n";
 	char *token1;
 	char *token2;
@@ -84,7 +84,7 @@ bool CustomSfxManager::playSfx(SfxIdType sfx_id, uint8 volume) {
 
 
 bool CustomSfxManager::playSfxLooping(SfxIdType sfx_id, Audio::SoundHandle *handle, uint8 volume) {
-	Std::map < uint16, uint16 >::iterator it;
+	Common::HashMap < uint16, uint16 >::iterator it;
 
 	it = sfx_map->find((uint16)sfx_id);
 	if (it != sfx_map->end()) {
diff --git a/engines/ultima/nuvie/sound/custom_sfx_manager.h b/engines/ultima/nuvie/sound/custom_sfx_manager.h
index 6f9087728ad..6abd0c3c6be 100644
--- a/engines/ultima/nuvie/sound/custom_sfx_manager.h
+++ b/engines/ultima/nuvie/sound/custom_sfx_manager.h
@@ -43,12 +43,12 @@ public:
 	void playSoundSample(uint16 sample_num, Audio::SoundHandle *looping_handle, uint8 volume);
 
 private:
-	bool loadSfxMapFile(Std::string cfg_filename, Std::map<uint16, uint16> *m);
+	bool loadSfxMapFile(Std::string cfg_filename, Common::HashMap<uint16, uint16> *m);
 
 private:
 	Std::string custom_filepath;
 
-	Std::map<uint16, uint16> *sfx_map;
+	Common::HashMap<uint16, uint16> *sfx_map;
 };
 
 } // End of namespace Nuvie
diff --git a/engines/ultima/nuvie/sound/sound.h b/engines/ultima/nuvie/sound/sound.h
index 32a0ca3ae4d..06d685e0191 100644
--- a/engines/ultima/nuvie/sound/sound.h
+++ b/engines/ultima/nuvie/sound/sound.h
@@ -31,7 +31,6 @@ namespace Nuvie {
 
 using Std::string;
 using Std::list;
-using Std::map;
 using Std::vector;
 
 class Sound {
diff --git a/engines/ultima/nuvie/sound/sound_manager.cpp b/engines/ultima/nuvie/sound/sound_manager.cpp
index 7c8dcf8352d..a0f4bfe1ca6 100644
--- a/engines/ultima/nuvie/sound/sound_manager.cpp
+++ b/engines/ultima/nuvie/sound/sound_manager.cpp
@@ -306,7 +306,7 @@ bool SoundManager::groupAddSong(const char *group, Song *song) {
 	if (song != NULL) {
 		//we have a valid song
 		SoundCollection *psc;
-		Std::map <Common::String, SoundCollection * >::iterator it;
+		Common::HashMap <Common::String, SoundCollection * >::iterator it;
 		it = m_MusicMap.find(group);
 		if (it == m_MusicMap.end()) {
 			//is there already a collection for this entry?
@@ -363,7 +363,7 @@ bool SoundManager::LoadObjectSamples (string sound_dir)
 	  if (ps != NULL)
 		{                       //we have a valid sound
 		  SoundCollection *psc;
-		  Std::map < int, SoundCollection * >::iterator it;
+		  Common::HashMap < int, SoundCollection * >::iterator it;
 		  it = m_ObjectSampleMap.find (id);
 		  if (it == m_ObjectSampleMap.end ())
 			{                   //is there already a collection for this entry?
@@ -425,7 +425,7 @@ bool SoundManager::LoadTileSamples (string sound_dir)
 	  if (ps != NULL)
 		{                       //we have a valid sound
 		  SoundCollection *psc;
-		  Std::map < int, SoundCollection * >::iterator it;
+		  Common::HashMap < int, SoundCollection * >::iterator it;
 		  it = m_TileSampleMap.find (id);
 		  if (it == m_TileSampleMap.end ())
 			{                   //is there already a collection for this entry?
@@ -554,7 +554,7 @@ void SoundManager::update_map_sfx() {
 	MapWindow *mw = Game::get_game()->get_map_window();
 
 	vector < SfxIdType >currentlyActiveSounds;
-	map < SfxIdType, float >volumeLevels;
+	Common::HashMap < SfxIdType, float >volumeLevels;
 
 	p->get_location(&x, &y, &l);
 
@@ -574,7 +574,7 @@ void SoundManager::update_map_sfx() {
 				vol = 0;
 			//sp->SetVolume(vol);
 			//need the map to adjust volume according to number of active elements
-			Std::map < SfxIdType, float >::iterator it;
+			Common::HashMap < SfxIdType, float >::iterator it;
 			it = volumeLevels.find(sfx_id);
 			if (it != volumeLevels.end()) {
 				if (volumeLevels[sfx_id] < vol)
@@ -603,7 +603,7 @@ void SoundManager::update_map_sfx() {
 	          vol = 0;
 	        //sp->SetVolume(vol);
 	        //need the map to adjust volume according to number of active elements
-	        Std::map < Sound *, float >::iterator it;
+	        Common::HashMap < Sound *, float >::iterator it;
 	        it = volumeLevels.find (sp);
 	        if (it != volumeLevels.end ())
 	          {
@@ -701,7 +701,7 @@ Sound *SoundManager::SampleExists(string name) {
 }
 
 Sound *SoundManager::RequestTileSound(int id) {
-	Std::map < int, SoundCollection * >::iterator it;
+	Common::HashMap < int, SoundCollection * >::iterator it;
 	it = m_TileSampleMap.find(id);
 	if (it != m_TileSampleMap.end()) {
 		SoundCollection *psc;
@@ -712,7 +712,7 @@ Sound *SoundManager::RequestTileSound(int id) {
 }
 
 Sound *SoundManager::RequestObjectSound(int id) {
-	Std::map < int, SoundCollection * >::iterator it;
+	Common::HashMap < int, SoundCollection * >::iterator it;
 	it = m_ObjectSampleMap.find(id);
 	if (it != m_ObjectSampleMap.end()) {
 		SoundCollection *psc;
@@ -734,7 +734,7 @@ uint16 SoundManager::RequestObjectSfxId(uint16 obj_n) {
 }
 
 Sound *SoundManager::RequestSong(string group) {
-	Std::map<Common::String, SoundCollection * >::iterator it;
+	Common::HashMap<Common::String, SoundCollection * >::iterator it;
 	it = m_MusicMap.find(group);
 	if (it != m_MusicMap.end()) {
 		SoundCollection *psc;
diff --git a/engines/ultima/nuvie/sound/sound_manager.h b/engines/ultima/nuvie/sound/sound_manager.h
index 8fc101120c7..ab306789636 100644
--- a/engines/ultima/nuvie/sound/sound_manager.h
+++ b/engines/ultima/nuvie/sound/sound_manager.h
@@ -130,8 +130,8 @@ private:
 
 	uint16 RequestObjectSfxId(uint16 obj_n);
 
-	typedef map<int, SoundCollection *> IntCollectionMap;
-	typedef map<Common::String, SoundCollection *> StringCollectionMap;
+	typedef Common::HashMap<int, SoundCollection *> IntCollectionMap;
+	typedef Common::HashMap<Common::String, SoundCollection *> StringCollectionMap;
 	IntCollectionMap m_TileSampleMap;
 	IntCollectionMap m_ObjectSampleMap;
 	StringCollectionMap m_MusicMap;
diff --git a/engines/ultima/shared/std/containers.h b/engines/ultima/shared/std/containers.h
index 26a72262547..84b7d79dfc2 100644
--- a/engines/ultima/shared/std/containers.h
+++ b/engines/ultima/shared/std/containers.h
@@ -211,11 +211,6 @@ public:
 	}
 };
 
-template<class Key, class Val, class HashFunc = Common::Hash<Key>,
-		 class EqualFunc = Common::EqualTo<Key> >
-class map : public Common::HashMap<Key, Val, HashFunc, EqualFunc> {
-};
-
 template<class VAL>
 class deque : public Common::List<VAL> {
 public:
diff --git a/engines/ultima/ultima4/controllers/combat_controller.cpp b/engines/ultima/ultima4/controllers/combat_controller.cpp
index 2ae781a8bd1..66f3c72559d 100644
--- a/engines/ultima/ultima4/controllers/combat_controller.cpp
+++ b/engines/ultima/ultima4/controllers/combat_controller.cpp
@@ -1011,7 +1011,7 @@ MapId CombatMap::mapForTile(const Tile *groundTile, const Tile *transport, Objec
 	     toShip = false;
 	Object *objUnder = g_context->_location->_map->objectAt(g_context->_location->_coords);
 
-	static Std::map<const Tile *, MapId, PointerHash> tileMap;
+	static Common::HashMap<const Tile *, MapId, PointerHash> tileMap;
 	if (!tileMap.size()) {
 		tileMap[g_tileSets->get("base")->getByName("horse")] = MAP_GRASS_CON;
 		tileMap[g_tileSets->get("base")->getByName("swamp")] = MAP_MARSH_CON;
@@ -1034,7 +1034,7 @@ MapId CombatMap::mapForTile(const Tile *groundTile, const Tile *transport, Objec
 		tileMap[g_tileSets->get("base")->getByName("moongate_opening")] = MAP_GRASS_CON;
 		tileMap[g_tileSets->get("base")->getByName("dungeon_floor")] = MAP_GRASS_CON;
 	}
-	static Std::map<const Tile *, MapId, PointerHash> dungeontileMap;
+	static Common::HashMap<const Tile *, MapId, PointerHash> dungeontileMap;
 	if (!dungeontileMap.size()) {
 		dungeontileMap[g_tileSets->get("dungeon")->getByName("brick_floor")] = MAP_DNG0_CON;
 		dungeontileMap[g_tileSets->get("dungeon")->getByName("up_ladder")] = MAP_DNG1_CON;
diff --git a/engines/ultima/ultima4/conversation/conversation.h b/engines/ultima/ultima4/conversation/conversation.h
index 43fd9c2b27d..d6c9bcf585c 100644
--- a/engines/ultima/ultima4/conversation/conversation.h
+++ b/engines/ultima/ultima4/conversation/conversation.h
@@ -172,7 +172,7 @@ public:
 	/**
 	 * A mapping of keywords to the Keyword object that represents them
 	 */
-	typedef Std::map<Common::String, Keyword *> KeywordMap;
+	typedef Common::HashMap<Common::String, Keyword *> KeywordMap;
 
 	/*
 	 * Constructors/Destructors
diff --git a/engines/ultima/ultima4/game/creature.h b/engines/ultima/ultima4/game/creature.h
index 9af4b3f89e0..0550374f0d5 100644
--- a/engines/ultima/ultima4/game/creature.h
+++ b/engines/ultima/ultima4/game/creature.h
@@ -35,7 +35,7 @@ class ConfigElement;
 class Tile;
 
 typedef unsigned short CreatureId;
-typedef Std::map<CreatureId, class Creature *> CreatureMap;
+typedef Common::HashMap<CreatureId, class Creature *> CreatureMap;
 typedef Std::vector<class Creature *> CreatureVector;
 
 #define MAX_CREATURES 128
diff --git a/engines/ultima/ultima4/game/script.cpp b/engines/ultima/ultima4/game/script.cpp
index 951dfa8a8a9..a1e03b17ce0 100644
--- a/engines/ultima/ultima4/game/script.cpp
+++ b/engines/ultima/ultima4/game/script.cpp
@@ -129,8 +129,8 @@ Script::~Script() {
 	// Smart pointers anyone?
 
 	// Clean variables
-	Std::map<Common::String, Script::Variable *>::iterator variableItem = _variables.begin();
-	Std::map<Common::String, Script::Variable *>::iterator variablesEnd = _variables.end();
+	Common::HashMap<Common::String, Script::Variable *>::iterator variableItem = _variables.begin();
+	Common::HashMap<Common::String, Script::Variable *>::iterator variablesEnd = _variables.end();
 	while (variableItem != variablesEnd) {
 		delete variableItem->_value;
 		++variableItem;
@@ -138,7 +138,7 @@ Script::~Script() {
 }
 
 void Script::removeCurrentVariable(const Common::String &name) {
-	Std::map<Common::String, Script::Variable *>::iterator dup = _variables.find(name);
+	Common::HashMap<Common::String, Script::Variable *>::iterator dup = _variables.find(name);
 	if (dup != _variables.end()) {
 		delete dup->_value;
 		_variables.erase(dup); // not strictly necessary, but correct.
@@ -1239,7 +1239,7 @@ Script::ReturnCode Script::karma(Shared::XMLNode *script, Shared::XMLNode *curre
 	if (_debug)
 		debugN("Karma: adjusting - '%s'", action.c_str());
 
-	typedef Std::map<Common::String, KarmaAction /*, Std::less<Common::String> */> KarmaActionMap;
+	typedef Common::HashMap<Common::String, KarmaAction /*, Std::less<Common::String> */> KarmaActionMap;
 	static KarmaActionMap action_map;
 
 	if (action_map.size() == 0) {
@@ -1313,7 +1313,7 @@ Script::ReturnCode Script::setVar(Shared::XMLNode *script, Shared::XMLNode *curr
 }
 
 Script::ReturnCode Script::ztats(Shared::XMLNode *script, Shared::XMLNode *current) {
-	typedef Std::map<Common::String, StatsView/*, Std::less<Common::String>*/ > StatsViewMap;
+	typedef Common::HashMap<Common::String, StatsView/*, Std::less<Common::String>*/ > StatsViewMap;
 	static StatsViewMap view_map;
 
 	if (view_map.size() == 0) {
diff --git a/engines/ultima/ultima4/game/script.h b/engines/ultima/ultima4/game/script.h
index b7c150596bc..66ddb8171ab 100644
--- a/engines/ultima/ultima4/game/script.h
+++ b/engines/ultima/ultima4/game/script.h
@@ -407,7 +407,7 @@ private:
 	 * Static variables
 	 */
 private:
-	typedef Std::map<Common::String, Action> ActionMap;
+	typedef Common::HashMap<Common::String, Action> ActionMap;
 	ActionMap _actionMap;
 
 private:
@@ -432,8 +432,8 @@ private:
 	Common::String _choices;
 	int _iterator;
 
-	Std::map<Common::String, Variable *> _variables;
-	Std::map<Common::String, Provider *> _providers;
+	Common::HashMap<Common::String, Variable *> _variables;
+	Common::HashMap<Common::String, Provider *> _providers;
 };
 
 } // End of namespace Ultima4
diff --git a/engines/ultima/ultima4/gfx/imagemgr.cpp b/engines/ultima/ultima4/gfx/imagemgr.cpp
index 4aa93afe3e1..7f2df8c53dc 100644
--- a/engines/ultima/ultima4/gfx/imagemgr.cpp
+++ b/engines/ultima/ultima4/gfx/imagemgr.cpp
@@ -42,7 +42,7 @@ public:
 	Common::String _name;
 	Common::String _location;
 	Common::String _extends;
-	Std::map<Common::String, ImageInfo *> _info;
+	Common::HashMap<Common::String, ImageInfo *> _info;
 };
 
 ImageMgr *ImageMgr::_instance = nullptr;
@@ -69,7 +69,7 @@ ImageMgr::ImageMgr() : _baseSet(nullptr), _abyssData(nullptr) {
 ImageMgr::~ImageMgr() {
 	settings.deleteObserver(this);
 
-	for (Std::map<Common::String, ImageSet *>::iterator i = _imageSets.begin(); i != _imageSets.end(); i++)
+	for (Common::HashMap<Common::String, ImageSet *>::iterator i = _imageSets.begin(); i != _imageSets.end(); i++)
 		delete i->_value;
 
 	delete[] _abyssData;
@@ -111,7 +111,7 @@ void ImageMgr::init() {
 	}
 
 	_imageSetNames.clear();
-	for (Std::map<Common::String, ImageSet *>::const_iterator set = _imageSets.begin(); set != _imageSets.end(); set++)
+	for (Common::HashMap<Common::String, ImageSet *>::const_iterator set = _imageSets.begin(); set != _imageSets.end(); set++)
 		_imageSetNames.push_back(set->_key);
 
 	update(&settings);
@@ -465,7 +465,7 @@ void ImageMgr::fixupFMTowns(Image *im, int prescale) {
 }
 
 ImageSet *ImageMgr::getSet(const Common::String &setname) {
-	Std::map<Common::String, ImageSet *>::iterator i = _imageSets.find(setname);
+	Common::HashMap<Common::String, ImageSet *>::iterator i = _imageSets.find(setname);
 	if (i != _imageSets.end())
 		return i->_value;
 	else
@@ -481,7 +481,7 @@ ImageInfo *ImageMgr::getInfoFromSet(const Common::String &name, ImageSet *images
 		return nullptr;
 
 	/* if the image set contains the image we want, AND IT EXISTS we are done */
-	Std::map<Common::String, ImageInfo *>::iterator i = imageset->_info.find(name);
+	Common::HashMap<Common::String, ImageInfo *>::iterator i = imageset->_info.find(name);
 	if (i != imageset->_info.end())
 		if (imageExists(i->_value))
 			return i->_value;
@@ -643,9 +643,9 @@ SubImage *ImageMgr::getSubImage(const Common::String &name) {
 	ImageSet *set = _baseSet;
 
 	while (set != nullptr) {
-		for (Std::map<Common::String, ImageInfo *>::iterator i = set->_info.begin(); i != set->_info.end(); i++) {
+		for (Common::HashMap<Common::String, ImageInfo *>::iterator i = set->_info.begin(); i != set->_info.end(); i++) {
 			ImageInfo *info = (ImageInfo *) i->_value;
-			Std::map<Common::String, SubImage *>::iterator j = info->_subImages.find(name);
+			Common::HashMap<Common::String, SubImage *>::iterator j = info->_subImages.find(name);
 			if (j != info->_subImages.end())
 				return j->_value;
 		}
@@ -657,9 +657,9 @@ SubImage *ImageMgr::getSubImage(const Common::String &name) {
 }
 
 void ImageMgr::freeIntroBackgrounds() {
-	for (Std::map<Common::String, ImageSet *>::iterator i = _imageSets.begin(); i != _imageSets.end(); i++) {
+	for (Common::HashMap<Common::String, ImageSet *>::iterator i = _imageSets.begin(); i != _imageSets.end(); i++) {
 		ImageSet *set = i->_value;
-		for (Std::map<Common::String, ImageInfo *>::iterator j = set->_info.begin(); j != set->_info.end(); j++) {
+		for (Common::HashMap<Common::String, ImageInfo *>::iterator j = set->_info.begin(); j != set->_info.end(); j++) {
 			ImageInfo *info = j->_value;
 			if (info->_image != nullptr && info->_introOnly) {
 				delete info->_image;
@@ -682,7 +682,7 @@ void ImageMgr::update(Settings *newSettings) {
 }
 
 ImageSet::~ImageSet() {
-	for (Std::map<Common::String, ImageInfo *>::iterator i = _info.begin(); i != _info.end(); i++) {
+	for (Common::HashMap<Common::String, ImageInfo *>::iterator i = _info.begin(); i != _info.end(); i++) {
 		ImageInfo *imageInfo = i->_value;
 		if (imageInfo->_name != "screen")
 			delete imageInfo;
@@ -690,7 +690,7 @@ ImageSet::~ImageSet() {
 }
 
 ImageInfo::~ImageInfo() {
-	for (Std::map<Common::String, SubImage *>::iterator i = _subImages.begin(); i != _subImages.end(); i++)
+	for (Common::HashMap<Common::String, SubImage *>::iterator i = _subImages.begin(); i != _subImages.end(); i++)
 		delete i->_value;
 	if (_image != nullptr)
 		delete _image;
diff --git a/engines/ultima/ultima4/gfx/imagemgr.h b/engines/ultima/ultima4/gfx/imagemgr.h
index 56cf04bc454..a2dc8857328 100644
--- a/engines/ultima/ultima4/gfx/imagemgr.h
+++ b/engines/ultima/ultima4/gfx/imagemgr.h
@@ -113,7 +113,7 @@ public:
 	bool _xu4Graphic;            /**< an original xu4 graphic not part of u4dos or the VGA upgrade */
 	ImageFixup _fixup;           /**< a routine to do miscellaneous fixes to the image */
 	Image *_image;               /**< the image we're describing */
-	Std::map<Common::String, SubImage *> _subImages;
+	Common::HashMap<Common::String, SubImage *> _subImages;
 
 	bool hasBlackBackground();
 };
@@ -192,7 +192,7 @@ private:
 	void update(Settings *newSettings);
 
 	static ImageMgr *_instance;
-	Std::map<Common::String, ImageSet *> _imageSets;
+	Common::HashMap<Common::String, ImageSet *> _imageSets;
 	Std::vector<Common::String> _imageSetNames;
 	ImageSet *_baseSet;
 	ImageInfo _screenInfo;
diff --git a/engines/ultima/ultima4/gfx/screen.cpp b/engines/ultima/ultima4/gfx/screen.cpp
index debc53ffae8..c14b6f840a1 100644
--- a/engines/ultima/ultima4/gfx/screen.cpp
+++ b/engines/ultima/ultima4/gfx/screen.cpp
@@ -1159,7 +1159,7 @@ void Screen::screenShowGemTile(Layout *layout, Map *map, MapTile &t, bool focus,
 
 	if (map->_type == Map::DUNGEON) {
 		assertMsg(_charSetInfo, "charset not initialized");
-		Std::map<Common::String, int>::iterator charIndex = _dungeonTileChars.find(t.getTileType()->getName());
+		Common::HashMap<Common::String, int>::iterator charIndex = _dungeonTileChars.find(t.getTileType()->getName());
 		if (charIndex != _dungeonTileChars.end()) {
 			_charSetInfo->_image->drawSubRect((layout->_viewport.left + (x * layout->_tileShape.x)) * settings._scale,
 			                                  (layout->_viewport.top + (y * layout->_tileShape.y)) * settings._scale,
diff --git a/engines/ultima/ultima4/gfx/screen.h b/engines/ultima/ultima4/gfx/screen.h
index 75355cb6a28..41d3d2b7760 100644
--- a/engines/ultima/ultima4/gfx/screen.h
+++ b/engines/ultima/ultima4/gfx/screen.h
@@ -107,7 +107,7 @@ private:
 
 	Std::vector<TileAnimSet *> _tileAnimSets;
 	Layout *_gemLayout;
-	Std::map<Common::String, int> _dungeonTileChars;
+	Common::HashMap<Common::String, int> _dungeonTileChars;
 	ImageInfo *_charSetInfo;
 	ImageInfo *_gemTilesInfo;
 
diff --git a/engines/ultima/ultima4/map/location.cpp b/engines/ultima/ultima4/map/location.cpp
index 9e870d4e820..4846ebaedbc 100644
--- a/engines/ultima/ultima4/map/location.cpp
+++ b/engines/ultima/ultima4/map/location.cpp
@@ -166,7 +166,7 @@ Std::vector<MapTile> Location::tilesAt(MapCoords coords, bool &focus) {
 }
 
 TileId Location::getReplacementTile(MapCoords atCoords, const Tile *forTile) {
-	Std::map<TileId, int> validMapTileCount;
+	Common::HashMap<TileId, int> validMapTileCount;
 
 	const static int dirs[][2] = {{ -1, 0}, {1, 0}, {0, -1}, {0, 1}};
 	const static int dirs_per_step = sizeof(dirs) / sizeof(*dirs);
@@ -197,7 +197,7 @@ TileId Location::getReplacementTile(MapCoords atCoords, const Tile *forTile) {
 
 			if ((tileType->isReplacement() && (forTile->isLandForeground() || forTile->isLivingObject())) ||
 			        (tileType->isWaterReplacement() && forTile->isWaterForeground())) {
-				Std::map<TileId, int>::iterator validCount = validMapTileCount.find(tileType->getId());
+				Common::HashMap<TileId, int>::iterator validCount = validMapTileCount.find(tileType->getId());
 
 				if (validCount == validMapTileCount.end()) {
 					validMapTileCount[tileType->getId()] = 1;
@@ -208,7 +208,7 @@ TileId Location::getReplacementTile(MapCoords atCoords, const Tile *forTile) {
 		}
 
 		if (validMapTileCount.size() > 0) {
-			Std::map<TileId, int>::iterator itr = validMapTileCount.begin();
+			Common::HashMap<TileId, int>::iterator itr = validMapTileCount.begin();
 
 			TileId winner = itr->_key;
 			int score = itr->_value;
diff --git a/engines/ultima/ultima4/map/map.cpp b/engines/ultima/ultima4/map/map.cpp
index 4cef6559e28..76d3c82b4bc 100644
--- a/engines/ultima/ultima4/map/map.cpp
+++ b/engines/ultima/ultima4/map/map.cpp
@@ -676,7 +676,7 @@ void Map::alertGuards() {
 }
 
 MapCoords Map::getLabel(const Common::String &name) const {
-	Std::map<Common::String, MapCoords>::const_iterator i = _labels.find(name);
+	Common::HashMap<Common::String, MapCoords>::const_iterator i = _labels.find(name);
 	if (i == _labels.end())
 		return MapCoords::nowhere();
 
diff --git a/engines/ultima/ultima4/map/map.h b/engines/ultima/ultima4/map/map.h
index 7e176d32423..171b4d374e5 100644
--- a/engines/ultima/ultima4/map/map.h
+++ b/engines/ultima/ultima4/map/map.h
@@ -281,7 +281,7 @@ public:
 	Music::Type _music;
 	MapData _data;
 	ObjectDeque _objects;
-	Std::map<Common::String, MapCoords> _labels;
+	Common::HashMap<Common::String, MapCoords> _labels;
 	Tileset *_tileSet;
 	TileMap *_tileMap;
 	MapTile _blank;
diff --git a/engines/ultima/ultima4/map/maploader.h b/engines/ultima/ultima4/map/maploader.h
index 2602fb21a5f..79c2cde9448 100644
--- a/engines/ultima/ultima4/map/maploader.h
+++ b/engines/ultima/ultima4/map/maploader.h
@@ -75,7 +75,7 @@ protected:
 	static bool isChunkCompressed(Map *map, int chunk);
 
 private:
-	static Std::map<Map::Type, MapLoader *, MapType_Hash> *loaderMap;
+	static Common::HashMap<Map::Type, MapLoader *, MapType_Hash> *loaderMap;
 };
 
 class CityMapLoader : public MapLoader {
@@ -126,7 +126,7 @@ public:
 	bool load(Map *map) override;
 };
 
-class MapLoaders : public Std::map<Map::Type, MapLoader *, MapType_Hash> {
+class MapLoaders : public Common::HashMap<Map::Type, MapLoader *, MapType_Hash> {
 public:
 	/**
 	 * Constructor
diff --git a/engines/ultima/ultima4/map/tileanim.h b/engines/ultima/ultima4/map/tileanim.h
index dcfdaf9b095..b9deb23c17a 100644
--- a/engines/ultima/ultima4/map/tileanim.h
+++ b/engines/ultima/ultima4/map/tileanim.h
@@ -214,7 +214,7 @@ public:
  * specific image set which shares the same name.
  */
 class TileAnimSet {
-	typedef Std::map<Common::String, TileAnim *> TileAnimMap;
+	typedef Common::HashMap<Common::String, TileAnim *> TileAnimMap;
 
 public:
 	TileAnimSet(const ConfigElement &conf);
diff --git a/engines/ultima/ultima4/map/tilemap.cpp b/engines/ultima/ultima4/map/tilemap.cpp
index 117c5e0649f..55cd4a9f18a 100644
--- a/engines/ultima/ultima4/map/tilemap.cpp
+++ b/engines/ultima/ultima4/map/tilemap.cpp
@@ -128,7 +128,7 @@ MapTile TileMap::translate(uint index) {
 uint TileMap::untranslate(MapTile &tile) {
 	uint index = 0;
 
-	for (Std::map<uint, MapTile>::iterator i = _tileMap.begin(); i != _tileMap.end(); i++) {
+	for (Common::HashMap<uint, MapTile>::iterator i = _tileMap.begin(); i != _tileMap.end(); i++) {
 		if (i->_value == tile) {
 			index = i->_key;
 			break;
diff --git a/engines/ultima/ultima4/map/tilemap.h b/engines/ultima/ultima4/map/tilemap.h
index d9b51a61597..b0218b27fe6 100644
--- a/engines/ultima/ultima4/map/tilemap.h
+++ b/engines/ultima/ultima4/map/tilemap.h
@@ -38,7 +38,7 @@ class TileMaps;
 class TileMap {
 	friend class TileMaps;
 private:
-	Std::map<uint, MapTile> _tileMap;
+	Common::HashMap<uint, MapTile> _tileMap;
 public:
 	/**
 	 * Translates a raw index to a MapTile.
@@ -48,7 +48,7 @@ public:
 	uint untranslate(MapTile &tile);
 };
 
-class TileMaps : public Std::map<Common::String, TileMap *> {
+class TileMaps : public Common::HashMap<Common::String, TileMap *> {
 private:
 	/**
 	 * Loads a tile map which translates between tile indices and tile
diff --git a/engines/ultima/ultima8/conf/config_file_manager.h b/engines/ultima/ultima8/conf/config_file_manager.h
index fe1e61903fe..df84ab4b496 100644
--- a/engines/ultima/ultima8/conf/config_file_manager.h
+++ b/engines/ultima/ultima8/conf/config_file_manager.h
@@ -30,7 +30,7 @@
 namespace Ultima {
 namespace Ultima8 {
 
-typedef Std::map<istring, Std::string, Common::IgnoreCase_Hash> KeyMap;
+typedef Common::HashMap<istring, Std::string, Common::IgnoreCase_Hash> KeyMap;
 
 class ConfigFileManager {
 public:
diff --git a/engines/ultima/ultima8/filesys/named_archive_file.h b/engines/ultima/ultima8/filesys/named_archive_file.h
index a09bc53a332..843c0679979 100644
--- a/engines/ultima/ultima8/filesys/named_archive_file.h
+++ b/engines/ultima/ultima8/filesys/named_archive_file.h
@@ -70,7 +70,7 @@ public:
 
 protected:
 	bool indexToName(uint32 index, Std::string &name) const {
-		Std::map<uint32, Std::string>::const_iterator iter;
+		Common::HashMap<uint32, Std::string>::const_iterator iter;
 		iter = _indexedNames.find(index);
 		if (iter == _indexedNames.end()) return false;
 		name = iter->_value;
@@ -86,7 +86,7 @@ protected:
 		}
 	}
 
-	Std::map<uint32, Std::string> _indexedNames;
+	Common::HashMap<uint32, Std::string> _indexedNames;
 	uint32 _indexCount;
 };
 
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.cpp b/engines/ultima/ultima8/filesys/u8_save_file.cpp
index ecf552cd265..6066f92b101 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.cpp
+++ b/engines/ultima/ultima8/filesys/u8_save_file.cpp
@@ -71,7 +71,7 @@ bool U8SaveFile::readMetadata() {
 }
 
 bool U8SaveFile::findIndex(const Std::string &name, uint32 &index) const {
-	Std::map<Common::String, uint32>::const_iterator iter;
+	Common::HashMap<Common::String, uint32>::const_iterator iter;
 	iter = _indices.find(name);
 	if (iter == _indices.end()) return false;
 	index = iter->_value;
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.h b/engines/ultima/ultima8/filesys/u8_save_file.h
index f100cb7aa45..04ef0c79f5b 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.h
+++ b/engines/ultima/ultima8/filesys/u8_save_file.h
@@ -51,7 +51,7 @@ protected:
 	Common::SeekableReadStream *_rs;
 	uint32 _count;
 
-	Std::map<Common::String, uint32> _indices;
+	Common::HashMap<Common::String, uint32> _indices;
 	Std::vector<uint32> _offsets;
 	Std::vector<uint32> _sizes;
 
diff --git a/engines/ultima/ultima8/games/treasure_loader.h b/engines/ultima/ultima8/games/treasure_loader.h
index d077ca8d2ff..558cf622f08 100644
--- a/engines/ultima/ultima8/games/treasure_loader.h
+++ b/engines/ultima/ultima8/games/treasure_loader.h
@@ -29,7 +29,7 @@
 namespace Ultima {
 namespace Ultima8 {
 
-typedef Std::map<istring, TreasureInfo, Common::IgnoreCase_Hash> TreasureMap;
+typedef Common::HashMap<istring, TreasureInfo, Common::IgnoreCase_Hash> TreasureMap;
 
 class TreasureLoader {
 public:
diff --git a/engines/ultima/ultima8/graphics/fonts/font_manager.h b/engines/ultima/ultima8/graphics/fonts/font_manager.h
index d2e53ad810f..e4c95b00cf3 100644
--- a/engines/ultima/ultima8/graphics/fonts/font_manager.h
+++ b/engines/ultima/ultima8/graphics/fonts/font_manager.h
@@ -61,7 +61,7 @@ private:
 		}
 	};
 
-	typedef Std::map<TTFId, Graphics::Font *, TTFHash, TTFEqual> TTFFonts;
+	typedef Common::HashMap<TTFId, Graphics::Font *, TTFHash, TTFEqual> TTFFonts;
 	TTFFonts _ttfFonts;
 
 	//! Get a (possibly cached) TTF_Font structure for filename/pointsize,
diff --git a/engines/ultima/ultima8/kernel/kernel.cpp b/engines/ultima/ultima8/kernel/kernel.cpp
index 16930c87895..b8910f30aaf 100644
--- a/engines/ultima/ultima8/kernel/kernel.cpp
+++ b/engines/ultima/ultima8/kernel/kernel.cpp
@@ -258,12 +258,12 @@ void Kernel::kernelStats() {
 
 void Kernel::processTypes() {
 	g_debugger->debugPrintf("Current process types:\n");
-	Std::map<Common::String, unsigned int> processtypes;
+	Common::HashMap<Common::String, unsigned int> processtypes;
 	for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
 		Process *p = *it;
 		processtypes[p->GetClassType()._className]++;
 	}
-	Std::map<Common::String, unsigned int>::const_iterator iter;
+	Common::HashMap<Common::String, unsigned int>::const_iterator iter;
 	for (iter = processtypes.begin(); iter != processtypes.end(); ++iter) {
 		g_debugger->debugPrintf("%s: %u\n", (*iter)._key.c_str(), (*iter)._value);
 	}
@@ -365,7 +365,7 @@ void Kernel::save(Common::WriteStream *ws) {
 		const Std::string & classname = (*it)->GetClassType()._className; // virtual
 		assert(classname.size());
 
-		Std::map<Common::String, ProcessLoadFunc>::iterator iter;
+		Common::HashMap<Common::String, ProcessLoadFunc>::iterator iter;
 		iter = _processLoaders.find(classname);
 
 		if (iter == _processLoaders.end()) {
@@ -430,7 +430,7 @@ Process *Kernel::loadProcess(Common::ReadStream *rs, uint32 version) {
 	Std::string classname = buf;
 	delete[] buf;
 
-	Std::map<Common::String, ProcessLoadFunc>::iterator iter;
+	Common::HashMap<Common::String, ProcessLoadFunc>::iterator iter;
 	iter = _processLoaders.find(classname);
 
 	if (iter == _processLoaders.end()) {
diff --git a/engines/ultima/ultima8/kernel/kernel.h b/engines/ultima/ultima8/kernel/kernel.h
index c2f384cda6a..b97d2093d38 100644
--- a/engines/ultima/ultima8/kernel/kernel.h
+++ b/engines/ultima/ultima8/kernel/kernel.h
@@ -149,7 +149,7 @@ private:
 
 	Std::list<Process *>::iterator _currentProcess;
 
-	Std::map<Common::String, ProcessLoadFunc> _processLoaders;
+	Common::HashMap<Common::String, ProcessLoadFunc> _processLoaders;
 
 	bool _loading;
 
diff --git a/engines/ultima/ultima8/kernel/object_manager.cpp b/engines/ultima/ultima8/kernel/object_manager.cpp
index 6a05892c6c6..1766dfc40f0 100644
--- a/engines/ultima/ultima8/kernel/object_manager.cpp
+++ b/engines/ultima/ultima8/kernel/object_manager.cpp
@@ -134,14 +134,14 @@ void ObjectManager::objectStats() {
 
 void ObjectManager::objectTypes() {
 	g_debugger->debugPrintf("Current object types:\n");
-	Std::map<Common::String, unsigned int> objecttypes;
+	Common::HashMap<Common::String, unsigned int> objecttypes;
 	for (unsigned int i = 1; i < _objects.size(); ++i) {
 		Object *o = _objects[i];
 		if (!o) continue;
 		objecttypes[o->GetClassType()._className]++;
 	}
 
-	Std::map<Common::String, unsigned int>::const_iterator iter;
+	Common::HashMap<Common::String, unsigned int>::const_iterator iter;
 	for (iter = objecttypes.begin(); iter != objecttypes.end(); ++iter) {
 		g_debugger->debugPrintf("%s: %u\n", (*iter)._key.c_str(), (*iter)._value);
 	}
@@ -307,7 +307,7 @@ bool ObjectManager::load(Common::ReadStream *rs, uint32 version) {
 void ObjectManager::saveObject(Common::WriteStream *ws, Object *obj) const {
 	const Std::string & classname = obj->GetClassType()._className; // note: virtual
 
-	Std::map<Common::String, ObjectLoadFunc>::iterator iter;
+	Common::HashMap<Common::String, ObjectLoadFunc>::iterator iter;
 	iter = _objectLoaders.find(classname);
 	if (iter == _objectLoaders.end()) {
 		error("Object class cannot save without registered loader: %s", classname.c_str());
@@ -332,7 +332,7 @@ Object *ObjectManager::loadObject(Common::ReadStream *rs, uint32 version) {
 
 Object *ObjectManager::loadObject(Common::ReadStream *rs, Std::string classname,
 								  uint32 version) {
-	Std::map<Common::String, ObjectLoadFunc>::iterator iter;
+	Common::HashMap<Common::String, ObjectLoadFunc>::iterator iter;
 	iter = _objectLoaders.find(classname);
 
 	if (iter == _objectLoaders.end()) {
diff --git a/engines/ultima/ultima8/kernel/object_manager.h b/engines/ultima/ultima8/kernel/object_manager.h
index 579b4fd6be9..47c0329c176 100644
--- a/engines/ultima/ultima8/kernel/object_manager.h
+++ b/engines/ultima/ultima8/kernel/object_manager.h
@@ -80,7 +80,7 @@ private:
 	void addObjectLoader(Std::string classname, ObjectLoadFunc func) {
 		_objectLoaders[classname] = func;
 	}
-	Std::map<Common::String, ObjectLoadFunc> _objectLoaders;
+	Common::HashMap<Common::String, ObjectLoadFunc> _objectLoaders;
 
 	static ObjectManager *_objectManager;
 };
diff --git a/engines/ultima/ultima8/usecode/uc_machine.cpp b/engines/ultima/ultima8/usecode/uc_machine.cpp
index 97ffd9bf525..b8f8be51f4a 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.cpp
+++ b/engines/ultima/ultima8/usecode/uc_machine.cpp
@@ -139,7 +139,7 @@ void UCMachine::reset() {
 	}
 
 	// clear strings, lists
-	Std::map<uint16, UCList *>::iterator iter;
+	Common::HashMap<uint16, UCList *>::iterator iter;
 	for (iter = _listHeap.begin(); iter != _listHeap.end(); ++iter)
 		delete(iter->_value);
 	_listHeap.clear();
@@ -2046,7 +2046,7 @@ void UCMachine::execProcess(UCProcess *p) {
 const Std::string &UCMachine::getString(uint16 str) const {
 	static const Std::string emptystring("");
 
-	Std::map<uint16, Std::string>::const_iterator iter =
+	Common::HashMap<uint16, Std::string>::const_iterator iter =
 			_stringHeap.find(str);
 
 	if (iter != _stringHeap.end())
@@ -2056,7 +2056,7 @@ const Std::string &UCMachine::getString(uint16 str) const {
 }
 
 UCList *UCMachine::getList(uint16 l) {
-	Std::map<uint16, UCList *>::iterator iter = _listHeap.find(l);
+	Common::HashMap<uint16, UCList *>::iterator iter = _listHeap.find(l);
 
 	if (iter != _listHeap.end())
 		return iter->_value;
@@ -2095,7 +2095,7 @@ void UCMachine::freeString(uint16 s) {
 	//! (when something accesses _stringHeap[0])
 	//! This may not be desirable, but OTOH the created string will be
 	//! empty, so not too much of a problem.
-	Std::map<uint16, Std::string>::iterator iter = _stringHeap.find(s);
+	Common::HashMap<uint16, Std::string>::iterator iter = _stringHeap.find(s);
 	if (iter != _stringHeap.end()) {
 		_stringHeap.erase(iter);
 		_stringIDs->clearID(s);
@@ -2103,7 +2103,7 @@ void UCMachine::freeString(uint16 s) {
 }
 
 void UCMachine::freeList(uint16 l) {
-	Std::map<uint16, UCList *>::iterator iter = _listHeap.find(l);
+	Common::HashMap<uint16, UCList *>::iterator iter = _listHeap.find(l);
 	if (iter != _listHeap.end() && iter->_value) {
 		iter->_value->free();
 		delete iter->_value;
@@ -2113,7 +2113,7 @@ void UCMachine::freeList(uint16 l) {
 }
 
 void UCMachine::freeStringList(uint16 l) {
-	Std::map<uint16, UCList *>::iterator iter = _listHeap.find(l);
+	Common::HashMap<uint16, UCList *>::iterator iter = _listHeap.find(l);
 	if (iter != _listHeap.end() && iter->_value) {
 		iter->_value->freeStrings();
 		delete iter->_value;
@@ -2303,13 +2303,13 @@ void UCMachine::usecodeStats() const {
 	g_debugger->debugPrintf("Usecode Machine memory stats:\n");
 	g_debugger->debugPrintf("Strings    : %u/65534\n", _stringHeap.size());
 #ifdef DUMPHEAP
-	Std::map<uint16, Std::string>::const_iterator iter;
+	Common::HashMap<uint16, Std::string>::const_iterator iter;
 	for (iter = _stringHeap.begin(); iter != _stringHeap.end(); ++iter)
 		g_debugger->debugPrintf("%d:%s\n", iter->_key << ":" << iter->_value.c_str());
 #endif
 	g_debugger->debugPrintf("Lists      : %u/65534\n", _listHeap.size());
 #ifdef DUMPHEAP
-	Std::map<uint16, UCList *>::const_iterator iterl;
+	Common::HashMap<uint16, UCList *>::const_iterator iterl;
 	for (iterl = _listHeap.begin(); iterl != _listHeap.end(); ++iterl) {
 		if (!iterl->_value) {
 			g_debugger->debugPrintf("%d: <null>\n", iterl->_key);
@@ -2339,7 +2339,7 @@ void UCMachine::saveStrings(Common::WriteStream *ws) const {
 	_stringIDs->save(ws);
 	ws->writeUint32LE(static_cast<uint32>(_stringHeap.size()));
 
-	Std::map<uint16, Std::string>::const_iterator iter;
+	Common::HashMap<uint16, Std::string>::const_iterator iter;
 	for (iter = _stringHeap.begin(); iter != _stringHeap.end(); ++iter) {
 		ws->writeUint16LE((*iter)._key);
 		ws->writeUint32LE((*iter)._value.size());
@@ -2351,7 +2351,7 @@ void UCMachine::saveLists(Common::WriteStream *ws) const {
 	_listIDs->save(ws);
 	ws->writeUint32LE(_listHeap.size());
 
-	Std::map<uint16, UCList *>::const_iterator iter;
+	Common::HashMap<uint16, UCList *>::const_iterator iter;
 	for (iter = _listHeap.begin(); iter != _listHeap.end(); ++iter) {
 		ws->writeUint16LE((*iter)._key);
 		(*iter)._value->save(ws);
diff --git a/engines/ultima/ultima8/usecode/uc_machine.h b/engines/ultima/ultima8/usecode/uc_machine.h
index dafa78a1960..bea27883feb 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.h
+++ b/engines/ultima/ultima8/usecode/uc_machine.h
@@ -99,8 +99,8 @@ private:
 
 	GlobalStorage *_globals;
 
-	Std::map<uint16, UCList *> _listHeap;
-	Std::map<uint16, Std::string> _stringHeap;
+	Common::HashMap<uint16, UCList *> _listHeap;
+	Common::HashMap<uint16, Std::string> _stringHeap;
 
 	// Add a string to the list (copies the string)
 	uint16 assignString(const char *str);




More information about the Scummvm-git-logs mailing list