[Scummvm-git-logs] scummvm master -> 3594eb54a171f76d93ff71a935328059686b7b90
OMGPizzaGuy
noreply at scummvm.org
Sun Apr 6 12:46:05 UTC 2025
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:
3594eb54a1 ULTIMA: Use C++ 11 range-based for loops
Commit: 3594eb54a171f76d93ff71a935328059686b7b90
https://github.com/scummvm/scummvm/commit/3594eb54a171f76d93ff71a935328059686b7b90
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2025-04-06T07:31:52-05:00
Commit Message:
ULTIMA: Use C++ 11 range-based for loops
Changed paths:
engines/ultima/nuvie/conf/configuration.cpp
engines/ultima/nuvie/files/nuvie_file_list.cpp
engines/ultima/nuvie/files/nuvie_io_file.cpp
engines/ultima/nuvie/fonts/font_manager.cpp
engines/ultima/nuvie/gui/widgets/msg_scroll.cpp
engines/ultima/nuvie/misc/u6_misc.cpp
engines/ultima/nuvie/sound/sound_manager.cpp
engines/ultima/shared/conf/xml_node.cpp
engines/ultima/shared/gfx/screen.cpp
engines/ultima/ultima4/controllers/combat_controller.cpp
engines/ultima/ultima4/controllers/game_controller.cpp
engines/ultima/ultima4/conversation/conversation.cpp
engines/ultima/ultima4/conversation/dialogueloader.cpp
engines/ultima/ultima4/core/config.cpp
engines/ultima/ultima4/core/debugger.cpp
engines/ultima/ultima4/core/observable.h
engines/ultima/ultima4/game/armor.cpp
engines/ultima/ultima4/game/creature.cpp
engines/ultima/ultima4/game/game.cpp
engines/ultima/ultima4/game/person.cpp
engines/ultima/ultima4/game/script.cpp
engines/ultima/ultima4/game/spell.cpp
engines/ultima/ultima4/game/weapon.cpp
engines/ultima/ultima4/gfx/image.cpp
engines/ultima/ultima4/gfx/imageloader_u4.cpp
engines/ultima/ultima4/gfx/imagemgr.cpp
engines/ultima/ultima4/gfx/screen.cpp
engines/ultima/ultima4/map/city.cpp
engines/ultima/ultima4/map/map.cpp
engines/ultima/ultima4/map/mapmgr.cpp
engines/ultima/ultima4/map/tileanim.cpp
engines/ultima/ultima4/map/tilemap.cpp
engines/ultima/ultima4/map/tileset.cpp
engines/ultima/ultima4/sound/music.cpp
engines/ultima/ultima4/sound/sound.cpp
engines/ultima/ultima4/views/menu.cpp
engines/ultima/ultima4/views/menu.h
engines/ultima/ultima4/views/stats.cpp
engines/ultima/ultima8/audio/audio_process.cpp
engines/ultima/ultima8/audio/speech_flex.cpp
engines/ultima/ultima8/conf/config_file_manager.cpp
engines/ultima/ultima8/filesys/savegame.cpp
engines/ultima/ultima8/filesys/u8_save_file.cpp
engines/ultima/ultima8/games/game_data.cpp
engines/ultima/ultima8/games/treasure_loader.cpp
engines/ultima/ultima8/gfx/fonts/font.cpp
engines/ultima/ultima8/gfx/fonts/font_manager.cpp
engines/ultima/ultima8/gfx/fonts/font_shape_archive.cpp
engines/ultima/ultima8/gfx/fonts/jp_rendered_text.cpp
engines/ultima/ultima8/gfx/fonts/shape_rendered_text.cpp
engines/ultima/ultima8/gfx/fonts/tt_font.cpp
engines/ultima/ultima8/gfx/type_flags.cpp
engines/ultima/ultima8/gumps/ask_gump.cpp
engines/ultima/ultima8/gumps/container_gump.cpp
engines/ultima/ultima8/gumps/cru_credits_gump.cpp
engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp
engines/ultima/ultima8/gumps/desktop_gump.cpp
engines/ultima/ultima8/gumps/gump.cpp
engines/ultima/ultima8/gumps/minimap_gump.cpp
engines/ultima/ultima8/gumps/paged_gump.cpp
engines/ultima/ultima8/gumps/paperdoll_gump.cpp
engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
engines/ultima/ultima8/gumps/weasel_dat.cpp
engines/ultima/ultima8/gumps/weasel_gump.cpp
engines/ultima/ultima8/kernel/kernel.cpp
engines/ultima/ultima8/kernel/object_manager.cpp
engines/ultima/ultima8/kernel/process.cpp
engines/ultima/ultima8/misc/debugger.cpp
engines/ultima/ultima8/usecode/uc_machine.cpp
engines/ultima/ultima8/usecode/uc_process.cpp
engines/ultima/ultima8/world/actors/actor.cpp
engines/ultima/ultima8/world/actors/animation_tracker.cpp
engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
engines/ultima/ultima8/world/actors/main_actor.cpp
engines/ultima/ultima8/world/actors/pathfinder.cpp
engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp
engines/ultima/ultima8/world/container.cpp
engines/ultima/ultima8/world/current_map.cpp
engines/ultima/ultima8/world/glob_egg.cpp
engines/ultima/ultima8/world/item.cpp
engines/ultima/ultima8/world/item_selection_process.cpp
engines/ultima/ultima8/world/item_sorter.cpp
engines/ultima/ultima8/world/map.cpp
engines/ultima/ultima8/world/minimap.cpp
engines/ultima/ultima8/world/missile_tracker.cpp
engines/ultima/ultima8/world/snap_process.cpp
diff --git a/engines/ultima/nuvie/conf/configuration.cpp b/engines/ultima/nuvie/conf/configuration.cpp
index 369ff206a01..4ee12fc7ff7 100644
--- a/engines/ultima/nuvie/conf/configuration.cpp
+++ b/engines/ultima/nuvie/conf/configuration.cpp
@@ -266,12 +266,10 @@ ConfigNode *Configuration::getNode(const Std::string &key) {
Std::set<Std::string> Configuration::listKeys(const Std::string &key, bool longformat) const {
Std::set<Std::string> keys;
- for (Common::Array<Shared::XMLTree *>::const_iterator i = _trees.begin();
- i != _trees.end(); ++i) {
- Common::Array<Common::String> k = (*i)->listKeys(key, longformat);
- for (Common::Array<Common::String>::const_iterator iter = k.begin();
- iter != k.end(); ++iter) {
- keys.insert(*iter);
+ for (auto *tree : _trees) {
+ Common::Array<Common::String> treeKeys = tree->listKeys(key, longformat);
+ for (const auto &k : treeKeys) {
+ keys.insert(k);
}
}
return keys;
@@ -282,20 +280,18 @@ void Configuration::getSubkeys(KeyTypeList &ktl, const Std::string &basekey) {
Shared::XMLTree::KeyTypeList l;
tree->getSubkeys(l, basekey);
- for (Shared::XMLTree::KeyTypeList::iterator i = l.begin();
- i != l.end(); ++i) {
+ for (const auto &i : l) {
bool found = false;
- for (KeyTypeList::iterator j = ktl.begin();
- j != ktl.end() && !found; ++j) {
- if (j->first == i->first) {
+ for (auto &j : ktl) {
+ if (j.first == i.first) {
// already have this subkey, so just replace the value
- j->second = i->second;
+ j.second = i.second;
found = true;
}
}
if (!found) {
// new subkey
- ktl.push_back(*i);
+ ktl.push_back(i);
}
}
}
diff --git a/engines/ultima/nuvie/files/nuvie_file_list.cpp b/engines/ultima/nuvie/files/nuvie_file_list.cpp
index 463221b2f58..a79fe163645 100644
--- a/engines/ultima/nuvie/files/nuvie_file_list.cpp
+++ b/engines/ultima/nuvie/files/nuvie_file_list.cpp
@@ -96,13 +96,9 @@ void NuvieFileList::close() {
Std::set<Std::string> NuvieFileList::get_filenames() const {
Std::set<Std::string> filenames;
- Std::list<NuvieFileDesc>::const_iterator iter = file_list.begin();
-
- while (iter != file_list.end()) {
- filenames.insert((*iter).filename);
- iter++;
+ for (const auto &desc : file_list) {
+ filenames.insert(desc.filename);
}
-
return filenames;
}
diff --git a/engines/ultima/nuvie/files/nuvie_io_file.cpp b/engines/ultima/nuvie/files/nuvie_io_file.cpp
index 8e3ee9c255e..b66b55596b6 100644
--- a/engines/ultima/nuvie/files/nuvie_io_file.cpp
+++ b/engines/ultima/nuvie/files/nuvie_io_file.cpp
@@ -48,8 +48,8 @@ bool NuvieIOFileRead::open(const Common::Path &filename) {
if (components.size() >= 2) {
Common::FSNode node(ConfMan.getPath("path"));
- for(Common::StringArray::const_iterator it = components.begin(); it != components.end(); it++) {
- node = node.getChild(*it);
+ for(const auto &c : components) {
+ node = node.getChild(c);
if (!node.exists())
break;
}
diff --git a/engines/ultima/nuvie/fonts/font_manager.cpp b/engines/ultima/nuvie/fonts/font_manager.cpp
index fac7a352473..a38f1c082ec 100644
--- a/engines/ultima/nuvie/fonts/font_manager.cpp
+++ b/engines/ultima/nuvie/fonts/font_manager.cpp
@@ -41,11 +41,8 @@ FontManager::FontManager(const Configuration *cfg) : config(cfg), num_fonts(0),
}
FontManager::~FontManager() {
- Std::vector<Font *>::iterator font;
-
- for (font = fonts.begin(); font != fonts.end();) {
- delete *font;
- font++;
+ for (auto *font : fonts) {
+ delete font;
}
if (conv_font) {
delete conv_font;
diff --git a/engines/ultima/nuvie/gui/widgets/msg_scroll.cpp b/engines/ultima/nuvie/gui/widgets/msg_scroll.cpp
index c48fec35bcc..172e843be05 100644
--- a/engines/ultima/nuvie/gui/widgets/msg_scroll.cpp
+++ b/engines/ultima/nuvie/gui/widgets/msg_scroll.cpp
@@ -119,17 +119,16 @@ uint32 MsgLine::length() {
// gets the MsgText object that contains the text at line position pos
MsgText *MsgLine::get_text_at_pos(uint16 pos) {
- uint16 i;
- Std::list<MsgText *>::iterator iter;
+ uint16 i = 0;
if (pos > total_length)
return nullptr;
- for (i = 0, iter = text.begin(); iter != text.end(); iter++) {
- if (i + (*iter)->s.length() >= pos)
- return (*iter);
+ for (auto *t : text) {
+ if (i + t->s.length() >= pos)
+ return t;
- i += (*iter)->s.length();
+ i += t->s.length();
}
return nullptr;
diff --git a/engines/ultima/nuvie/misc/u6_misc.cpp b/engines/ultima/nuvie/misc/u6_misc.cpp
index 73d45038da5..9e98b7aa80c 100644
--- a/engines/ultima/nuvie/misc/u6_misc.cpp
+++ b/engines/ultima/nuvie/misc/u6_misc.cpp
@@ -97,14 +97,10 @@ int mkdir_recursive(const Common::Path &path, int mode) {
Tokenise(path, directories, U6PATH_DELIMITER);
- Std::vector<string>::iterator dir_iter;
-
if (path.find(U6PATH_DELIMITER) == 0)
tmp_path += U6PATH_DELIMITER;
- for (dir_iter = directories.begin(); dir_iter != directories.end();) {
- string dir = *dir_iter;
-
+ for (const auto &dir : directories) {
debug("%s, ", dir.c_str());
tmp_path += dir;
@@ -118,7 +114,6 @@ int mkdir_recursive(const Common::Path &path, int mode) {
if (ret != 0)
return ret;
}
- dir_iter++;
}
return 0;
@@ -703,8 +698,8 @@ sint8 get_wrapped_rel_dir(sint16 p1, sint16 p2, uint8 level) {
Std::string encode_xml_entity(const Std::string &s) {
string ret;
- for (string::const_iterator it = s.begin(); it != s.end(); ++it) {
- switch (*it) {
+ for (const auto &c : s) {
+ switch (c) {
case '<':
ret += "<";
break;
@@ -721,7 +716,7 @@ Std::string encode_xml_entity(const Std::string &s) {
ret += "&";
break;
default:
- ret += *it;
+ ret += c;
}
}
return ret;
diff --git a/engines/ultima/nuvie/sound/sound_manager.cpp b/engines/ultima/nuvie/sound/sound_manager.cpp
index 764786de156..e8bc939a095 100644
--- a/engines/ultima/nuvie/sound/sound_manager.cpp
+++ b/engines/ultima/nuvie/sound/sound_manager.cpp
@@ -124,12 +124,12 @@ SoundManager::~SoundManager() {
delete opl;
- for (IntCollectionMap::iterator it = m_ObjectSampleMap.begin(); it != m_ObjectSampleMap.end(); ++it)
- delete it->_value;
- for (IntCollectionMap::iterator it = m_TileSampleMap.begin(); it != m_TileSampleMap.end(); ++it)
- delete it->_value;
- for (StringCollectionMap::iterator it = m_MusicMap.begin(); it != m_MusicMap.end(); ++it)
- delete it->_value;
+ for (auto &i : m_ObjectSampleMap)
+ delete i._value;
+ for (auto &i : m_TileSampleMap)
+ delete i._value;
+ for (auto &i : m_MusicMap)
+ delete i._value;
delete m_SfxManager;
}
diff --git a/engines/ultima/shared/conf/xml_node.cpp b/engines/ultima/shared/conf/xml_node.cpp
index 92d898bc3f6..11daa461cbf 100644
--- a/engines/ultima/shared/conf/xml_node.cpp
+++ b/engines/ultima/shared/conf/xml_node.cpp
@@ -27,9 +27,8 @@ namespace Ultima {
namespace Shared {
XMLNode::~XMLNode() {
- for (Common::Array<XMLNode *>::iterator i = _nodeList.begin();
- i != _nodeList.end(); ++i) {
- delete *i;
+ for (auto *node : _nodeList) {
+ delete node;
}
}
@@ -48,10 +47,9 @@ const Common::String &XMLNode::reference(const Common::String &h, bool &exists)
Common::String k;
k = h.substr(h.find('/') + 1);
Common::String k2 = k.substr(0, k.find('/'));
- for (Common::Array<XMLNode *>::iterator it = _nodeList.begin();
- it != _nodeList.end(); ++it) {
- if ((*it)->_id == k2)
- return (*it)->reference(k, exists);
+ for (auto *node : _nodeList) {
+ if (node->_id == k2)
+ return node->reference(k, exists);
}
}
@@ -73,10 +71,9 @@ const XMLNode *XMLNode::subtree(const Common::String &h) const {
Common::String k;
k = h.substr(h.find('/') + 1);
Common::String k2 = k.substr(0, k.find('/'));
- for (Common::Array<XMLNode *>::const_iterator it = _nodeList.begin();
- it != _nodeList.end(); ++it) {
- if ((*it)->_id.equalsIgnoreCase(k2)) {
- return (*it)->subtree(k);
+ for (auto *node : _nodeList) {
+ if (node->_id.equalsIgnoreCase(k2)) {
+ return node->subtree(k);
}
}
}
@@ -96,9 +93,8 @@ Common::String XMLNode::dump(int depth) {
if (_id[_id.size() - 1] != '/') {
if (_nodeList.empty() == false)
s += "\n";
- for (Common::Array<XMLNode *>::const_iterator it = _nodeList.begin();
- it != _nodeList.end(); ++it) {
- s += (**it).dump(depth + 1);
+ for (auto *node : _nodeList) {
+ s += node->dump(depth + 1);
}
if (!_text.empty()) {
@@ -138,10 +134,9 @@ void XMLNode::xmlAssign(const Common::String &key, const Common::String &value)
Common::String k;
k = key.substr(key.find('/') + 1);
Common::String k2 = k.substr(0, k.find('/'));
- for (Common::Array<XMLNode *>::iterator it = _nodeList.begin();
- it != _nodeList.end(); ++it) {
- if ((*it)->_id == k2) {
- (**it).xmlAssign(k, value);
+ for (auto *node : _nodeList) {
+ if (node->_id == k2) {
+ node->xmlAssign(k, value);
return;
}
}
@@ -160,20 +155,19 @@ void XMLNode::listKeys(const Common::String &key, Common::Array<Common::String>
Common::String s(key);
s += "/";
- for (Common::Array<XMLNode *>::const_iterator it = _nodeList.begin();
- it != _nodeList.end(); ++it) {
+ for (auto *node : _nodeList) {
if (!longformat)
- vs.push_back((*it)->_id);
+ vs.push_back(node->_id);
else
- vs.push_back(s + (*it)->_id);
+ vs.push_back(s + node->_id);
}
}
Common::String XMLNode::encodeEntity(const Common::String &s) {
Common::String ret;
- for (Common::String::const_iterator it = s.begin(); it != s.end(); ++it) {
- switch (*it) {
+ for (const auto &c : s) {
+ switch (c) {
case '<':
ret += "<";
break;
@@ -190,7 +184,7 @@ Common::String XMLNode::encodeEntity(const Common::String &s) {
ret += "&";
break;
default:
- ret += *it;
+ ret += c;
}
}
return ret;
@@ -469,18 +463,19 @@ bool XMLNode::searchPairs(KeyTypeList &ktl, const Common::String &basekey,
/* If we've found it, return every key->value pair under this key,
then return true, since we've found the key we were looking for.*/
if (basekey == currkey + _id) {
- for (Common::Array<XMLNode *>::iterator i = _nodeList.begin();
- i != _nodeList.end(); ++i)
- if ((*i)->_id[0] != '!')
- (*i)->selectPairs(ktl, "");
+ for (auto *node : _nodeList) {
+ if (node->_id[0] != '!')
+ node->selectPairs(ktl, "");
+ }
return true;
}
/* Else, keep searching for the key under it's subnodes */
- else
- for (Common::Array<XMLNode *>::iterator i = _nodeList.begin();
- i != _nodeList.end(); ++i)
- if ((*i)->searchPairs(ktl, basekey, currkey + _id + '/', pos))
+ else {
+ for (auto *node : _nodeList) {
+ if (node->searchPairs(ktl, basekey, currkey + _id + '/', pos))
return true;
+ }
+ }
}
return false;
}
@@ -489,9 +484,8 @@ bool XMLNode::searchPairs(KeyTypeList &ktl, const Common::String &basekey,
void XMLNode::selectPairs(KeyTypeList &ktl, const Common::String currkey) {
ktl.push_back(KeyType(currkey + _id, currkey));
- for (Common::Array<XMLNode *>::iterator i = _nodeList.begin();
- i != _nodeList.end(); ++i) {
- (*i)->selectPairs(ktl, currkey + _id + '/');
+ for (auto *node : _nodeList) {
+ node->selectPairs(ktl, currkey + _id + '/');
}
}
diff --git a/engines/ultima/shared/gfx/screen.cpp b/engines/ultima/shared/gfx/screen.cpp
index 71b95ed1e5f..b56a0fcaeec 100644
--- a/engines/ultima/shared/gfx/screen.cpp
+++ b/engines/ultima/shared/gfx/screen.cpp
@@ -36,8 +36,7 @@ void Screen::update() {
if (_cursor) {
// Check whether the area the cursor occupies will be being updated
Common::Rect cursorBounds = _cursor->getBounds();
- for (Common::List<Common::Rect>::iterator i = _dirtyRects.begin(); i != _dirtyRects.end(); ++i) {
- const Common::Rect &r = *i;
+ for (const auto &r : _dirtyRects) {
if (r.intersects(cursorBounds)) {
addDirtyRect(cursorBounds);
_drawCursor = true;
diff --git a/engines/ultima/ultima4/controllers/combat_controller.cpp b/engines/ultima/ultima4/controllers/combat_controller.cpp
index 66f3c72559d..089b191f0db 100644
--- a/engines/ultima/ultima4/controllers/combat_controller.cpp
+++ b/engines/ultima/ultima4/controllers/combat_controller.cpp
@@ -269,10 +269,7 @@ void CombatController::initDungeonRoom(int room, Direction from) {
void CombatController::applyCreatureTileEffects() {
CreatureVector creatures = _map->getCreatures();
- CreatureVector::iterator i;
-
- for (i = creatures.begin(); i != creatures.end(); i++) {
- Creature *m = *i;
+ for (auto *m : creatures) {
TileEffect effect = _map->tileTypeAt(m->getCoords(), WITH_GROUND_OBJECTS)->getEffect();
m->applyTileEffect(effect);
}
@@ -921,11 +918,11 @@ void CombatController::attack(Direction dir, int distance) {
targetCoords = path.back();
distance = 1;
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (attackAt(*i, attacker, MASK_DIR(dir), range, distance)) {
+ for (const auto &coords : path) {
+ if (attackAt(coords, attacker, MASK_DIR(dir), range, distance)) {
foundTarget = true;
targetDistance = distance;
- targetCoords = *i;
+ targetCoords = coords;
break;
}
distance++;
@@ -965,43 +962,37 @@ void CombatController::update(Party *party, PartyEvent &event) {
CombatMap::CombatMap() : Map(), _dungeonRoom(false), _altarRoom(VIRT_NONE), _contextual(false) {}
CreatureVector CombatMap::getCreatures() {
- ObjectDeque::iterator i;
CreatureVector creatures;
- for (i = _objects.begin(); i != _objects.end(); i++) {
- if (isCreature(*i) && !isPartyMember(*i))
- creatures.push_back(dynamic_cast<Creature *>(*i));
+ for (auto *obj : _objects) {
+ if (isCreature(obj) && !isPartyMember(obj))
+ creatures.push_back(dynamic_cast<Creature *>(obj));
}
return creatures;
}
PartyMemberVector CombatMap::getPartyMembers() {
- ObjectDeque::iterator i;
PartyMemberVector party;
- for (i = _objects.begin(); i != _objects.end(); i++) {
- if (isPartyMember(*i))
- party.push_back(dynamic_cast<PartyMember *>(*i));
+ for (auto *obj : _objects) {
+ if (isPartyMember(obj))
+ party.push_back(dynamic_cast<PartyMember *>(obj));
}
return party;
}
PartyMember *CombatMap::partyMemberAt(Coords coords) {
PartyMemberVector party = getPartyMembers();
- PartyMemberVector::iterator i;
-
- for (i = party.begin(); i != party.end(); i++) {
- if ((*i)->getCoords() == coords)
- return *i;
+ for (auto *member : party) {
+ if (member->getCoords() == coords)
+ return member;
}
return nullptr;
}
Creature *CombatMap::creatureAt(Coords coords) {
CreatureVector creatures = getCreatures();
- CreatureVector::iterator i;
-
- for (i = creatures.begin(); i != creatures.end(); i++) {
- if ((*i)->getCoords() == coords)
- return *i;
+ for (auto *c : creatures) {
+ if (c->getCoords() == coords)
+ return c;
}
return nullptr;
}
diff --git a/engines/ultima/ultima4/controllers/game_controller.cpp b/engines/ultima/ultima4/controllers/game_controller.cpp
index 3fb9ff6248a..716789cd533 100644
--- a/engines/ultima/ultima4/controllers/game_controller.cpp
+++ b/engines/ultima/ultima4/controllers/game_controller.cpp
@@ -784,8 +784,7 @@ bool GameController::createBalloon(Map *map) {
ObjectDeque::iterator i;
/* see if the balloon has already been created (and not destroyed) */
- for (i = map->_objects.begin(); i != map->_objects.end(); i++) {
- Object *obj = *i;
+ for (auto *obj : map->_objects) {
if (obj->getTile().getTileType()->isBalloon())
return false;
}
@@ -814,8 +813,8 @@ void GameController::attack(Direction dir) {
Std::vector<Coords> path = gameGetDirectionalActionPath(
MASK_DIR(dir), MASK_DIR_ALL, g_context->_location->_coords,
1, 1, nullptr, true);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (attackAt(*i))
+ for (const auto &coords : path) {
+ if (attackAt(coords))
return;
}
diff --git a/engines/ultima/ultima4/conversation/conversation.cpp b/engines/ultima/ultima4/conversation/conversation.cpp
index e81d363a570..e4cb67368cc 100644
--- a/engines/ultima/ultima4/conversation/conversation.cpp
+++ b/engines/ultima/ultima4/conversation/conversation.cpp
@@ -65,8 +65,8 @@ const Std::vector<ResponsePart> &Response::getParts() const {
Response::operator Common::String() const {
Common::String result;
- for (Std::vector<ResponsePart>::const_iterator i = _parts.begin(); i != _parts.end(); i++) {
- result += *i;
+ for (const auto &i : _parts) {
+ result += i;
}
return result;
}
@@ -178,8 +178,8 @@ Dialogue::Dialogue()
}
Dialogue::~Dialogue() {
- for (KeywordMap::iterator i = _keywords.begin(); i != _keywords.end(); i++) {
- delete i->_value;
+ for (auto &i : _keywords) {
+ delete i._value;
}
}
@@ -224,8 +224,8 @@ Common::String Dialogue::dump(const Common::String &arg) {
Common::String result;
if (arg == "") {
result = "keywords:\n";
- for (KeywordMap::iterator i = _keywords.begin(); i != _keywords.end(); i++) {
- result += i->_key + "\n";
+ for (const auto &i : _keywords) {
+ result += i._key + "\n";
}
} else {
if (_keywords.find(arg) != _keywords.end())
diff --git a/engines/ultima/ultima4/conversation/dialogueloader.cpp b/engines/ultima/ultima4/conversation/dialogueloader.cpp
index e2cd7190df2..17c2b84cec8 100644
--- a/engines/ultima/ultima4/conversation/dialogueloader.cpp
+++ b/engines/ultima/ultima4/conversation/dialogueloader.cpp
@@ -38,9 +38,8 @@ DialogueLoaders::DialogueLoaders() {
}
DialogueLoaders::~DialogueLoaders() {
- for (Common::HashMap<Common::String, DialogueLoader *>::iterator it = _loaders.begin();
- it != _loaders.end(); ++it)
- delete it->_value;
+ for (auto &l : _loaders)
+ delete l._value;
g_loaders = nullptr;
}
diff --git a/engines/ultima/ultima4/core/config.cpp b/engines/ultima/ultima4/core/config.cpp
index 38c71f7ad54..c6e7e174051 100644
--- a/engines/ultima/ultima4/core/config.cpp
+++ b/engines/ultima/ultima4/core/config.cpp
@@ -116,9 +116,8 @@ Std::vector<ConfigElement> ConfigElement::getChildren() const {
const Common::Array<Shared::XMLNode *> &children = _node->children();
Std::vector<ConfigElement> result;
- for (Common::Array<Shared::XMLNode *>::const_iterator it = children.begin();
- it != children.end(); ++it)
- result.push_back(*it);
+ for (const auto &c : children)
+ result.push_back(c);
return result;
}
diff --git a/engines/ultima/ultima4/core/debugger.cpp b/engines/ultima/ultima4/core/debugger.cpp
index 499508c1f93..82099c7716f 100644
--- a/engines/ultima/ultima4/core/debugger.cpp
+++ b/engines/ultima/ultima4/core/debugger.cpp
@@ -149,9 +149,9 @@ void Debugger::printN(const char *fmt, ...) {
// Strip off any color special characters that aren't
// relevant for showing the text in the debugger
Common::String s;
- for (Common::String::iterator it = str.begin(); it != str.end(); ++it) {
- if (*it >= ' ' || *it == '\n')
- s += *it;
+ for (const auto &c : str) {
+ if (c >= ' ' || c == '\n')
+ s += c;
}
debugPrintf("%s", s.c_str());
@@ -586,8 +586,8 @@ bool Debugger::cmdFire(int argc, const char **argv) {
// nothing (not even mountains!) can block cannonballs
Std::vector<Coords> path = gameGetDirectionalActionPath(MASK_DIR(dir), broadsidesDirs, g_context->_location->_coords,
1, 3, nullptr, false);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (fireAt(*i, true))
+ for (const auto &coords : path) {
+ if (fireAt(coords, true))
return isDebuggerActive();
}
@@ -746,8 +746,8 @@ bool Debugger::cmdJimmy(int argc, const char **argv) {
Std::vector<Coords> path = gameGetDirectionalActionPath(MASK_DIR(dir), MASK_DIR_ALL, g_context->_location->_coords,
1, 1, nullptr, true);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (jimmyAt(*i))
+ for (const auto &coords : path) {
+ if (jimmyAt(coords))
return isDebuggerActive();
}
@@ -889,8 +889,8 @@ bool Debugger::cmdOpenDoor(int argc, const char **argv) {
Std::vector<Coords> path = gameGetDirectionalActionPath(MASK_DIR(dir), MASK_DIR_ALL, g_context->_location->_coords,
1, 1, nullptr, true);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (openAt(*i))
+ for (const auto &coords : path) {
+ if (openAt(coords))
return isDebuggerActive();
}
@@ -1143,8 +1143,8 @@ bool Debugger::cmdTalk(int argc, const char **argv) {
Std::vector<Coords> path = gameGetDirectionalActionPath(MASK_DIR(dir), MASK_DIR_ALL, g_context->_location->_coords,
1, 2, &Tile::canTalkOverTile, true);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (talkAt(*i))
+ for (const auto &coords : path) {
+ if (talkAt(coords))
return isDebuggerActive();
}
@@ -1300,8 +1300,8 @@ bool Debugger::cmdDestroy(int argc, const char **argv) {
Std::vector<Coords> path = gameGetDirectionalActionPath(MASK_DIR(dir),
MASK_DIR_ALL, g_context->_location->_coords, 1, 1, nullptr, true);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (destroyAt(*i)) {
+ for (const auto &coords : path) {
+ if (destroyAt(coords)) {
return false;
}
}
diff --git a/engines/ultima/ultima4/core/observable.h b/engines/ultima/ultima4/core/observable.h
index 8f0a39b4bb4..c0edf471264 100644
--- a/engines/ultima/ultima4/core/observable.h
+++ b/engines/ultima/ultima4/core/observable.h
@@ -80,12 +80,10 @@ public:
// is used to prevent problems if the observer removes itself (or
// otherwise changes the observer list)
typename Std::vector< Observer<O, A> *> tmp = _observers;
- typename Std::vector< Observer<O, A> *>::iterator i;
clearChanged();
- for (i = tmp.begin(); i != tmp.end(); i++) {
- Observer<O, A> *observer = *i;
+ for (auto *observer : tmp) {
observer->update(static_cast<O>(this), arg);
}
}
diff --git a/engines/ultima/ultima4/game/armor.cpp b/engines/ultima/ultima4/game/armor.cpp
index 703476d8a3a..791e68e6975 100644
--- a/engines/ultima/ultima4/game/armor.cpp
+++ b/engines/ultima/ultima4/game/armor.cpp
@@ -68,12 +68,12 @@ void Armors::loadConf() {
const Config *config = Config::getInstance();
Std::vector<ConfigElement> armorConfs = config->getElement("armors").getChildren();
- for (Std::vector<ConfigElement>::iterator i = armorConfs.begin(); i != armorConfs.end(); i++) {
- if (i->getName() != "armor")
+ for (const auto &i : armorConfs) {
+ if (i.getName() != "armor")
continue;
ArmorType armorType = static_cast<ArmorType>(size());
- push_back(new Armor(armorType, *i));
+ push_back(new Armor(armorType, i));
}
}
@@ -85,23 +85,23 @@ Armor::Armor(ArmorType armorType, const ConfigElement &conf) :
_defense = conf.getInt("defense");
Std::vector<ConfigElement> contraintConfs = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = contraintConfs.begin(); i != contraintConfs.end(); i++) {
+ for (const auto &i : contraintConfs) {
byte useMask = 0;
- if (i->getName() != "constraint")
+ if (i.getName() != "constraint")
continue;
for (int cl = 0; cl < 8; cl++) {
- if (scumm_stricmp(i->getString("class").c_str(), getClassName(static_cast<ClassType>(cl))) == 0)
+ if (scumm_stricmp(i.getString("class").c_str(), getClassName(static_cast<ClassType>(cl))) == 0)
useMask = (1 << cl);
}
- if (useMask == 0 && scumm_stricmp(i->getString("class").c_str(), "all") == 0)
+ if (useMask == 0 && scumm_stricmp(i.getString("class").c_str(), "all") == 0)
useMask = 0xFF;
if (useMask == 0) {
error("malformed armor.xml file: constraint has unknown class %s",
- i->getString("class").c_str());
+ i.getString("class").c_str());
}
- if (i->getBool("canuse"))
+ if (i.getBool("canuse"))
_canUse |= useMask;
else
_canUse &= ~useMask;
diff --git a/engines/ultima/ultima4/game/creature.cpp b/engines/ultima/ultima4/game/creature.cpp
index 221d4bcb098..b612a68d597 100644
--- a/engines/ultima/ultima4/game/creature.cpp
+++ b/engines/ultima/ultima4/game/creature.cpp
@@ -335,8 +335,8 @@ bool Creature::specialAction() {
if (mapdist <= 3 && xu4_random(2) == 0 && (g_context->_location->_context & CTX_CITY) == 0) {
Std::vector<Coords> path = gameGetDirectionalActionPath(dir, MASK_DIR_ALL, _coords,
1, 3, nullptr, false);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (creatureRangeAttack(*i, this))
+ for (const auto &coords : path) {
+ if (creatureRangeAttack(coords, this))
break;
}
}
@@ -356,8 +356,8 @@ bool Creature::specialAction() {
// nothing (not even mountains!) can block cannonballs
Std::vector<Coords> path = gameGetDirectionalActionPath(dir, broadsidesDirs, _coords,
1, 3, nullptr, false);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (fireAt(*i, false))
+ for (const auto &coords : path) {
+ if (fireAt(coords, false))
break;
}
} else
@@ -547,11 +547,9 @@ void Creature::act(CombatController *controller) {
/* Apply the sleep spell to party members still in combat */
if (!isPartyMember(this)) {
PartyMemberVector party = controller->getMap()->getPartyMembers();
- PartyMemberVector::iterator j;
-
- for (j = party.begin(); j != party.end(); j++) {
+ for (auto *member : party) {
if (xu4_random(2) == 0)
- (*j)->putToSleep();
+ member->putToSleep();
}
}
break;
@@ -600,8 +598,8 @@ void Creature::act(CombatController *controller) {
Std::vector<Coords> path = gameGetDirectionalActionPath(dir, MASK_DIR_ALL, m_coords,
1, 11, &Tile::canAttackOverTile, false);
bool hit = false;
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (controller->rangedAttack(*i, this)) {
+ for (const auto &coords : path) {
+ if (controller->rangedAttack(coords, this)) {
hit = true;
break;
}
@@ -757,22 +755,21 @@ bool Creature::hideOrShow() {
Creature *Creature::nearestOpponent(int *dist, bool ranged) {
Creature *opponent = nullptr;
int d, leastDist = 0xFFFF;
- ObjectDeque::iterator i;
bool jinx = (*g_context->_aura == Aura::JINX);
Map *map = getMap();
- for (i = map->_objects.begin(); i != map->_objects.end(); ++i) {
- if (!isCreature(*i))
+ for (auto *obj : map->_objects) {
+ if (!isCreature(obj))
continue;
bool amPlayer = isPartyMember(this);
- bool fightingPlayer = isPartyMember(*i);
+ bool fightingPlayer = isPartyMember(obj);
/* if a party member, find a creature. If a creature, find a party member */
/* if jinxed is false, find anything that isn't self */
if ((amPlayer != fightingPlayer) ||
- (jinx && !amPlayer && *i != this)) {
- MapCoords objCoords = (*i)->getCoords();
+ (jinx && !amPlayer && obj != this)) {
+ MapCoords objCoords = obj->getCoords();
/* if ranged, get the distance using diagonals, otherwise get movement distance */
if (ranged)
@@ -781,7 +778,7 @@ Creature *Creature::nearestOpponent(int *dist, bool ranged) {
/* skip target 50% of time if same distance */
if (d < leastDist || (d == leastDist && xu4_random(2) == 0)) {
- opponent = dynamic_cast<Creature *>(*i);
+ opponent = dynamic_cast<Creature *>(obj);
leastDist = d;
}
}
@@ -896,12 +893,12 @@ void CreatureMgr::loadAll() {
const Config *config = Config::getInstance();
Std::vector<ConfigElement> creatureConfs = config->getElement("creatures").getChildren();
- for (Std::vector<ConfigElement>::iterator i = creatureConfs.begin(); i != creatureConfs.end(); i++) {
- if (i->getName() != "creature")
+ for (const auto &i : creatureConfs) {
+ if (i.getName() != "creature")
continue;
Creature *m = new Creature(0);
- m->load(*i);
+ m->load(i);
/* add the creature to the list */
_creatures[m->getId()] = m;
@@ -909,11 +906,9 @@ void CreatureMgr::loadAll() {
}
Creature *CreatureMgr::getByTile(MapTile tile) {
- CreatureMap::const_iterator i;
-
- for (i = _creatures.begin(); i != _creatures.end(); i++) {
- if (i->_value->getTile() == tile)
- return i->_value;
+ for (const auto &c : _creatures) {
+ if (c._value->getTile() == tile)
+ return c._value;
}
// if (tile.id)
@@ -930,10 +925,9 @@ Creature *CreatureMgr::getById(CreatureId id) {
}
Creature *CreatureMgr::getByName(Common::String name) {
- CreatureMap::const_iterator i;
- for (i = _creatures.begin(); i != _creatures.end(); i++) {
- if (scumm_stricmp(i->_value->getName().c_str(), name.c_str()) == 0)
- return i->_value;
+ for (const auto &c : _creatures) {
+ if (scumm_stricmp(c._value->getName().c_str(), name.c_str()) == 0)
+ return c._value;
}
return nullptr;
}
@@ -984,13 +978,12 @@ Creature *CreatureMgr::randomForDungeon(int dngLevel) {
}
Creature *CreatureMgr::randomAmbushing() {
- CreatureMap::const_iterator i;
int numAmbushingCreatures = 0,
randCreature;
/* first, find out how many creatures exist that might ambush you */
- for (i = _creatures.begin(); i != _creatures.end(); i++) {
- if (i->_value->ambushes())
+ for (const auto &c : _creatures) {
+ if (c._value->ambushes())
numAmbushingCreatures++;
}
@@ -1000,11 +993,11 @@ Creature *CreatureMgr::randomAmbushing() {
numAmbushingCreatures = 0;
/* now, find the one we selected */
- for (i = _creatures.begin(); i != _creatures.end(); i++) {
- if (i->_value->ambushes()) {
+ for (const auto &c : _creatures) {
+ if (c._value->ambushes()) {
/* found the creature - return it! */
if (numAmbushingCreatures == randCreature)
- return i->_value;
+ return c._value;
/* move on to the next creature */
else
numAmbushingCreatures++;
diff --git a/engines/ultima/ultima4/game/game.cpp b/engines/ultima/ultima4/game/game.cpp
index 04c272854bd..d94e4da287f 100644
--- a/engines/ultima/ultima4/game/game.cpp
+++ b/engines/ultima/ultima4/game/game.cpp
@@ -671,11 +671,9 @@ void gameDestroyAllCreatures(void) {
for (i = 0; i < AREA_CREATURES; i++) {
CombatMap *cm = getCombatMap();
CreatureVector creatures = cm->getCreatures();
- CreatureVector::iterator obj;
-
- for (obj = creatures.begin(); obj != creatures.end(); obj++) {
- if ((*obj)->getId() != LORDBRITISH_ID)
- cm->removeObject(*obj);
+ for (const auto *obj : creatures) {
+ if (obj->getId() != LORDBRITISH_ID)
+ cm->removeObject(obj);
}
}
} else {
diff --git a/engines/ultima/ultima4/game/person.cpp b/engines/ultima/ultima4/game/person.cpp
index 39aea72c0e1..6bcf68915e6 100644
--- a/engines/ultima/ultima4/game/person.cpp
+++ b/engines/ultima/ultima4/game/person.cpp
@@ -352,15 +352,15 @@ Common::String Person::getIntro(Conversation *cnv) {
Common::String Person::processResponse(Conversation *cnv, Response *response) {
Common::String text;
const Std::vector<ResponsePart> &parts = response->getParts();
- for (Std::vector<ResponsePart>::const_iterator i = parts.begin(); i != parts.end(); i++) {
+ for (const auto &i : parts) {
// check for command triggers
- if (i->isCommand())
- runCommand(cnv, *i);
+ if (i.isCommand())
+ runCommand(cnv, i);
// otherwise, append response part to reply
else
- text += *i;
+ text += i;
}
return text;
}
diff --git a/engines/ultima/ultima4/game/script.cpp b/engines/ultima/ultima4/game/script.cpp
index 89f2cbdf149..df39a2bb2eb 100644
--- a/engines/ultima/ultima4/game/script.cpp
+++ b/engines/ultima/ultima4/game/script.cpp
@@ -129,11 +129,8 @@ Script::~Script() {
// Smart pointers anyone?
// Clean variables
- 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;
+ for (auto &item : _variables) {
+ delete item._value;
}
}
diff --git a/engines/ultima/ultima4/game/spell.cpp b/engines/ultima/ultima4/game/spell.cpp
index a4269cf5522..b0053b5c859 100644
--- a/engines/ultima/ultima4/game/spell.cpp
+++ b/engines/ultima/ultima4/game/spell.cpp
@@ -354,8 +354,8 @@ void Spells::spellMagicAttack(const Common::String &tilename, Direction dir, int
Std::vector<Coords> path = gameGetDirectionalActionPath(MASK_DIR(dir), MASK_DIR_ALL, (*party)[controller->getFocus()]->getCoords(),
1, 11, Tile::canAttackOverTile, false);
- for (Std::vector<Coords>::iterator i = path.begin(); i != path.end(); i++) {
- if (spellMagicAttackAt(*i, tile, attackDamage))
+ for (const auto &coords : path) {
+ if (spellMagicAttackAt(coords, tile, attackDamage))
return;
}
}
@@ -480,16 +480,15 @@ int Spells::spellDispel(int dir) {
*/
Annotation::List a = g_context->_location->_map->_annotations->allAt(field);
if (a.size() > 0) {
- Annotation::List::iterator i;
- for (i = a.begin(); i != a.end(); i++) {
- if (i->getTile().getTileType()->canDispel()) {
+ for (auto &i : a) {
+ if (i.getTile().getTileType()->canDispel()) {
/*
* get a replacement tile for the field
*/
- MapTile newTile(g_context->_location->getReplacementTile(field, i->getTile().getTileType()));
+ MapTile newTile(g_context->_location->getReplacementTile(field, i.getTile().getTileType()));
- g_context->_location->_map->_annotations->remove(*i);
+ g_context->_location->_map->_annotations->remove(i);
g_context->_location->_map->_annotations->add(field, newTile, false, true);
return 1;
}
@@ -563,10 +562,9 @@ int Spells::spellEField(int param) {
/* Get rid of old field, if any */
Annotation::List a = g_context->_location->_map->_annotations->allAt(coords);
if (a.size() > 0) {
- Annotation::List::iterator i;
- for (i = a.begin(); i != a.end(); i++) {
- if (i->getTile().getTileType()->canDispel())
- g_context->_location->_map->_annotations->remove(*i);
+ for (auto &i : a) {
+ if (i.getTile().getTileType()->canDispel())
+ g_context->_location->_map->_annotations->remove(i);
}
}
@@ -655,12 +653,10 @@ int Spells::spellQuick(int unused) {
int Spells::spellSleep(int unused) {
CombatMap *cm = getCombatMap();
CreatureVector creatures = cm->getCreatures();
- CreatureVector::iterator i;
/* try to put each creature to sleep */
- for (i = creatures.begin(); i != creatures.end(); i++) {
- Creature *m = *i;
+ for (auto *m : creatures) {
Coords coords = m->getCoords();
GameController::flashTile(coords, "wisp", 1);
if ((m->getResists() != EFFECT_SLEEP) &&
@@ -678,12 +674,7 @@ int Spells::spellSleep(int unused) {
int Spells::spellTremor(int unused) {
CombatController *ct = spellCombatController();
CreatureVector creatures = ct->getMap()->getCreatures();
- CreatureVector::iterator i;
-
- for (i = creatures.begin(); i != creatures.end(); i++) {
- Creature *m = *i;
-
-
+ for (auto *m : creatures) {
Coords coords = m->getCoords();
//GameController::flashTile(coords, "rocks", 1);
@@ -716,10 +707,8 @@ int Spells::spellTremor(int unused) {
int Spells::spellUndead(int unused) {
CombatController *ct = spellCombatController();
CreatureVector creatures = ct->getMap()->getCreatures();
- CreatureVector::iterator i;
- for (i = creatures.begin(); i != creatures.end(); i++) {
- Creature *m = *i;
+ for (auto *m : creatures) {
if (m && m->isUndead() && xu4_random(2) == 0)
m->setHp(23);
}
diff --git a/engines/ultima/ultima4/game/weapon.cpp b/engines/ultima/ultima4/game/weapon.cpp
index 9a9aa0c0b6e..35d945cf60c 100644
--- a/engines/ultima/ultima4/game/weapon.cpp
+++ b/engines/ultima/ultima4/game/weapon.cpp
@@ -68,12 +68,12 @@ void Weapons::loadConf() {
const Config *config = Config::getInstance();
Std::vector<ConfigElement> weaponConfs = config->getElement("weapons").getChildren();
- for (Std::vector<ConfigElement>::iterator i = weaponConfs.begin(); i != weaponConfs.end(); i++) {
- if (i->getName() != "weapon")
+ for (const auto &i : weaponConfs) {
+ if (i.getName() != "weapon")
continue;
WeaponType weaponType = static_cast<WeaponType>(size());
- push_back(new Weapon(weaponType, *i));
+ push_back(new Weapon(weaponType, i));
}
}
@@ -137,23 +137,23 @@ Weapon::Weapon(WeaponType weaponType, const ConfigElement &conf)
}
Std::vector<ConfigElement> contraintConfs = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = contraintConfs.begin(); i != contraintConfs.end(); i++) {
+ for (const auto &i : contraintConfs) {
byte mask = 0;
- if (i->getName() != "constraint")
+ if (i.getName() != "constraint")
continue;
for (int cl = 0; cl < 8; cl++) {
- if (scumm_stricmp(i->getString("class").c_str(), getClassName(static_cast<ClassType>(cl))) == 0)
+ if (scumm_stricmp(i.getString("class").c_str(), getClassName(static_cast<ClassType>(cl))) == 0)
mask = (1 << cl);
}
- if (mask == 0 && scumm_stricmp(i->getString("class").c_str(), "all") == 0)
+ if (mask == 0 && scumm_stricmp(i.getString("class").c_str(), "all") == 0)
mask = 0xFF;
if (mask == 0) {
error("malformed weapons.xml file: constraint has unknown class %s",
- i->getString("class").c_str());
+ i.getString("class").c_str());
}
- if (i->getBool("canuse"))
+ if (i.getBool("canuse"))
_canUse |= mask;
else
_canUse &= ~mask;
diff --git a/engines/ultima/ultima4/gfx/image.cpp b/engines/ultima/ultima4/gfx/image.cpp
index cfd73827440..b5155cd930f 100644
--- a/engines/ultima/ultima4/gfx/image.cpp
+++ b/engines/ultima/ultima4/gfx/image.cpp
@@ -294,11 +294,9 @@ void Image::performTransparencyHack(uint colorValue, uint numFrames,
}
}
int ox, oy;
- for (Common::List<Common::Pair<uint, uint> >::iterator xy = opaqueXYs.begin();
- xy != opaqueXYs.end();
- ++xy) {
- ox = xy->first;
- oy = xy->second;
+ for (const auto &xy : opaqueXYs) {
+ ox = xy.first;
+ oy = xy.second;
int span = int(haloWidth);
int x_start = MAX(0, ox - span);
int x_finish = MIN(int(_surface->w), ox + span + 1);
diff --git a/engines/ultima/ultima4/gfx/imageloader_u4.cpp b/engines/ultima/ultima4/gfx/imageloader_u4.cpp
index 0bd569f0e16..932ecb8f219 100644
--- a/engines/ultima/ultima4/gfx/imageloader_u4.cpp
+++ b/engines/ultima/ultima4/gfx/imageloader_u4.cpp
@@ -192,14 +192,14 @@ const byte *U4PaletteLoader::loadEgaPalette() {
_egaPalette = new byte[16 * 3];
Std::vector<ConfigElement> paletteConf = config->getElement("egaPalette").getChildren();
- for (Std::vector<ConfigElement>::iterator i = paletteConf.begin(); i != paletteConf.end(); i++) {
+ for (const auto &i : paletteConf) {
- if (i->getName() != "color")
+ if (i.getName() != "color")
continue;
- _egaPalette[index++] = i->getInt("red");
- _egaPalette[index++] = i->getInt("green");
- _egaPalette[index++] = i->getInt("blue");
+ _egaPalette[index++] = i.getInt("red");
+ _egaPalette[index++] = i.getInt("green");
+ _egaPalette[index++] = i.getInt("blue");
}
}
return _egaPalette;
diff --git a/engines/ultima/ultima4/gfx/imagemgr.cpp b/engines/ultima/ultima4/gfx/imagemgr.cpp
index f75ec104d95..2561fe89959 100644
--- a/engines/ultima/ultima4/gfx/imagemgr.cpp
+++ b/engines/ultima/ultima4/gfx/imagemgr.cpp
@@ -72,8 +72,8 @@ ImageMgr::ImageMgr() : _baseSet(nullptr), _abyssData(nullptr) {
ImageMgr::~ImageMgr() {
settings.deleteObserver(this);
- for (Common::HashMap<Common::String, ImageSet *>::iterator i = _imageSets.begin(); i != _imageSets.end(); i++)
- delete i->_value;
+ for (auto &i : _imageSets)
+ delete i._value;
delete[] _abyssData;
}
@@ -103,9 +103,9 @@ void ImageMgr::init() {
*/
const Config *config = Config::getInstance();
Std::vector<ConfigElement> graphicsConf = config->getElement("graphics").getChildren();
- for (Std::vector<ConfigElement>::iterator conf = graphicsConf.begin(); conf != graphicsConf.end(); conf++) {
- if (conf->getName() == "imageset") {
- ImageSet *set = loadImageSetFromConf(*conf);
+ for (const auto &conf : graphicsConf) {
+ if (conf.getName() == "imageset") {
+ ImageSet *set = loadImageSetFromConf(conf);
_imageSets[set->_name] = set;
// all image sets include the "screen" image
@@ -114,8 +114,8 @@ void ImageMgr::init() {
}
_imageSetNames.clear();
- for (Common::HashMap<Common::String, ImageSet *>::const_iterator set = _imageSets.begin(); set != _imageSets.end(); set++)
- _imageSetNames.push_back(set->_key);
+ for (const auto &set : _imageSets)
+ _imageSetNames.push_back(set._key);
update(&settings);
}
@@ -129,9 +129,9 @@ ImageSet *ImageMgr::loadImageSetFromConf(const ConfigElement &conf) {
set->_extends = conf.getString("extends");
Std::vector<ConfigElement> children = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "image") {
- ImageInfo *info = loadImageInfoFromConf(*i);
+ for (const auto &i : children) {
+ if (i.getName() == "image") {
+ ImageInfo *info = loadImageInfoFromConf(i);
if (set->_info.contains(info->_name))
delete set->_info[info->_name];
set->_info[info->_name] = info;
@@ -162,9 +162,9 @@ ImageInfo *ImageMgr::loadImageInfoFromConf(const ConfigElement &conf) {
info->_image = nullptr;
Std::vector<ConfigElement> children = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "subimage") {
- SubImage *subimage = loadSubImageFromConf(info, *i);
+ for (const auto &i : children) {
+ if (i.getName() == "subimage") {
+ SubImage *subimage = loadSubImageFromConf(info, i);
info->_subImages[subimage->_name] = subimage;
}
}
@@ -663,8 +663,8 @@ SubImage *ImageMgr::getSubImage(const Common::String &name) {
ImageSet *set = _baseSet;
while (set != nullptr) {
- for (Common::HashMap<Common::String, ImageInfo *>::iterator i = set->_info.begin(); i != set->_info.end(); i++) {
- ImageInfo *info = (ImageInfo *) i->_value;
+ for (auto &i : set->_info) {
+ ImageInfo *info = (ImageInfo *) i._value;
Common::HashMap<Common::String, SubImage *>::iterator j = info->_subImages.find(name);
if (j != info->_subImages.end())
return j->_value;
@@ -677,10 +677,10 @@ SubImage *ImageMgr::getSubImage(const Common::String &name) {
}
void ImageMgr::freeIntroBackgrounds() {
- for (Common::HashMap<Common::String, ImageSet *>::iterator i = _imageSets.begin(); i != _imageSets.end(); i++) {
- ImageSet *set = i->_value;
- for (Common::HashMap<Common::String, ImageInfo *>::iterator j = set->_info.begin(); j != set->_info.end(); j++) {
- ImageInfo *info = j->_value;
+ for (const auto &i : _imageSets) {
+ ImageSet *set = i._value;
+ for (auto &j : set->_info) {
+ ImageInfo *info = j._value;
if (info->_image != nullptr && info->_introOnly) {
delete info->_image;
info->_image = nullptr;
@@ -716,16 +716,16 @@ void ImageMgr::update(Settings *newSettings) {
}
ImageSet::~ImageSet() {
- for (Common::HashMap<Common::String, ImageInfo *>::iterator i = _info.begin(); i != _info.end(); i++) {
- ImageInfo *imageInfo = i->_value;
+ for (const auto &i : _info) {
+ ImageInfo *imageInfo = i._value;
if (imageInfo->_name != "screen")
delete imageInfo;
}
}
ImageInfo::~ImageInfo() {
- for (Common::HashMap<Common::String, SubImage *>::iterator i = _subImages.begin(); i != _subImages.end(); i++)
- delete i->_value;
+ for (auto &i : _subImages)
+ delete i._value;
if (_image != nullptr)
delete _image;
}
diff --git a/engines/ultima/ultima4/gfx/screen.cpp b/engines/ultima/ultima4/gfx/screen.cpp
index 66eaf09d544..532e4bf3933 100644
--- a/engines/ultima/ultima4/gfx/screen.cpp
+++ b/engines/ultima/ultima4/gfx/screen.cpp
@@ -95,8 +95,7 @@ void Screen::init() {
/* find the tile animations for our tileset */
_tileAnims = nullptr;
- for (Std::vector<TileAnimSet *>::const_iterator i = _tileAnimSets.begin(); i != _tileAnimSets.end(); i++) {
- TileAnimSet *set = *i;
+ for (auto *set : _tileAnimSets) {
if (set->_name == settings._videoType)
_tileAnims = set;
}
@@ -131,9 +130,8 @@ void Screen::clear() {
// Clear any pending updates for the current screen
update();
- Std::vector<Layout *>::const_iterator i;
- for (i = _layouts.begin(); i != _layouts.end(); ++i)
- delete (*i);
+ for (auto *layout : _layouts)
+ delete layout;
_layouts.clear();
ImageMgr::destroy();
@@ -345,18 +343,16 @@ void Screen::screenLoadGraphicsFromConf() {
const Config *config = Config::getInstance();
Std::vector<ConfigElement> graphicsConf = config->getElement("graphics").getChildren();
- for (Std::vector<ConfigElement>::iterator conf = graphicsConf.begin(); conf != graphicsConf.end(); conf++) {
+ for (const auto &conf : graphicsConf) {
- if (conf->getName() == "layout")
- _layouts.push_back(screenLoadLayoutFromConf(*conf));
- else if (conf->getName() == "tileanimset")
- _tileAnimSets.push_back(new TileAnimSet(*conf));
+ if (conf.getName() == "layout")
+ _layouts.push_back(screenLoadLayoutFromConf(conf));
+ else if (conf.getName() == "tileanimset")
+ _tileAnimSets.push_back(new TileAnimSet(conf));
}
_gemLayoutNames.clear();
- Std::vector<Layout *>::const_iterator i;
- for (i = _layouts.begin(); i != _layouts.end(); i++) {
- Layout *layout = *i;
+ for (const auto *layout : _layouts) {
if (layout->_type == LAYOUT_GEM) {
_gemLayoutNames.push_back(layout->_name);
}
@@ -365,9 +361,7 @@ void Screen::screenLoadGraphicsFromConf() {
/*
* Find gem layout to use.
*/
- for (i = _layouts.begin(); i != _layouts.end(); i++) {
- Layout *layout = *i;
-
+ for (auto *layout : _layouts) {
if (layout->_type == LAYOUT_GEM && layout->_name == settings._gemLayout) {
_gemLayout = layout;
break;
@@ -386,15 +380,15 @@ Layout *Screen::screenLoadLayoutFromConf(const ConfigElement &conf) {
layout->_type = static_cast<LayoutType>(conf.getEnum("type", typeEnumStrings));
Std::vector<ConfigElement> children = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "tileshape") {
- layout->_tileShape.x = i->getInt("width");
- layout->_tileShape.y = i->getInt("height");
- } else if (i->getName() == "viewport") {
- layout->_viewport.left = i->getInt("x");
- layout->_viewport.top = i->getInt("y");
- layout->_viewport.setWidth(i->getInt("width"));
- layout->_viewport.setHeight(i->getInt("height"));
+ for (const auto &i : children) {
+ if (i.getName() == "tileshape") {
+ layout->_tileShape.x = i.getInt("width");
+ layout->_tileShape.y = i.getInt("height");
+ } else if (i.getName() == "viewport") {
+ layout->_viewport.left = i.getInt("x");
+ layout->_viewport.top = i.getInt("y");
+ layout->_viewport.setWidth(i.getInt("width"));
+ layout->_viewport.setHeight(i.getInt("height"));
}
}
@@ -1191,10 +1185,7 @@ void Screen::screenShowGemTile(Layout *layout, Map *map, MapTile &t, bool focus,
Layout *Screen::screenGetGemLayout(const Map *map) {
if (map->_type == Map::DUNGEON) {
- Std::vector<Layout *>::const_iterator i;
- for (i = _layouts.begin(); i != _layouts.end(); i++) {
- Layout *layout = *i;
-
+ for (auto *layout : _layouts) {
if (layout->_type == LAYOUT_DUNGEONGEM)
return layout;
}
diff --git a/engines/ultima/ultima4/map/city.cpp b/engines/ultima/ultima4/map/city.cpp
index 1dc51215b46..3bdbe890451 100644
--- a/engines/ultima/ultima4/map/city.cpp
+++ b/engines/ultima/ultima4/map/city.cpp
@@ -34,12 +34,12 @@ City::City() : Map() {
}
City::~City() {
- for (PersonList::iterator i = _persons.begin(); i != _persons.end(); i++)
- delete *i;
- for (PersonRoleList::iterator j = _personRoles.begin(); j != _personRoles.end(); j++)
- delete *j;
- for (Std::vector<Dialogue *>::iterator k = _extraDialogues.begin(); k != _extraDialogues.end(); k++)
- delete *k;
+ for (auto *i : _persons)
+ delete i;
+ for (auto *j : _personRoles)
+ delete j;
+ for (auto *k : _extraDialogues)
+ delete k;
}
Common::String City::getName() {
diff --git a/engines/ultima/ultima4/map/map.cpp b/engines/ultima/ultima4/map/map.cpp
index 76d3c82b4bc..1d0baaf2a6d 100644
--- a/engines/ultima/ultima4/map/map.cpp
+++ b/engines/ultima/ultima4/map/map.cpp
@@ -237,8 +237,8 @@ Map::Map() : _id(0), _type(WORLD), _width(0), _height(0), _levels(1),
}
Map::~Map() {
- for (PortalList::iterator i = _portals.begin(); i != _portals.end(); i++)
- delete *i;
+ for (auto *i : _portals)
+ delete i;
delete _annotations;
}
diff --git a/engines/ultima/ultima4/map/mapmgr.cpp b/engines/ultima/ultima4/map/mapmgr.cpp
index 96257e013c7..6756adda1ea 100644
--- a/engines/ultima/ultima4/map/mapmgr.cpp
+++ b/engines/ultima/ultima4/map/mapmgr.cpp
@@ -61,8 +61,8 @@ MapMgr::MapMgr() {
Map *map;
Std::vector<ConfigElement> maps = config->getElement("maps").getChildren();
- for (Std::vector<ConfigElement>::iterator i = maps.begin(); i != maps.end(); i++) {
- map = initMapFromConf(*i);
+ for (const auto &i : maps) {
+ map = initMapFromConf(i);
// Map actually gets loaded later, when it's needed
registerMap(map);
@@ -70,8 +70,8 @@ MapMgr::MapMgr() {
}
MapMgr::~MapMgr() {
- for (Std::vector<Map *>::iterator i = _mapList.begin(); i != _mapList.end(); i++)
- delete *i;
+ for (auto *i : _mapList)
+ delete i;
}
void MapMgr::unloadMap(MapId id) {
@@ -79,9 +79,9 @@ void MapMgr::unloadMap(MapId id) {
const Config *config = Config::getInstance();
Std::vector<ConfigElement> maps = config->getElement("maps").getChildren();
- for (Std::vector<ConfigElement>::const_iterator i = maps.begin(); i != maps.end(); ++i) {
- if (id == static_cast<MapId>((*i).getInt("id"))) {
- Map *map = initMapFromConf(*i);
+ for (const auto &i : maps) {
+ if (id == static_cast<MapId>(i.getInt("id"))) {
+ Map *map = initMapFromConf(i);
_mapList[id] = map;
break;
}
@@ -188,29 +188,29 @@ Map *MapMgr::initMapFromConf(const ConfigElement &mapConf) {
map->_tileMap = g_tileMaps->get(mapConf.getString("tilemap"));
Std::vector<ConfigElement> children = mapConf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "city") {
+ for (const auto &i : children) {
+ if (i.getName() == "city") {
City *city = dynamic_cast<City *>(map);
assert(city);
- initCityFromConf(*i, city);
- } else if (i->getName() == "shrine") {
+ initCityFromConf(i, city);
+ } else if (i.getName() == "shrine") {
Shrine *shrine = dynamic_cast<Shrine *>(map);
assert(shrine);
- initShrineFromConf(*i, shrine);
- } else if (i->getName() == "dungeon") {
+ initShrineFromConf(i, shrine);
+ } else if (i.getName() == "dungeon") {
Dungeon *dungeon = dynamic_cast<Dungeon *>(map);
assert(dungeon);
- initDungeonFromConf(*i, dungeon);
- } else if (i->getName() == "portal")
- map->_portals.push_back(initPortalFromConf(*i));
- else if (i->getName() == "moongate")
- createMoongateFromConf(*i);
- else if (i->getName() == "compressedchunk")
- map->_compressedChunks.push_back(initCompressedChunkFromConf(*i));
- else if (i->getName() == "label")
- 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();
+ initDungeonFromConf(i, dungeon);
+ } else if (i.getName() == "portal")
+ map->_portals.push_back(initPortalFromConf(i));
+ else if (i.getName() == "moongate")
+ createMoongateFromConf(i);
+ else if (i.getName() == "compressedchunk")
+ map->_compressedChunks.push_back(initCompressedChunkFromConf(i));
+ else if (i.getName() == "label")
+ 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();
}
return map;
@@ -222,9 +222,9 @@ void MapMgr::initCityFromConf(const ConfigElement &cityConf, City *city) {
city->_tlkFname = cityConf.getString("tlk_fname");
Std::vector<ConfigElement> children = cityConf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "personrole")
- city->_personRoles.push_back(initPersonRoleFromConf(*i));
+ for (const auto &i : children) {
+ if (i.getName() == "personrole")
+ city->_personRoles.push_back(initPersonRoleFromConf(i));
}
}
@@ -310,15 +310,15 @@ Portal *MapMgr::initPortalFromConf(const ConfigElement &portalConf) {
portal->_tile = portalConf.exists("tile") ? portalConf.getInt("tile") : -1;
Std::vector<ConfigElement> children = portalConf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "retroActiveDest") {
+ for (const auto &i : children) {
+ if (i.getName() == "retroActiveDest") {
portal->_retroActiveDest = new PortalDestination();
portal->_retroActiveDest->_coords = MapCoords(
- i->getInt("x"),
- i->getInt("y"),
- i->getInt("z", 0));
- portal->_retroActiveDest->_mapid = static_cast<MapId>(i->getInt("mapid"));
+ i.getInt("x"),
+ i.getInt("y"),
+ i.getInt("z", 0));
+ portal->_retroActiveDest->_mapid = static_cast<MapId>(i.getInt("mapid"));
}
}
diff --git a/engines/ultima/ultima4/map/tileanim.cpp b/engines/ultima/ultima4/map/tileanim.cpp
index 9657cc03c45..144fb142d66 100644
--- a/engines/ultima/ultima4/map/tileanim.cpp
+++ b/engines/ultima/ultima4/map/tileanim.cpp
@@ -49,9 +49,9 @@ TileAnimTransform *TileAnimTransform::create(const ConfigElement &conf) {
conf.getInt("x"), conf.getInt("y"));
Std::vector<ConfigElement> children = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "color") {
- RGBA *rgba = loadColorFromConf(*i);
+ for (const auto &i : children) {
+ if (i.getName() == "color") {
+ RGBA *rgba = loadColorFromConf(i);
((TileAnimPixelTransform *)transform)->_colors.push_back(rgba);
}
}
@@ -240,9 +240,9 @@ TileAnimContext *TileAnimContext::create(const ConfigElement &conf) {
if (context) {
Std::vector<ConfigElement> children = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "transform") {
- TileAnimTransform *transform = TileAnimTransform::create(*i);
+ for (const auto &i : children) {
+ if (i.getName() == "transform") {
+ TileAnimTransform *transform = TileAnimTransform::create(i);
context->add(transform);
}
}
@@ -273,17 +273,17 @@ TileAnimSet::TileAnimSet(const ConfigElement &conf) {
_name = conf.getString("name");
Std::vector<ConfigElement> children = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "tileanim") {
- TileAnim *anim = new TileAnim(*i);
+ for (const auto &i : children) {
+ if (i.getName() == "tileanim") {
+ TileAnim *anim = new TileAnim(i);
_tileAnims[anim->_name] = anim;
}
}
}
TileAnimSet::~TileAnimSet() {
- for (TileAnimMap::iterator it = _tileAnims.begin(); it != _tileAnims.end(); ++it)
- delete it->_value;
+ for (auto &t : _tileAnims)
+ delete t._value;
}
TileAnim *TileAnimSet::getByName(const Common::String &name) {
@@ -301,13 +301,13 @@ TileAnim::TileAnim(const ConfigElement &conf) : _random(0) {
_random = conf.getInt("random");
Std::vector<ConfigElement> children = conf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() == "transform") {
- TileAnimTransform *transform = TileAnimTransform::create(*i);
+ for (const auto &i : children) {
+ if (i.getName() == "transform") {
+ TileAnimTransform *transform = TileAnimTransform::create(i);
_transforms.push_back(transform);
- } else if (i->getName() == "context") {
- TileAnimContext *context = TileAnimContext::create(*i);
+ } else if (i.getName() == "context") {
+ TileAnimContext *context = TileAnimContext::create(i);
_contexts.push_back(context);
}
diff --git a/engines/ultima/ultima4/map/tilemap.cpp b/engines/ultima/ultima4/map/tilemap.cpp
index 55cd4a9f18a..426f20f9f43 100644
--- a/engines/ultima/ultima4/map/tilemap.cpp
+++ b/engines/ultima/ultima4/map/tilemap.cpp
@@ -50,11 +50,11 @@ void TileMaps::loadAll() {
conf = config->getElement("tilesets").getChildren();
// Load all of the tilemaps
- for (Std::vector<ConfigElement>::iterator i = conf.begin(); i != conf.end(); i++) {
- if (i->getName() == "tilemap") {
+ for (const auto &i : conf) {
+ if (i.getName() == "tilemap") {
// Load the tilemap !
- load(*i);
+ load(i);
}
}
}
@@ -77,24 +77,24 @@ void TileMaps::load(const ConfigElement &tilemapConf) {
int index = 0;
Std::vector<ConfigElement> children = tilemapConf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() != "mapping")
+ for (const auto &i : children) {
+ if (i.getName() != "mapping")
continue;
// We assume tiles have already been loaded at this point,
// so let's do some translations!
int frames = 1;
- Common::String tile = i->getString("tile");
+ Common::String tile = i.getString("tile");
// Find the tile this references
Tile *t = g_tileSets->get(tileset)->getByName(tile);
if (!t)
error("Error: tile '%s' from '%s' was not found in tileset %s", tile.c_str(), name.c_str(), tileset.c_str());
- if (i->exists("index"))
- index = i->getInt("index");
- if (i->exists("frames"))
- frames = i->getInt("frames");
+ if (i.exists("index"))
+ index = i.getInt("index");
+ if (i.exists("frames"))
+ frames = i.getInt("frames");
// Insert the tile into the tile map
for (int idx = 0; idx < frames; idx++) {
@@ -128,9 +128,9 @@ MapTile TileMap::translate(uint index) {
uint TileMap::untranslate(MapTile &tile) {
uint index = 0;
- for (Common::HashMap<uint, MapTile>::iterator i = _tileMap.begin(); i != _tileMap.end(); i++) {
- if (i->_value == tile) {
- index = i->_key;
+ for (const auto &i : _tileMap) {
+ if (i._value == tile) {
+ index = i._key;
break;
}
}
diff --git a/engines/ultima/ultima4/map/tileset.cpp b/engines/ultima/ultima4/map/tileset.cpp
index 72ef636c6b6..d5b1e5208e9 100644
--- a/engines/ultima/ultima4/map/tileset.cpp
+++ b/engines/ultima/ultima4/map/tileset.cpp
@@ -48,9 +48,9 @@ void TileRules::load() {
const Config *config = Config::getInstance();
Std::vector<ConfigElement> rules = config->getElement("tileRules").getChildren();
- for (Std::vector<ConfigElement>::iterator i = rules.begin(); i != rules.end(); i++) {
+ for (const auto &i : rules) {
TileRule *rule = new TileRule();
- rule->initFromConf(*i);
+ rule->initFromConf(i);
(*this)[rule->_name] = rule;
}
@@ -91,11 +91,11 @@ void TileSets::loadAll() {
g_tileRules->load();
// Load all of the tilesets
- for (Std::vector<ConfigElement>::iterator i = conf.begin(); i != conf.end(); i++) {
- if (i->getName() == "tileset") {
+ for (const auto &i : conf) {
+ if (i.getName() == "tileset") {
Tileset *tileset = new Tileset();
- tileset->load(*i);
+ tileset->load(i);
(*this)[tileset->_name] = tileset;
}
@@ -258,12 +258,12 @@ void Tileset::load(const ConfigElement &tilesetConf) {
int index = 0;
Std::vector<ConfigElement> children = tilesetConf.getChildren();
- for (Std::vector<ConfigElement>::iterator i = children.begin(); i != children.end(); i++) {
- if (i->getName() != "tile")
+ for (const auto &i : children) {
+ if (i.getName() != "tile")
continue;
Tile *tile = new Tile(this);
- tile->loadProperties(*i);
+ tile->loadProperties(i);
// Add the tile to our tileset
_tiles[tile->getId()] = tile;
diff --git a/engines/ultima/ultima4/sound/music.cpp b/engines/ultima/ultima4/sound/music.cpp
index 86a0965395b..a61e0dee8c3 100644
--- a/engines/ultima/ultima4/sound/music.cpp
+++ b/engines/ultima/ultima4/sound/music.cpp
@@ -63,13 +63,11 @@ Music::Music(Audio::Mixer *mixer) :
const Config *config = Config::getInstance();
Std::vector<ConfigElement> musicConfs = config->getElement("music").getChildren();
- Std::vector<ConfigElement>::const_iterator i = musicConfs.begin();
- Std::vector<ConfigElement>::const_iterator theEnd = musicConfs.end();
- for (; i != theEnd; ++i) {
- if (i->getName() != "track")
+ for (const auto &m : musicConfs) {
+ if (m.getName() != "track")
continue;
- _filenames.push_back(i->getString("file"));
+ _filenames.push_back(m.getString("file"));
}
}
diff --git a/engines/ultima/ultima4/sound/sound.cpp b/engines/ultima/ultima4/sound/sound.cpp
index ed41f7556b9..48c485fb64b 100644
--- a/engines/ultima/ultima4/sound/sound.cpp
+++ b/engines/ultima/ultima4/sound/sound.cpp
@@ -56,13 +56,11 @@ SoundManager::SoundManager(Audio::Mixer *mixer) : _mixer(mixer) {
_sounds.resize(SOUND_MAX);
Std::vector<ConfigElement> soundConfs = config->getElement("sound").getChildren();
- Std::vector<ConfigElement>::const_iterator i = soundConfs.begin();
- Std::vector<ConfigElement>::const_iterator theEnd = soundConfs.end();
- for (; i != theEnd; ++i) {
- if (i->getName() != "track")
+ for (const auto &s : soundConfs) {
+ if (s.getName() != "track")
continue;
- _soundFilenames.push_back(Common::Path(i->getString("file")));
+ _soundFilenames.push_back(Common::Path(s.getString("file")));
}
}
diff --git a/engines/ultima/ultima4/views/menu.cpp b/engines/ultima/ultima4/views/menu.cpp
index 976ff857468..4e8017c53f0 100644
--- a/engines/ultima/ultima4/views/menu.cpp
+++ b/engines/ultima/ultima4/views/menu.cpp
@@ -34,8 +34,8 @@ Menu::Menu() :
}
Menu::~Menu() {
- for (MenuItemList::iterator i = _items.begin(); i != _items.end(); i++)
- delete *i;
+ for (auto *i : _items)
+ delete i;
}
void Menu::removeAll() {
@@ -55,18 +55,18 @@ MenuItem *Menu::add(int id, MenuItem *item) {
}
void Menu::addShortcutKey(int id, int shortcutKey) {
- for (MenuItemList::iterator i = _items.begin(); i != _items.end(); i++) {
- if ((*i)->getId() == id) {
- (*i)->addShortcutKey(shortcutKey);
+ for (auto *i : _items) {
+ if (i->getId() == id) {
+ i->addShortcutKey(shortcutKey);
break;
}
}
}
void Menu::setClosesMenu(int id) {
- for (MenuItemList::iterator i = _items.begin(); i != _items.end(); i++) {
- if ((*i)->getId() == id) {
- (*i)->setClosesMenu(true);
+ for (auto *i : _items) {
+ if (i->getId() == id) {
+ i->setClosesMenu(true);
break;
}
}
@@ -93,9 +93,7 @@ void Menu::show(TextView *view) {
if (_title.size() > 0)
view->textAt(_titleX, _titleY, "%s", _title.c_str());
- for (_current = _items.begin(); _current != _items.end(); _current++) {
- MenuItem *mi = *_current;
-
+ for (auto *mi : _items) {
if (mi->isVisible()) {
Common::String text(mi->getText());
@@ -119,8 +117,8 @@ void Menu::show(TextView *view) {
bool Menu::isVisible() {
bool visible = false;
- for (_current = _items.begin(); _current != _items.end(); _current++) {
- if ((*_current)->isVisible())
+ for (const auto *mi : _items) {
+ if (mi->isVisible())
visible = true;
}
@@ -159,8 +157,9 @@ void Menu::prev() {
void Menu::highlight(MenuItem *item) {
// unhighlight all menu items first
- for (_current = _items.begin(); _current != _items.end(); _current++)
- (*_current)->setHighlighted(false);
+ for (auto *mi : _items) {
+ mi->setHighlighted(false);
+ }
if (item)
item->setHighlighted(true);
}
@@ -177,11 +176,12 @@ Menu::MenuItemList::iterator Menu::begin_visible() {
if (!isVisible())
return _items.end();
- _current = _items.begin();
- while (!(*_current)->isVisible() && _current != _items.end())
- _current++;
+ for (Menu::MenuItemList::iterator it = _items.begin(); it != _items.end(); it++) {
+ if (!(*it)->isVisible())
+ return it;
+ }
- return _current;
+ return _items.end();
}
void Menu::reset(bool highlightFirst) {
@@ -191,9 +191,9 @@ void Menu::reset(bool highlightFirst) {
_selected = begin_visible();
/* un-highlight and deselect each menu item */
- for (_current = _items.begin(); _current != _items.end(); _current++) {
- (*_current)->setHighlighted(false);
- (*_current)->setSelected(false);
+ for (auto *mi : _items) {
+ mi->setHighlighted(false);
+ mi->setSelected(false);
}
/* highlight the first visible menu item */
@@ -209,17 +209,17 @@ Menu::MenuItemList::iterator Menu::getById(int id) {
if (id == -1)
return getCurrent();
- for (_current = _items.begin(); _current != _items.end(); _current++) {
- if ((*_current)->getId() == id)
- return _current;
+ for (Menu::MenuItemList::iterator it = _items.begin(); it != _items.end(); it++) {
+ if ((*it)->getId() == id)
+ return it;
}
return _items.end();
}
MenuItem *Menu::getItemById(int id) {
- _current = getById(id);
- if (_current != _items.end())
- return *_current;
+ Menu::MenuItemList::iterator it = getById(id);
+ if (it != _items.end())
+ return *it;
return nullptr;
}
@@ -259,13 +259,13 @@ void Menu::activateItem(int id, MenuEvent::Type action) {
}
bool Menu::activateItemByShortcut(int key, MenuEvent::Type action) {
- for (MenuItemList::iterator i = _items.begin(); i != _items.end(); ++i) {
- const Std::set<int> &shortcuts = (*i)->getShortcutKeys();
+ for (auto *i : _items) {
+ const Std::set<int> &shortcuts = i->getShortcutKeys();
if (shortcuts.find(key) != shortcuts.end()) {
- activateItem((*i)->getId(), action);
+ activateItem(i->getId(), action);
// if the selection doesn't close the menu, highlight the selection
- if (!(*i)->getClosesMenu())
- setCurrent((*i)->getId());
+ if (!i->getClosesMenu())
+ setCurrent(i->getId());
return true;
}
}
diff --git a/engines/ultima/ultima4/views/menu.h b/engines/ultima/ultima4/views/menu.h
index e57d94cbd9e..e64406abd0e 100644
--- a/engines/ultima/ultima4/views/menu.h
+++ b/engines/ultima/ultima4/views/menu.h
@@ -189,7 +189,6 @@ public:
private:
MenuItemList _items;
- MenuItemList::iterator _current;
MenuItemList::iterator _selected;
bool _closed;
Common::String _title;
diff --git a/engines/ultima/ultima4/views/stats.cpp b/engines/ultima/ultima4/views/stats.cpp
index 79f85455da1..694bd24f0b2 100644
--- a/engines/ultima/ultima4/views/stats.cpp
+++ b/engines/ultima/ultima4/views/stats.cpp
@@ -353,15 +353,14 @@ void StatsArea::showItems() {
void StatsArea::showReagents(bool active) {
setTitle("Reagents");
- Menu::MenuItemList::iterator i;
int line = 0,
r = REAG_ASH;
Common::String shortcut("A");
_reagentsMixMenu.show(&_mainArea);
- for (i = _reagentsMixMenu.begin(); i != _reagentsMixMenu.end(); i++, r++) {
- if ((*i)->isVisible()) {
+ for (const auto *item : _reagentsMixMenu) {
+ if (item->isVisible()) {
// Insert the reagent menu item shortcut character
shortcut.setChar('A' + r, 0);
if (active)
@@ -369,6 +368,7 @@ void StatsArea::showReagents(bool active) {
else
_mainArea.textAt(0, line++, "%s", shortcut.c_str());
}
+ r++;
}
}
@@ -394,15 +394,15 @@ void StatsArea::showMixtures() {
}
void StatsArea::resetReagentsMenu() {
- Menu::MenuItemList::iterator current;
- int i = 0,
- row = 0;
+ int i = 0, row = 0;
- for (current = _reagentsMixMenu.begin(); current != _reagentsMixMenu.end(); current++) {
+ for (auto *item : _reagentsMixMenu) {
if (g_ultima->_saveGame->_reagents[i++] > 0) {
- (*current)->setVisible(true);
- (*current)->setY(row++);
- } else (*current)->setVisible(false);
+ item->setVisible(true);
+ item->setY(row++);
+ } else {
+ item->setVisible(false);
+ }
}
_reagentsMixMenu.reset(false);
diff --git a/engines/ultima/ultima8/audio/audio_process.cpp b/engines/ultima/ultima8/audio/audio_process.cpp
index c29deb5e112..60349613132 100644
--- a/engines/ultima/ultima8/audio/audio_process.cpp
+++ b/engines/ultima/ultima8/audio/audio_process.cpp
@@ -154,18 +154,17 @@ void AudioProcess::saveData(Common::WriteStream *ws) {
ws->writeByte(static_cast<uint8>(_sampleInfo.size()));
- Std::list<SampleInfo>::iterator it;
- for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
- ws->writeUint16LE(it->_sfxNum);
- ws->writeUint16LE(it->_priority);
- ws->writeUint16LE(it->_objId);
- ws->writeUint16LE(it->_loops);
- ws->writeUint32LE(it->_pitchShift);
- ws->writeUint16LE(it->_volume);
-
- if (it->_sfxNum == -1) { // Speech
- ws->writeUint32LE(static_cast<uint32>(it->_barked.size()));
- ws->write(it->_barked.c_str(), static_cast<uint32>(it->_barked.size()));
+ for (const auto &si : _sampleInfo) {
+ ws->writeUint16LE(si._sfxNum);
+ ws->writeUint16LE(si._priority);
+ ws->writeUint16LE(si._objId);
+ ws->writeUint16LE(si._loops);
+ ws->writeUint32LE(si._pitchShift);
+ ws->writeUint16LE(si._volume);
+
+ if (si._sfxNum == -1) { // Speech
+ ws->writeUint32LE(static_cast<uint32>(si._barked.size()));
+ ws->write(si._barked.c_str(), static_cast<uint32>(si._barked.size()));
}
}
}
@@ -286,9 +285,8 @@ void AudioProcess::stopSFX(int sfxNum, ObjId objId) {
bool AudioProcess::isSFXPlaying(int sfxNum) {
AudioMixer *mixer = AudioMixer::get_instance();
- Std::list<SampleInfo>::iterator it;
- for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
- if (it->_sfxNum == sfxNum && mixer->isPlaying(it->_channel))
+ for (const auto &si : _sampleInfo) {
+ if (si._sfxNum == sfxNum && mixer->isPlaying(si._channel))
return true;
}
@@ -297,9 +295,8 @@ bool AudioProcess::isSFXPlaying(int sfxNum) {
bool AudioProcess::isSFXPlayingForObject(int sfxNum, ObjId objId) {
AudioMixer *mixer = AudioMixer::get_instance();
- Std::list<SampleInfo>::iterator it;
- for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
- if ((it->_sfxNum == sfxNum || sfxNum == -1) && (objId == it->_objId) && mixer->isPlaying(it->_channel))
+ for (const auto &si : _sampleInfo) {
+ if ((si._sfxNum == sfxNum || sfxNum == -1) && (objId == si._objId) && mixer->isPlaying(si._channel))
return true;
}
@@ -308,28 +305,24 @@ bool AudioProcess::isSFXPlayingForObject(int sfxNum, ObjId objId) {
void AudioProcess::setVolumeSFX(int sfxNum, uint8 volume) {
AudioMixer *mixer = AudioMixer::get_instance();
+ for (auto &si : _sampleInfo) {
+ if (si._sfxNum == sfxNum && si._sfxNum != -1) {
+ si._volume = volume;
- Std::list<SampleInfo>::iterator it;
- for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
- if (it->_sfxNum == sfxNum && it->_sfxNum != -1) {
- it->_volume = volume;
-
- calculateSoundVolume(it->_objId, it->_calcVol, it->_balance);
- mixer->setVolume(it->_channel, (it->_calcVol * it->_volume) / 256, it->_balance);
+ calculateSoundVolume(si._objId, si._calcVol, si._balance);
+ mixer->setVolume(si._channel, (si._calcVol * si._volume) / 256, si._balance);
}
}
}
void AudioProcess::setVolumeForObjectSFX(ObjId objId, int sfxNum, uint8 volume) {
AudioMixer *mixer = AudioMixer::get_instance();
+ for (auto &si : _sampleInfo) {
+ if (si._sfxNum == sfxNum && si._sfxNum != -1 && objId == si._objId) {
+ si._volume = volume;
- Std::list<SampleInfo>::iterator it;
- for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
- if (it->_sfxNum == sfxNum && it->_sfxNum != -1 && objId == it->_objId) {
- it->_volume = volume;
-
- calculateSoundVolume(it->_objId, it->_calcVol, it->_balance);
- mixer->setVolume(it->_channel, (it->_calcVol * it->_volume) / 256, it->_balance);
+ calculateSoundVolume(si._objId, si._calcVol, si._balance);
+ mixer->setVolume(si._channel, (si._calcVol * si._volume) / 256, si._balance);
}
}
}
@@ -408,9 +401,9 @@ void AudioProcess::stopSpeech(const Std::string &barked, int shapenum, ObjId obj
bool AudioProcess::isSpeechPlaying(const Std::string &barked, int shapeNum) {
Std::list<SampleInfo>::iterator it;
- for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
- if (it->_sfxNum == -1 && it->_priority == shapeNum &&
- it->_barked == barked) {
+ for (auto &si : _sampleInfo) {
+ if (si._sfxNum == -1 && si._priority == shapeNum &&
+ si._barked == barked) {
return true;
}
}
diff --git a/engines/ultima/ultima8/audio/speech_flex.cpp b/engines/ultima/ultima8/audio/speech_flex.cpp
index 017a2c00924..bda3384add7 100644
--- a/engines/ultima/ultima8/audio/speech_flex.cpp
+++ b/engines/ultima/ultima8/audio/speech_flex.cpp
@@ -65,7 +65,6 @@ SpeechFlex::~SpeechFlex(void) {
int SpeechFlex::getIndexForPhrase(const Std::string &phrase,
uint32 start, uint32 &end) const {
- Std::vector<Std::string>::const_iterator it;
int i = 1;
Std::string text = phrase.substr(start);
@@ -80,10 +79,10 @@ int SpeechFlex::getIndexForPhrase(const Std::string &phrase,
debug(6, "Looking for string: \"%s\"", text.c_str());
- for (it = _phrases.begin(); it != _phrases.end(); ++it) {
- if (!it->empty() && text.hasPrefixIgnoreCase(*it)) {
+ for (const auto &p : _phrases) {
+ if (!p.empty() && text.hasPrefixIgnoreCase(p)) {
debug(6, "Found: %d", i);
- end = (*it).size() + start + pos1;
+ end = p.size() + start + pos1;
if (end >= start + pos2)
end = phrase.size();
return i;
diff --git a/engines/ultima/ultima8/conf/config_file_manager.cpp b/engines/ultima/ultima8/conf/config_file_manager.cpp
index a375c65d3e6..74b0bf11a81 100644
--- a/engines/ultima/ultima8/conf/config_file_manager.cpp
+++ b/engines/ultima/ultima8/conf/config_file_manager.cpp
@@ -65,9 +65,8 @@ bool ConfigFileManager::readConfigFile(const Common::Path &fname, const Std::str
}
void ConfigFileManager::clear() {
- Std::vector<ConfigFile*>::iterator i;
- for (i = _configFiles.begin(); i != _configFiles.end(); ++i) {
- delete(*i);
+ for (auto *i : _configFiles) {
+ delete i;
}
_configFiles.clear();
}
@@ -119,14 +118,11 @@ bool ConfigFileManager::get(const Std::string &category, const Std::string §
Std::vector<Std::string> ConfigFileManager::listSections(const Std::string &category) const {
Std::vector<Std::string> sections;
- Std::vector<ConfigFile*>::const_iterator i;
-
- for ( i = _configFiles.begin(); i != _configFiles.end(); ++i) {
- if (category.equalsIgnoreCase((*i)->_category)) {
- Common::INIFile::SectionList sectionList = (*i)->_iniFile.getSections();
- Common::INIFile::SectionList::const_iterator j;
- for (j = sectionList.begin(); j != sectionList.end(); ++j) {
- sections.push_back(j->name);
+ for (const auto *i : _configFiles) {
+ if (category.equalsIgnoreCase(i->_category)) {
+ Common::INIFile::SectionList sectionList = i->_iniFile.getSections();
+ for (const auto &j : sectionList) {
+ sections.push_back(j.name);
}
}
}
@@ -136,15 +132,11 @@ Std::vector<Std::string> ConfigFileManager::listSections(const Std::string &cate
KeyMap ConfigFileManager::listKeyValues(const Std::string &category, const Std::string §ion) const {
KeyMap values;
- Std::vector<ConfigFile*>::const_iterator i;
-
- for (i = _configFiles.begin(); i != _configFiles.end(); ++i) {
- const ConfigFile *c = *i;
- if (category.equalsIgnoreCase((*i)->_category) && c->_iniFile.hasSection(section)) {
+ for (const auto *c : _configFiles) {
+ if (category.equalsIgnoreCase(c->_category) && c->_iniFile.hasSection(section)) {
Common::INIFile::SectionKeyList keys = c->_iniFile.getKeys(section);
- Common::INIFile::SectionKeyList::const_iterator j;
- for (j = keys.begin(); j != keys.end(); ++j) {
- values[j->key] = j->value;
+ for (const auto &j : keys) {
+ values[j.key] = j.value;
}
}
}
diff --git a/engines/ultima/ultima8/filesys/savegame.cpp b/engines/ultima/ultima8/filesys/savegame.cpp
index 4a7b44e764a..3da16b4b1f3 100644
--- a/engines/ultima/ultima8/filesys/savegame.cpp
+++ b/engines/ultima/ultima8/filesys/savegame.cpp
@@ -80,8 +80,8 @@ bool FileEntryArchive::hasFile(const Common::Path &path) const {
int FileEntryArchive::listMembers(Common::ArchiveMemberList &list) const {
list.clear();
- for (IndexMap::const_iterator it = _index.begin(); it != _index.end(); ++it)
- list.push_back(Common::ArchiveMemberPtr(new Common::GenericArchiveMember(it->_key, *this)));
+ for (const auto &member : _index)
+ list.push_back(Common::ArchiveMemberPtr(new Common::GenericArchiveMember(member._key, *this)));
return list.size();
}
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.cpp b/engines/ultima/ultima8/filesys/u8_save_file.cpp
index cf7c8816e70..1568259bd50 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.cpp
+++ b/engines/ultima/ultima8/filesys/u8_save_file.cpp
@@ -75,8 +75,8 @@ bool U8SaveFile::hasFile(const Common::Path &path) const {
int U8SaveFile::listMembers(Common::ArchiveMemberList& list) const {
list.clear();
- for (U8SaveFileMap::const_iterator it = _map.begin(); it != _map.end(); ++it) {
- list.push_back(Common::ArchiveMemberPtr(new Common::GenericArchiveMember(it->_key, *this)));
+ for (const auto &member : _map) {
+ list.push_back(Common::ArchiveMemberPtr(new Common::GenericArchiveMember(member._key, *this)));
}
return list.size();
diff --git a/engines/ultima/ultima8/games/game_data.cpp b/engines/ultima/ultima8/games/game_data.cpp
index 6b65d8bc8c2..8245ded9bab 100644
--- a/engines/ultima/ultima8/games/game_data.cpp
+++ b/engines/ultima/ultima8/games/game_data.cpp
@@ -369,12 +369,11 @@ void GameData::setupJPOverrides() {
ConfigFileManager *config = ConfigFileManager::get_instance();
FontManager *fontmanager = FontManager::get_instance();
KeyMap jpkeyvals;
- KeyMap::const_iterator iter;
jpkeyvals = config->listKeyValues("language", "jpfonts");
- for (iter = jpkeyvals.begin(); iter != jpkeyvals.end(); ++iter) {
- int fontnum = atoi(iter->_key.c_str());
- const Std::string &fontdesc = iter->_value;
+ for (const auto &i : jpkeyvals) {
+ int fontnum = atoi(i._key.c_str());
+ const Std::string &fontdesc = i._value;
Std::vector<Std::string> vals;
SplitString(fontdesc, ',', vals);
@@ -398,15 +397,14 @@ void GameData::setupTTFOverrides(const char *category, bool SJIS) {
ConfigFileManager *config = ConfigFileManager::get_instance();
FontManager *fontmanager = FontManager::get_instance();
KeyMap ttfkeyvals;
- KeyMap::const_iterator iter;
bool overridefonts = ConfMan.getBool("font_override");
if (!overridefonts) return;
ttfkeyvals = config->listKeyValues(category, "fontoverride");
- for (iter = ttfkeyvals.begin(); iter != ttfkeyvals.end(); ++iter) {
- int fontnum = atoi(iter->_key.c_str());
- const Std::string &fontdesc = iter->_value;
+ for (const auto &i : ttfkeyvals) {
+ int fontnum = atoi(i._key.c_str());
+ const Std::string &fontdesc = i._value;
Std::vector<Std::string> vals;
SplitString(fontdesc, ',', vals);
@@ -464,10 +462,7 @@ const NPCDat *GameData::getNPCData(uint16 entry) const {
}
const NPCDat *GameData::getNPCDataForShape(uint16 shapeno) const {
- for (Std::vector<NPCDat *>::const_iterator it = _npcTable.begin();
- it != _npcTable.end();
- it++) {
- const NPCDat *npcdat = *it;
+ for (const auto *npcdat : _npcTable) {
if (npcdat->getShapeNo() == shapeno)
return npcdat;
}
diff --git a/engines/ultima/ultima8/games/treasure_loader.cpp b/engines/ultima/ultima8/games/treasure_loader.cpp
index 20d35e6d173..826a2497ebb 100644
--- a/engines/ultima/ultima8/games/treasure_loader.cpp
+++ b/engines/ultima/ultima8/games/treasure_loader.cpp
@@ -40,18 +40,13 @@ void TreasureLoader::loadDefaults() {
// load default treasure types
lootkeyvals = config->listKeyValues("game", "treasure");
- KeyMap::const_iterator defaultiter;
-
- for (defaultiter = lootkeyvals.begin();
- defaultiter != lootkeyvals.end(); ++defaultiter) {
+ for (const auto &i : lootkeyvals) {
TreasureInfo ti;
- const Std::string &key = defaultiter->_key;
- const Std::string &val = defaultiter->_value;
- bool ok = internalParse(val, ti, true);
+ bool ok = internalParse(i._value, ti, true);
if (ok) {
- _defaultTreasure[key] = ti;
+ _defaultTreasure[i._key] = ti;
} else {
- warning("Failed to parse treasure type '%s': %s", key.c_str(), val.c_str());
+ warning("Failed to parse treasure type '%s': %s", i._key.c_str(), i._value.c_str());
}
}
}
diff --git a/engines/ultima/ultima8/gfx/fonts/font.cpp b/engines/ultima/ultima8/gfx/fonts/font.cpp
index 96aaa231373..98d42530864 100644
--- a/engines/ultima/ultima8/gfx/fonts/font.cpp
+++ b/engines/ultima/ultima8/gfx/fonts/font.cpp
@@ -341,21 +341,20 @@ Std::list<PositionedText> typesetText(Font *font,
totalheight += font->getHeight();
// fixup x coordinates of lines
- Std::list<PositionedText>::iterator lineiter;
- for (lineiter = lines.begin(); lineiter != lines.end(); ++lineiter) {
+ for (auto &l : lines) {
switch (align) {
case Font::TEXT_LEFT:
break;
case Font::TEXT_RIGHT:
- lineiter->_dims.moveTo(totalwidth - lineiter->_dims.width(), lineiter->_dims.top);
+ l._dims.moveTo(totalwidth - l._dims.width(), l._dims.top);
break;
case Font::TEXT_CENTER:
- lineiter->_dims.moveTo((totalwidth - lineiter->_dims.width()) / 2, lineiter->_dims.top);
+ l._dims.moveTo((totalwidth - l._dims.width()) / 2, l._dims.top);
break;
}
- debugC(kDebugGraphics, "%d, %d, %d, %d: %s", lineiter->_dims.left, lineiter->_dims.top,
- lineiter->_dims.width(), lineiter->_dims.height(), lineiter->_text.c_str());
+ debugC(kDebugGraphics, "%d, %d, %d, %d: %s", l._dims.left, l._dims.top,
+ l._dims.width(), l._dims.height(), l._text.c_str());
}
resultwidth = totalwidth;
diff --git a/engines/ultima/ultima8/gfx/fonts/font_manager.cpp b/engines/ultima/ultima8/gfx/fonts/font_manager.cpp
index 263c5ad760e..e81e939ed33 100644
--- a/engines/ultima/ultima8/gfx/fonts/font_manager.cpp
+++ b/engines/ultima/ultima8/gfx/fonts/font_manager.cpp
@@ -69,9 +69,8 @@ void FontManager::resetGameFonts() {
delete _ttFonts[i];
_ttFonts.clear();
- TTFFonts::iterator iter;
- for (iter = _ttfFonts.begin(); iter != _ttfFonts.end(); ++iter)
- delete iter->_value;
+ for (auto &i : _ttfFonts)
+ delete i._value;
_ttfFonts.clear();}
Font *FontManager::getGameFont(unsigned int fontnum,
diff --git a/engines/ultima/ultima8/gfx/fonts/font_shape_archive.cpp b/engines/ultima/ultima8/gfx/fonts/font_shape_archive.cpp
index a3bce7eb843..99cd8152194 100644
--- a/engines/ultima/ultima8/gfx/fonts/font_shape_archive.cpp
+++ b/engines/ultima/ultima8/gfx/fonts/font_shape_archive.cpp
@@ -64,11 +64,9 @@ void FontShapeArchive::setHVLeads() {
ConfigFileManager *config = ConfigFileManager::get_instance();
KeyMap leadkeyvals = config->listKeyValues("game", "fontleads");
- KeyMap::const_iterator iter;
-
- for (iter = leadkeyvals.begin(); iter != leadkeyvals.end(); ++iter) {
- int fontnum = atoi(iter->_key.c_str());
- Std::string leaddesc = iter->_value;
+ for (const auto &i : leadkeyvals) {
+ int fontnum = atoi(i._key.c_str());
+ Std::string leaddesc = i._value;
Std::vector<Std::string> vals;
SplitString(leaddesc, ',', vals);
diff --git a/engines/ultima/ultima8/gfx/fonts/jp_rendered_text.cpp b/engines/ultima/ultima8/gfx/fonts/jp_rendered_text.cpp
index 3277d2d0227..432460c828f 100644
--- a/engines/ultima/ultima8/gfx/fonts/jp_rendered_text.cpp
+++ b/engines/ultima/ultima8/gfx/fonts/jp_rendered_text.cpp
@@ -53,34 +53,33 @@ void JPRenderedText::draw(RenderSurface *surface, int x, int y, bool /*destmaske
_font->setPalette(pal);
uint32 color = TEX32_PACK_RGB(0, 0, 0);
- Std::list<PositionedText>::const_iterator iter;
- for (iter = _lines.begin(); iter != _lines.end(); ++iter) {
- int line_x = x + iter->_dims.left;
- int line_y = y + iter->_dims.top;
+ for (const auto &line : _lines) {
+ int line_x = x + line._dims.left;
+ int line_y = y + line._dims.top;
- size_t textsize = iter->_text.size();
+ size_t textsize = line._text.size();
for (size_t i = 0; i < textsize; ++i) {
- uint16 sjis = iter->_text[i] & 0xFF;
+ uint16 sjis = line._text[i] & 0xFF;
if (sjis >= 0x80) {
- uint16 t = iter->_text[++i] & 0xFF;
+ uint16 t = line._text[++i] & 0xFF;
sjis += (t << 8);
}
uint16 u8char = shiftjis_to_ultima8(sjis);
surface->Paint(_font, u8char, line_x, line_y);
- if (i == iter->_cursor) {
+ if (i == line._cursor) {
surface->fill32(color, line_x, line_y - _font->getBaseline(),
- 1, iter->_dims.height());
+ 1, line._dims.height());
}
line_x += (_font->getFrame(u8char))->_width - _font->getHlead();
}
- if (iter->_cursor == textsize) {
+ if (line._cursor == textsize) {
surface->fill32(color, line_x, line_y - _font->getBaseline(),
- 1, iter->_dims.height());
+ 1, line._dims.height());
}
}
@@ -100,16 +99,16 @@ void JPRenderedText::drawBlended(RenderSurface *surface, int x, int y,
Std::list<PositionedText>::const_iterator iter;
- for (iter = _lines.begin(); iter != _lines.end(); ++iter) {
- int line_x = x + iter->_dims.left;
- int line_y = y + iter->_dims.top;
+ for (const auto &line : _lines) {
+ int line_x = x + line._dims.left;
+ int line_y = y + line._dims.top;
- size_t textsize = iter->_text.size();
+ size_t textsize = line._text.size();
for (size_t i = 0; i < textsize; ++i) {
- uint16 sjis = iter->_text[i] & 0xFF;
+ uint16 sjis = line._text[i] & 0xFF;
if (sjis >= 0x80) {
- uint16 t = iter->_text[++i] & 0xFF;
+ uint16 t = line._text[++i] & 0xFF;
sjis += (t << 8);
}
uint16 u8char = shiftjis_to_ultima8(sjis);
diff --git a/engines/ultima/ultima8/gfx/fonts/shape_rendered_text.cpp b/engines/ultima/ultima8/gfx/fonts/shape_rendered_text.cpp
index 1a1fe4be3c2..c84aa1aa61e 100644
--- a/engines/ultima/ultima8/gfx/fonts/shape_rendered_text.cpp
+++ b/engines/ultima/ultima8/gfx/fonts/shape_rendered_text.cpp
@@ -49,27 +49,27 @@ void ShapeRenderedText::draw(RenderSurface *surface, int x, int y, bool /*destma
surface->BeginPainting();
- for (iter = _lines.begin(); iter != _lines.end(); ++iter) {
- int line_x = x + iter->_dims.left;
- int line_y = y + iter->_dims.top;
+ for (const auto &line : _lines) {
+ int line_x = x + line._dims.left;
+ int line_y = y + line._dims.top;
- size_t textsize = iter->_text.size();
+ size_t textsize = line._text.size();
for (size_t i = 0; i < textsize; ++i) {
- surface->Paint(_font, _font->charToFrameNum(iter->_text[i]),
+ surface->Paint(_font, _font->charToFrameNum(line._text[i]),
line_x, line_y);
- if (i == iter->_cursor) {
+ if (i == line._cursor) {
surface->fill32(color, line_x, line_y - _font->getBaseline(),
- 1, iter->_dims.height());
+ 1, line._dims.height());
}
- line_x += _font->getWidth(iter->_text[i]) - _font->getHlead();
+ line_x += _font->getWidth(line._text[i]) - _font->getHlead();
}
- if (iter->_cursor == textsize) {
+ if (line._cursor == textsize) {
surface->fill32(color, line_x, line_y - _font->getBaseline(),
- 1, iter->_dims.height());
+ 1, line._dims.height());
}
}
@@ -82,17 +82,17 @@ void ShapeRenderedText::drawBlended(RenderSurface *surface, int x, int y,
Std::list<PositionedText>::const_iterator iter;
- for (iter = _lines.begin(); iter != _lines.end(); ++iter) {
- int line_x = x + iter->_dims.left;
- int line_y = y + iter->_dims.top;
+ for (const auto &line : _lines) {
+ int line_x = x + line._dims.left;
+ int line_y = y + line._dims.top;
- size_t textsize = iter->_text.size();
+ size_t textsize = line._text.size();
for (size_t i = 0; i < textsize; ++i) {
surface->PaintHighlight(_font,
- static_cast<unsigned char>(iter->_text[i]),
+ static_cast<unsigned char>(line._text[i]),
line_x, line_y, false, false, col);
- line_x += _font->getWidth(iter->_text[i]) - _font->getHlead();
+ line_x += _font->getWidth(line._text[i]) - _font->getHlead();
}
}
diff --git a/engines/ultima/ultima8/gfx/fonts/tt_font.cpp b/engines/ultima/ultima8/gfx/fonts/tt_font.cpp
index 51f193ce655..96a79786c7f 100644
--- a/engines/ultima/ultima8/gfx/fonts/tt_font.cpp
+++ b/engines/ultima/ultima8/gfx/fonts/tt_font.cpp
@@ -206,14 +206,13 @@ RenderedText *TTFont::renderText(const Std::string &text, unsigned int &remainin
Graphics::ManagedSurface *texture = new Graphics::ManagedSurface(resultWidth, resultHeight, _PF_RGBA);
uint32 *texBuf = (uint32 *)texture->getPixels();
- Std::list<PositionedText>::const_iterator iter;
- for (iter = lines.begin(); iter != lines.end(); ++iter) {
+ for (const auto &line : lines) {
// convert to unicode
Common::U32String unicodeText;
if (!_SJIS)
- unicodeText = toUnicode<Traits>(iter->_text, _bullet);
+ unicodeText = toUnicode<Traits>(line._text, _bullet);
else
- unicodeText = toUnicode<SJISTraits>(iter->_text, _bullet);
+ unicodeText = toUnicode<SJISTraits>(line._text, _bullet);
// Create a surface and render the text
Graphics::ManagedSurface textSurf;
@@ -231,16 +230,16 @@ RenderedText *TTFont::renderText(const Std::string &text, unsigned int &remainin
// Add border within radius. Pixels on the edge are alpha blended if antialiased
if (_borderSize > 0) {
- addTextBorder(textSurf, texBuf, iter->_dims, resultWidth, resultHeight, borderColor);
+ addTextBorder(textSurf, texBuf, line._dims, resultWidth, resultHeight, borderColor);
}
// render the text surface into our texture buffer
for (int y = 0; y < textSurf.h; y++) {
const byte *surfrow = (const byte *)textSurf.getBasePtr(0, y);
- int ty = iter->_dims.top + y + _borderSize;
+ int ty = line._dims.top + y + _borderSize;
for (int x = 0; x < textSurf.w; x++) {
- int tx = iter->_dims.left + x + _borderSize;
+ int tx = line._dims.left + x + _borderSize;
if (_antiAliased) {
uint32 sColor = *((const uint32 *)(surfrow + x * 4));
uint8 sR, sG, sB, sA;
@@ -273,15 +272,15 @@ RenderedText *TTFont::renderText(const Std::string &text, unsigned int &remainin
}
}
- if (iter->_cursor != Std::string::npos) {
- assert(iter->_cursor <= iter->_text.size());
- unicodeText = unicodeText.substr(0, iter->_cursor);
+ if (line._cursor != Std::string::npos) {
+ assert(line._cursor <= line._text.size());
+ unicodeText = unicodeText.substr(0, line._cursor);
int w = _ttfFont->getStringWidth(unicodeText);
- for (int y = 0; y < iter->_dims.height(); y++) {
- int tx = iter->_dims.left + w + _borderSize;
- int ty = iter->_dims.top + y;
+ for (int y = 0; y < line._dims.height(); y++) {
+ int tx = line._dims.left + w + _borderSize;
+ int ty = line._dims.top + y;
texBuf[ty * resultWidth + tx] = borderColor;
}
}
diff --git a/engines/ultima/ultima8/gfx/type_flags.cpp b/engines/ultima/ultima8/gfx/type_flags.cpp
index ad68d09fe9f..e0d2ccf9db1 100644
--- a/engines/ultima/ultima8/gfx/type_flags.cpp
+++ b/engines/ultima/ultima8/gfx/type_flags.cpp
@@ -184,9 +184,7 @@ void TypeFlags::loadWeaponInfo() {
Std::vector<Std::string> weaponkeys;
Std::string category = "weapons";
weaponkeys = config->listSections(category);
- for (Std::vector<Std::string>::const_iterator iter = weaponkeys.begin();
- iter != weaponkeys.end(); ++iter) {
- const Std::string §ion = *iter;
+ for (const auto §ion : weaponkeys) {
WeaponInfo *wi = new WeaponInfo;
int val = 0;
@@ -306,9 +304,7 @@ void TypeFlags::loadArmourInfo() {
Std::vector<Std::string> armourkeys;
Std::string category = "armour";
armourkeys = config->listSections(category);
- for (Std::vector<Std::string>::const_iterator iter = armourkeys.begin();
- iter != armourkeys.end(); ++iter) {
- const Std::string §ion = *iter;
+ for (const auto §ion : armourkeys) {
ArmourInfo ai;
int val;
@@ -364,9 +360,7 @@ void TypeFlags::loadMonsterInfo() {
Std::vector<Std::string> monsterkeys;
Std::string category = "monsters";
monsterkeys = config->listSections(category);
- for (Std::vector<Std::string>::const_iterator iter = monsterkeys.begin();
- iter != monsterkeys.end(); ++iter) {
- const Std::string section = *iter;
+ for (const auto §ion : monsterkeys) {
MonsterInfo *mi = new MonsterInfo;
int val;
diff --git a/engines/ultima/ultima8/gumps/ask_gump.cpp b/engines/ultima/ultima8/gumps/ask_gump.cpp
index 84c333d69e5..e90fe1b958f 100644
--- a/engines/ultima/ultima8/gumps/ask_gump.cpp
+++ b/engines/ultima/ultima8/gumps/ask_gump.cpp
@@ -124,11 +124,12 @@ bool AskGump::loadData(Common::ReadStream *rs, uint32 version) {
ButtonWidget *child = nullptr;
- Std::list<Gump *>::iterator it;
- for (it = _children.begin(); it != _children.end(); ++it) {
- if ((*it)->GetIndex() != (int)i) continue;
- child = dynamic_cast<ButtonWidget *>(*it);
- if (!child) continue;
+ for (auto *g : _children) {
+ if (g->GetIndex() != (int)i)
+ continue;
+ child = dynamic_cast<ButtonWidget *>(g);
+ if (!child)
+ continue;
}
if (!child) return false;
diff --git a/engines/ultima/ultima8/gumps/container_gump.cpp b/engines/ultima/ultima8/gumps/container_gump.cpp
index 8b162d0083e..a60f0b3022b 100644
--- a/engines/ultima/ultima8/gumps/container_gump.cpp
+++ b/engines/ultima/ultima8/gumps/container_gump.cpp
@@ -72,10 +72,8 @@ void ContainerGump::InitGump(Gump *newparent, bool take_focus) {
if (!c) return; // Container gone!?
- Std::list<Item *> &contents = c->_contents;
- Std::list<Item *>::iterator iter;
- for (iter = contents.begin(); iter != contents.end(); ++iter) {
- (*iter)->enterFastArea();
+ for (auto *item : c->_contents) {
+ item->enterFastArea();
}
@@ -93,11 +91,7 @@ void ContainerGump::run() {
return;
}
- Std::list<Item *> &contents = c->_contents;
- Std::list<Item *>::iterator iter;
- for (iter = contents.begin(); iter != contents.end(); ++iter) {
- Item *item = *iter;
-
+ for (auto *item : c->_contents) {
int32 itemx, itemy;
item->getGumpLocation(itemx, itemy);
@@ -166,15 +160,12 @@ void ContainerGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scale
return;
}
- Std::list<Item *> &contents = c->_contents;
int32 gameframeno = Kernel::get_instance()->getFrameNum();
//!! TODO: check these painting commands (flipped? translucent?)
bool paintEditorItems = Ultima8Engine::get_instance()->isPaintEditorItems();
- Std::list<Item *>::iterator iter;
- for (iter = contents.begin(); iter != contents.end(); ++iter) {
- Item *item = *iter;
+ for (auto *item : c->_contents) {
item->setupLerp(gameframeno);
if (!paintEditorItems && item->getShapeInfo()->is_editor())
diff --git a/engines/ultima/ultima8/gumps/cru_credits_gump.cpp b/engines/ultima/ultima8/gumps/cru_credits_gump.cpp
index cf0a51c1f80..2ddc4c621bf 100644
--- a/engines/ultima/ultima8/gumps/cru_credits_gump.cpp
+++ b/engines/ultima/ultima8/gumps/cru_credits_gump.cpp
@@ -110,8 +110,8 @@ CruCreditsGump::CruCreditsGump(Common::SeekableReadStream *txtrs,
CruCreditsGump::~CruCreditsGump() {
delete _background;
- for (Common::Array<RenderedText *>::iterator iter = _currentLines.begin(); iter != _currentLines.end(); iter++) {
- delete *iter;
+ for (auto *line : _currentLines) {
+ delete line;
}
}
@@ -154,9 +154,8 @@ void CruCreditsGump::run() {
}
_nextScreenStart += _screens[_screenNo]._delay;
- for (Common::Array<RenderedText *>::iterator iter = _currentLines.begin();
- iter != _currentLines.end(); iter++) {
- delete *iter;
+ for (auto *line : _currentLines) {
+ delete line;
}
_currentLines.clear();
@@ -173,17 +172,16 @@ void CruCreditsGump::run() {
if (pal && nameshapefont)
nameshapefont->setPalette(pal);
- for (Common::Array<CredLine>::const_iterator iter = lines.begin();
- iter != lines.end(); iter++) {
- Font *linefont = (iter->_lineType == kCredTitle) ? titlefont : namefont;
+ for (const auto &line : lines) {
+ Font *linefont = (line._lineType == kCredTitle) ? titlefont : namefont;
if (!linefont) {
// shouldn't happen.. just to be sure?
- warning("can't render credits line type %d, font is null", iter->_lineType);
+ warning("can't render credits line type %d, font is null", line._lineType);
break;
}
unsigned int remaining;
- RenderedText *rendered = linefont->renderText(iter->_text, remaining, 640, 0, Font::TEXT_CENTER);
+ RenderedText *rendered = linefont->renderText(line._text, remaining, 640, 0, Font::TEXT_CENTER);
_currentLines.push_back(rendered);
}
}
@@ -203,9 +201,8 @@ void CruCreditsGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scal
int total = nlines * (height + vlead);
int yoffset = 240 - total / 2;
- for (Common::Array<RenderedText *>::iterator iter = _currentLines.begin();
- iter != _currentLines.end(); iter++) {
- (*iter)->draw(surf, 0, yoffset);
+ for (auto *line : _currentLines) {
+ line->draw(surf, 0, yoffset);
yoffset += (height + vlead);
}
}
diff --git a/engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp b/engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp
index 9b63ed048ae..aa9cbbc9bbc 100644
--- a/engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp
+++ b/engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp
@@ -59,9 +59,8 @@ void CruPickupAreaGump::addPickup(const Item *item, bool showCount) {
// or an existing gump to recycle if we have one already
// for that shape
int32 maxy = PICKUP_GUMP_GAP;
- Std::list<Gump *>::iterator it;
- for (it = _children.begin(); it != _children.end(); it++) {
- CruPickupGump *pug = dynamic_cast<CruPickupGump *>(*it);
+ for (auto *i : _children) {
+ CruPickupGump *pug = dynamic_cast<CruPickupGump *>(i);
if (!pug)
continue;
if (pug->getShapeNo() == shapeno) {
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.cpp b/engines/ultima/ultima8/gumps/desktop_gump.cpp
index 421022ff531..b96b076df7a 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.cpp
+++ b/engines/ultima/ultima8/gumps/desktop_gump.cpp
@@ -48,13 +48,7 @@ void DesktopGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled)
}
void DesktopGump::PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled) {
- // Iterate all children
- Std::list<Gump *>::iterator it = _children.begin();
- Std::list<Gump *>::iterator end = _children.end();
-
- while (it != end) {
- Gump *g = *it;
-
+ for (auto *g : _children) {
// Paint if not closing
if (!g->IsClosing()) {
// If background blanking on modal is enabled...
@@ -65,8 +59,6 @@ void DesktopGump::PaintChildren(RenderSurface *surf, int32 lerp_factor, bool sca
g->Paint(surf, lerp_factor, scaled);
}
-
- ++it;
}
}
diff --git a/engines/ultima/ultima8/gumps/gump.cpp b/engines/ultima/ultima8/gumps/gump.cpp
index 7c7345b76de..c4391b9bc76 100644
--- a/engines/ultima/ultima8/gumps/gump.cpp
+++ b/engines/ultima/ultima8/gumps/gump.cpp
@@ -57,12 +57,7 @@ Gump::~Gump() {
_focusChild = nullptr;
// Delete all children
- Std::list<Gump *>::iterator it = _children.begin();
- Std::list<Gump *>::iterator end = _children.end();
-
- while (it != end) {
- Gump *g = *it;
- it = _children.erase(it);
+ for (auto *g : _children) {
delete g;
}
}
@@ -260,17 +255,10 @@ void Gump::PaintThis(RenderSurface *surf, int32 /*lerp_factor*/, bool /*scaled*/
}
void Gump::PaintChildren(RenderSurface *surf, int32 lerp_factor, bool scaled) {
- // Iterate all children
- Std::list<Gump *>::iterator it = _children.begin();
- Std::list<Gump *>::iterator end = _children.end();
-
- while (it != end) {
- Gump *g = *it;
+ for (auto *g : _children) {
// Paint if not closing
if (!(g->_flags & FLAG_CLOSING))
g->Paint(surf, lerp_factor, scaled);
-
- ++it;
}
}
@@ -531,13 +519,7 @@ Gump *Gump::FindGump(const FindGumpPredicate predicate, bool recursive) {
if (predicate(this))
return this;
- // Iterate all children
- Std::list<Gump *>::iterator it = _children.begin();
- Std::list<Gump *>::iterator end = _children.end();
-
- for (; it != end; ++it) {
- Gump *g = *it;
-
+ for (auto *g : _children) {
// Not if closing
if (g->_flags & FLAG_CLOSING)
continue;
@@ -550,20 +532,15 @@ Gump *Gump::FindGump(const FindGumpPredicate predicate, bool recursive) {
return nullptr;
// Recursive Iterate all children
- it = _children.begin();
- end = _children.end();
-
- for (; it != end; ++it) {
- Gump *g = (*it);
-
+ for (auto *g : _children) {
// Not if closing
if (g->_flags & FLAG_CLOSING)
continue;
- g = g->FindGump(predicate, recursive);
+ Gump *match = g->FindGump(predicate, recursive);
- if (g)
- return g;
+ if (match)
+ return match;
}
return nullptr;
@@ -814,18 +791,19 @@ void Gump::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(_processResult);
unsigned int childcount = 0;
- Std::list<Gump *>::iterator it;
- for (it = _children.begin(); it != _children.end(); ++it) {
- if (!(*it)->mustSave(false)) continue;
+ for (auto *g : _children) {
+ if (!g->mustSave(false))
+ continue;
childcount++;
}
// write children:
ws->writeUint32LE(childcount);
- for (it = _children.begin(); it != _children.end(); ++it) {
- if (!(*it)->mustSave(false)) continue;
+ for (auto *g : _children) {
+ if (!g->mustSave(false))
+ continue;
- ObjectManager::get_instance()->saveObject(ws, *it);
+ ObjectManager::get_instance()->saveObject(ws, g);
}
}
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.cpp b/engines/ultima/ultima8/gumps/minimap_gump.cpp
index 931943f573c..2f94134a841 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.cpp
+++ b/engines/ultima/ultima8/gumps/minimap_gump.cpp
@@ -50,9 +50,8 @@ MiniMapGump::MiniMapGump() : ResizableGump(), _minimaps(), _ax(0), _ay(0) {
}
MiniMapGump::~MiniMapGump(void) {
- Common::HashMap<uint32, MiniMap *>::iterator iter;
- for (iter = _minimaps.begin(); iter != _minimaps.end(); ++iter) {
- delete iter->_value;
+ for (auto &i : _minimaps) {
+ delete i._value;
}
}
@@ -102,9 +101,8 @@ void MiniMapGump::generate() {
}
void MiniMapGump::clear() {
- Common::HashMap<uint32, MiniMap *>::iterator iter;
- for (iter = _minimaps.begin(); iter != _minimaps.end(); ++iter) {
- delete iter->_value;
+ for (auto &i : _minimaps) {
+ delete i._value;
}
_minimaps.clear();
}
@@ -208,10 +206,9 @@ void MiniMapGump::saveData(Common::WriteStream *ws) {
Gump::saveData(ws);
ws->writeUint32LE(static_cast<uint32>(_minimaps.size()));
- Common::HashMap<uint32, MiniMap *>::const_iterator iter;
- for (iter = _minimaps.begin(); iter != _minimaps.end(); ++iter) {
- const MiniMap *minimap = iter->_value;
- ws->writeUint32LE(iter->_key);
+ for (const auto &i : _minimaps) {
+ const MiniMap *minimap = i._value;
+ ws->writeUint32LE(i._key);
minimap->save(ws);
}
}
diff --git a/engines/ultima/ultima8/gumps/paged_gump.cpp b/engines/ultima/ultima8/gumps/paged_gump.cpp
index 688a0813250..a28a2540b89 100644
--- a/engines/ultima/ultima8/gumps/paged_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paged_gump.cpp
@@ -43,9 +43,8 @@ PagedGump::~PagedGump(void) {
void PagedGump::Close(bool no_del) {
Mouse::get_instance()->popMouseCursor();
- Std::vector<Gump *>::iterator iter;
- for (iter = _gumps.begin(); iter != _gumps.end(); ++iter) {
- (*iter)->Close(no_del); // CHECKME: no_del?
+ for (auto *g : _gumps) {
+ g->Close(no_del); // CHECKME: no_del?
}
ModalGump::Close(no_del);
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
index 07d25b86c34..a003b82337b 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
@@ -122,11 +122,7 @@ void PaperdollGump::Close(bool no_del) {
Container *c = getContainer(_owner);
if (!c) return; // Container gone!?
- Std::list<Item *> &contents = c->_contents;
- Std::list<Item *>::iterator iter = contents.begin();
- while (iter != contents.end()) {
- Item *item = *iter;
- ++iter;
+ for (auto *item : c->_contents) {
item->leaveFastArea(); // Can destroy the item
}
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
index 959434d0f42..0401a3e9091 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
@@ -90,9 +90,9 @@ ShapeViewerGump::ShapeViewerGump(int x, int y, int width, int height,
}
ShapeViewerGump::~ShapeViewerGump() {
- for (Common::Array<ShapeArchiveEntry>::iterator it = _archives.begin(); it != _archives.end(); it++) {
- if (it->_disposeAfterUse == DisposeAfterUse::YES) {
- delete it->_archive;
+ for (auto &entry : _archives) {
+ if (entry._disposeAfterUse == DisposeAfterUse::YES) {
+ delete entry._archive;
}
}
}
diff --git a/engines/ultima/ultima8/gumps/weasel_dat.cpp b/engines/ultima/ultima8/gumps/weasel_dat.cpp
index 32eef699813..5e8c3fa8751 100644
--- a/engines/ultima/ultima8/gumps/weasel_dat.cpp
+++ b/engines/ultima/ultima8/gumps/weasel_dat.cpp
@@ -66,8 +66,8 @@ WeaselDat::WeaselDat(Common::ReadStream *rs) {
uint16 WeaselDat::getNumOfType(WeaselType type) const {
int count = 0;
- for (Std::vector<WeaselEntry>::const_iterator iter = _items.begin(); iter != _items.end(); iter++) {
- if (iter->_type == type)
+ for (const auto &item : _items) {
+ if (item._type == type)
count++;
}
return count;
diff --git a/engines/ultima/ultima8/gumps/weasel_gump.cpp b/engines/ultima/ultima8/gumps/weasel_gump.cpp
index 7e8fb4bf11a..036f6265403 100644
--- a/engines/ultima/ultima8/gumps/weasel_gump.cpp
+++ b/engines/ultima/ultima8/gumps/weasel_gump.cpp
@@ -398,9 +398,8 @@ void WeaselGump::completePurchase() {
Item *item = av->getFirstItemWithShape(0x4ed, true);
if (item)
item->setQuality(_credits);
- for (Std::vector<uint16>::const_iterator iter = _purchases.begin();
- iter != _purchases.end(); iter++) {
- Item *newitem = ItemFactory::createItem(*iter, 0, 0, 0, 0, mapno, 0, true);
+ for (const auto &purchase : _purchases) {
+ Item *newitem = ItemFactory::createItem(purchase, 0, 0, 0, 0, mapno, 0, true);
av->addItemCru(newitem, false);
}
_state = kWeaselCompletedPurchase;
@@ -473,9 +472,8 @@ void WeaselGump::abortPurchase() {
int WeaselGump::purchasedCount(uint16 shape) const {
int count = 0;
- for (Std::vector<uint16>::const_iterator iter = _purchases.begin();
- iter != _purchases.end(); iter++) {
- if (*iter == shape)
+ for (const auto &purchase : _purchases) {
+ if (purchase == shape)
count++;
}
return count;
diff --git a/engines/ultima/ultima8/kernel/kernel.cpp b/engines/ultima/ultima8/kernel/kernel.cpp
index 749802dd880..f0cb37e0f3e 100644
--- a/engines/ultima/ultima8/kernel/kernel.cpp
+++ b/engines/ultima/ultima8/kernel/kernel.cpp
@@ -62,8 +62,7 @@ Kernel::~Kernel() {
void Kernel::reset() {
debug(1, "Resetting Kernel...");
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
+ for (auto *p : _processes) {
if (p->_flags & Process::PROC_TERM_DISPOSE && p != _runningProcess) {
delete p;
} else {
@@ -94,8 +93,8 @@ ProcId Kernel::assignPID(Process *proc) {
ProcId Kernel::addProcess(Process *proc, bool dispose) {
#if 0
- for (ProcessIterator it = processes.begin(); it != processes.end(); ++it) {
- if (*it == proc)
+ for (const auto *p : _processes) {
+ if (p == proc)
return 0;
}
#endif
@@ -116,8 +115,8 @@ ProcId Kernel::addProcess(Process *proc, bool dispose) {
ProcId Kernel::addProcessExec(Process *proc, bool dispose) {
#if 0
- for (ProcessIterator it = processes.begin(); it != processes.end(); ++it) {
- if (*it == proc)
+ for (const auto *p : _processes) {
+ if (p == proc)
return 0;
}
#endif
@@ -257,8 +256,7 @@ void Kernel::setNextProcess(Process *proc) {
}
Process *Kernel::getProcess(ProcId pid) {
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
+ for (auto *p : _processes) {
if (p->_pid == pid)
return p;
}
@@ -273,22 +271,18 @@ void Kernel::kernelStats() {
void Kernel::processTypes() {
g_debugger->debugPrintf("Current process types:\n");
Common::HashMap<Common::String, unsigned int> processtypes;
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
+ for (const auto *p : _processes) {
processtypes[p->GetClassType()._className]++;
}
- 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);
+ for (const auto &i : processtypes) {
+ g_debugger->debugPrintf("%s: %u\n", i._key.c_str(), i._value);
}
}
uint32 Kernel::getNumProcesses(ObjId objid, uint16 processtype) {
uint32 count = 0;
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
-
+ for (const auto *p : _processes) {
// Don't count us, we are not really here
if (p->is_terminated()) continue;
@@ -301,9 +295,7 @@ uint32 Kernel::getNumProcesses(ObjId objid, uint16 processtype) {
}
Process *Kernel::findProcess(ObjId objid, uint16 processtype) {
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
-
+ for (auto *p : _processes) {
// Don't count us, we are not really here
if (p->is_terminated()) continue;
@@ -318,9 +310,7 @@ Process *Kernel::findProcess(ObjId objid, uint16 processtype) {
void Kernel::killProcesses(ObjId objid, uint16 processtype, bool fail) {
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
-
+ for (auto *p : _processes) {
if (p->_itemNum != 0 && (objid == 0 || objid == p->_itemNum) &&
(processtype == PROC_TYPE_ALL || processtype == p->_type) &&
!(p->_flags & Process::PROC_TERMINATED) &&
@@ -334,9 +324,7 @@ void Kernel::killProcesses(ObjId objid, uint16 processtype, bool fail) {
}
void Kernel::killProcessesNotOfType(ObjId objid, uint16 processtype, bool fail) {
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
-
+ for (auto *p : _processes) {
// * If objid is 0, terminate procs for all objects.
// * Never terminate procs with objid 0
if (p->_itemNum != 0 && (objid == 0 || objid == p->_itemNum) &&
@@ -371,9 +359,7 @@ void Kernel::killAllProcessesNotOfTypeExcludeCurrent(uint16 processtype, bool fa
}
}
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
-
+ for (auto *p : _processes) {
// Don't kill the running process
if (procsToSave.contains(p->_pid))
continue;
@@ -390,9 +376,7 @@ void Kernel::killAllProcessesNotOfTypeExcludeCurrent(uint16 processtype, bool fa
}
bool Kernel::canSave() {
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- Process *p = *it;
-
+ for (const auto *p : _processes) {
if (!p->is_terminated() && p->_flags & Process::PROC_PREVENT_SAVE) {
return false;
}
@@ -405,8 +389,8 @@ void Kernel::save(Common::WriteStream *ws) {
ws->writeUint32LE(_tickNum);
_pIDs->save(ws);
ws->writeUint32LE(_processes.size());
- for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- const Std::string & classname = (*it)->GetClassType()._className; // virtual
+ for (auto *p : _processes) {
+ const Std::string & classname = p->GetClassType()._className; // virtual
assert(classname.size());
Common::HashMap<Common::String, ProcessLoadFunc>::iterator iter;
@@ -418,7 +402,7 @@ void Kernel::save(Common::WriteStream *ws) {
ws->writeUint16LE(classname.size());
ws->write(classname.c_str(), classname.size());
- (*it)->saveData(ws);
+ p->saveData(ws);
}
}
@@ -437,8 +421,7 @@ bool Kernel::load(Common::ReadStream *rs, uint32 version) {
// Integrity check for processes
Std::set<ProcId> procs;
- for (Std::list<Process *>::const_iterator iter = _processes.begin(); iter != _processes.end(); iter++) {
- const Process *p = *iter;
+ for (const auto *p : _processes) {
if (!_pIDs->isIDUsed(p->getPid())) {
warning("Process id %d exists but not marked used. Corrupt save?", p->getPid());
return false;
diff --git a/engines/ultima/ultima8/kernel/object_manager.cpp b/engines/ultima/ultima8/kernel/object_manager.cpp
index 7493ed21577..933b4a360c6 100644
--- a/engines/ultima/ultima8/kernel/object_manager.cpp
+++ b/engines/ultima/ultima8/kernel/object_manager.cpp
@@ -141,9 +141,8 @@ void ObjectManager::objectTypes() {
objecttypes[o->GetClassType()._className]++;
}
- 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);
+ for (const auto &i : objecttypes) {
+ g_debugger->debugPrintf("%s: %u\n", i._key.c_str(), i._value);
}
}
diff --git a/engines/ultima/ultima8/kernel/process.cpp b/engines/ultima/ultima8/kernel/process.cpp
index e55141ad0ff..96d1999fffa 100644
--- a/engines/ultima/ultima8/kernel/process.cpp
+++ b/engines/ultima/ultima8/kernel/process.cpp
@@ -49,9 +49,8 @@ void Process::terminate() {
Kernel *kernel = Kernel::get_instance();
// wake up waiting processes
- for (Std::vector<ProcId>::iterator i = _waiting.begin();
- i != _waiting.end(); ++i) {
- Process *p = kernel->getProcess(*i);
+ for (const auto &pid : _waiting) {
+ Process *p = kernel->getProcess(pid);
if (p)
p->wakeUp(_result);
}
@@ -160,15 +159,14 @@ bool Process::loadData(Common::ReadStream *rs, uint32 version) {
}
bool Process::validateWaiters() const {
- for (Std::vector<ProcId>::const_iterator i = _waiting.begin();
- i != _waiting.end(); ++i) {
- const Process *p = Kernel::get_instance()->getProcess(*i);
+ for (const auto &pid : _waiting) {
+ const Process *p = Kernel::get_instance()->getProcess(pid);
if (!p) {
// This can happen if a waiting process gets forcibly terminated.
- warning("Invalid procid %d in waitlist for proc %d. Maybe a bug?", *i, _pid);
+ warning("Invalid procid %d in waitlist for proc %d. Maybe a bug?", pid, _pid);
} else if (!p->is_suspended()) {
// This should never happen.
- warning("Procid %d in waitlist for proc %d but not marked suspended", *i, _pid);
+ warning("Procid %d in waitlist for proc %d but not marked suspended", pid, _pid);
return false;
}
}
diff --git a/engines/ultima/ultima8/misc/debugger.cpp b/engines/ultima/ultima8/misc/debugger.cpp
index c57af5f3322..460d17a98f3 100644
--- a/engines/ultima/ultima8/misc/debugger.cpp
+++ b/engines/ultima/ultima8/misc/debugger.cpp
@@ -304,13 +304,12 @@ bool Debugger::cmdListSFX(int argc, const char **argv) {
debugPrintf("Error: No AudioProcess\n");
} else {
- Std::list<AudioProcess::SampleInfo>::const_iterator it;
- for (it = ap->_sampleInfo.begin(); it != ap->_sampleInfo.end(); ++it) {
+ for (const auto &si : ap->_sampleInfo) {
debugPrintf("Sample: num %d, obj %d, loop %d, prio %d",
- it->_sfxNum, it->_objId, it->_loops, it->_priority);
- if (!it->_barked.empty()) {
+ si._sfxNum, si._objId, si._loops, si._priority);
+ if (!si._barked.empty()) {
debugPrintf(", speech: \"%s\"",
- it->_barked.substr(it->_curSpeechStart, it->_curSpeechEnd - it->_curSpeechStart).c_str());
+ si._barked.substr(si._curSpeechStart, si._curSpeechEnd - si._curSpeechStart).c_str());
}
debugPrintf("\n");
}
@@ -838,9 +837,7 @@ bool Debugger::cmdListProcesses(int argc, const char **argv) {
} else {
debugPrintf("Processes:\n");
}
- for (ProcessIterator it = kern->_processes.begin();
- it != kern->_processes.end(); ++it) {
- Process *p = *it;
+ for (const auto *p : kern->_processes) {
if (argc == 1 || p->_itemNum == item) {
debugPrintf("%s\n", p->dumpInfo().c_str());
}
@@ -993,9 +990,8 @@ bool Debugger::cmdListMarks(int argc, const char **argv) {
}
Common::sort(marks.begin(), marks.end());
- Common::StringArray::const_iterator mit;
- for (mit = marks.begin(); mit != marks.end(); ++mit) {
- debugPrintf("%s\n", mit->c_str());
+ for (const auto &m : marks) {
+ debugPrintf("%s\n", m.c_str());
}
return true;
diff --git a/engines/ultima/ultima8/usecode/uc_machine.cpp b/engines/ultima/ultima8/usecode/uc_machine.cpp
index 2f0f7d591d0..cefd16c28b7 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.cpp
+++ b/engines/ultima/ultima8/usecode/uc_machine.cpp
@@ -138,9 +138,8 @@ void UCMachine::reset() {
}
// clear strings, lists
- Common::HashMap<uint16, UCList *>::iterator iter;
- for (iter = _listHeap.begin(); iter != _listHeap.end(); ++iter)
- delete(iter->_value);
+ for (auto &i : _listHeap)
+ delete i._value;
_listHeap.clear();
_stringHeap.clear();
}
@@ -2263,29 +2262,27 @@ void UCMachine::usecodeStats() const {
g_debugger->debugPrintf("Usecode Machine memory stats:\n");
g_debugger->debugPrintf("Strings : %u/65534\n", _stringHeap.size());
#ifdef DUMPHEAP
- 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());
+ for (const auto &i : _stringHeap)
+ g_debugger->debugPrintf("%d:%s\n", i._key << ":" << i._value.c_str());
#endif
g_debugger->debugPrintf("Lists : %u/65534\n", _listHeap.size());
#ifdef DUMPHEAP
- 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);
+ for (const auto &l : _listHeap) {
+ if (!l._value) {
+ g_debugger->debugPrintf("%d: <null>\n", l._key);
continue;
}
- if (iterl->_value->getElementSize() == 2) {
- g_debugger->debugPrintf("%d:", iterl->_key);
+ if (l._value->getElementSize() == 2) {
+ g_debugger->debugPrintf("%d:", l._key);
- for (unsigned int i = 0; i < iterl->_value->getSize(); ++i) {
+ for (unsigned int i = 0; i < l._value->getSize(); ++i) {
if (i > 0) g_debugger->debugPrintf(",");
- g_debugger->debugPrintf("%d", iterl->_value->getuint16(i));
+ g_debugger->debugPrintf("%d", l._value->getuint16(i));
}
g_debugger->debugPrintf("\n");
} else {
g_debugger->debugPrintf("%d: %u elements of size %u\n",
- iterl->_key, iterl->_value->getSize(), iterl->_value->getElementSize());
+ l._key, l._value->getSize(), l._value->getElementSize());
}
}
#endif
@@ -2299,11 +2296,10 @@ void UCMachine::saveStrings(Common::WriteStream *ws) const {
_stringIDs->save(ws);
ws->writeUint32LE(static_cast<uint32>(_stringHeap.size()));
- 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());
- ws->write((*iter)._value.c_str(), (*iter)._value.size());
+ for (const auto &i : _stringHeap) {
+ ws->writeUint16LE(i._key);
+ ws->writeUint32LE(i._value.size());
+ ws->write(i._value.c_str(), i._value.size());
}
}
@@ -2311,10 +2307,9 @@ void UCMachine::saveLists(Common::WriteStream *ws) const {
_listIDs->save(ws);
ws->writeUint32LE(_listHeap.size());
- Common::HashMap<uint16, UCList *>::const_iterator iter;
- for (iter = _listHeap.begin(); iter != _listHeap.end(); ++iter) {
- ws->writeUint16LE((*iter)._key);
- (*iter)._value->save(ws);
+ for (const auto &i : _listHeap) {
+ ws->writeUint16LE(i._key);
+ i._value->save(ws);
}
}
diff --git a/engines/ultima/ultima8/usecode/uc_process.cpp b/engines/ultima/ultima8/usecode/uc_process.cpp
index 04161043be4..8c06f75a7be 100644
--- a/engines/ultima/ultima8/usecode/uc_process.cpp
+++ b/engines/ultima/ultima8/usecode/uc_process.cpp
@@ -118,9 +118,9 @@ void UCProcess::freeOnTerminate(uint16 index, int type) {
void UCProcess::terminate() {
Std::list<Common::Pair<uint16, int> >::iterator i;
- for (i = _freeOnTerminate.begin(); i != _freeOnTerminate.end(); ++i) {
- uint16 index = (*i).first;
- int typeNum = (*i).second;
+ for (auto &i : _freeOnTerminate) {
+ uint16 index = i.first;
+ int typeNum = i.second;
switch (typeNum) {
case 1: // string
@@ -161,10 +161,9 @@ void UCProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_ip);
ws->writeUint32LE(_temp32);
ws->writeUint32LE(static_cast<uint32>(_freeOnTerminate.size()));
- 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));
+ for (const auto &i : _freeOnTerminate) {
+ ws->writeUint16LE(i.first);
+ ws->writeUint32LE(static_cast<uint32>(i.second));
}
_stack.save(ws);
}
diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index a2a4ec8a03a..e64c97f8395 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -89,10 +89,9 @@ uint16 Actor::assignObjId() {
if (_objId == 0xFFFF)
_objId = ObjectManager::get_instance()->assignActorObjId(this);
- Std::list<Item *>::iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- (*iter)->assignObjId();
- (*iter)->setParent(_objId);
+ for (auto *i : _contents) {
+ i->assignObjId();
+ i->setParent(_objId);
}
return _objId;
@@ -403,11 +402,11 @@ bool Actor::setEquip(Item *item, bool checkwghtvol) {
// now check 'equipment slots'
// we can have one item of each equipment type, plus one backpack
- for (Std::list<Item *>::const_iterator iter = _contents.begin(); iter != _contents.end(); ++iter) {
- if ((*iter)->getObjId() == item->getObjId()) continue;
+ for (const auto *i : _contents) {
+ if (i->getObjId() == item->getObjId()) continue;
- uint32 cet = (*iter)->getShapeInfo()->_equipType;
- bool cbackpack = ((*iter)->getShape() == BACKPACK_SHAPE);
+ uint32 cet = i->getShapeInfo()->_equipType;
+ bool cbackpack = (i->getShape() == BACKPACK_SHAPE);
// already have an item with the same equiptype
if (cet == equiptype || (cbackpack && backpack)) return false;
@@ -422,14 +421,13 @@ bool Actor::setEquip(Item *item, bool checkwghtvol) {
}
uint16 Actor::getEquip(uint32 type) const {
- Std::list<Item *>::const_iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- uint32 cet = (*iter)->getShapeInfo()->_equipType;
- bool cbackpack = ((*iter)->getShape() == BACKPACK_SHAPE);
+ for (const auto *i : _contents) {
+ uint32 cet = i->getShapeInfo()->_equipType;
+ bool cbackpack = (i->getShape() == BACKPACK_SHAPE);
- if ((*iter)->hasFlags(FLG_EQUIPPED) &&
+ if (i->hasFlags(FLG_EQUIPPED) &&
(cet == type || (cbackpack && type == 7))) { // !! constant
- return (*iter)->getObjId();
+ return i->getObjId();
}
}
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.cpp b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
index 4b509474c26..e049d6bdeef 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.cpp
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
@@ -274,21 +274,19 @@ bool AnimationTracker::step() {
// Do the sweep test
Std::list<CurrentMap::SweepItem> collisions;
- Std::list<CurrentMap::SweepItem>::const_iterator it;
cm->sweepTest(start, end, dims, a->getShapeInfo()->_flags, _actor,
false, &collisions);
-
- for (it = collisions.begin(); it != collisions.end(); it++) {
+ for (const auto &collision : collisions) {
// hit something, can't move
- if (!it->_touching && it->_blocking) {
+ if (!collision._touching && collision._blocking) {
#ifdef WATCHACTOR
if (a->getObjId() == watchactor) {
debugC(kDebugActor, "AnimationTracker: did sweepTest for large step; collision at time %d", it->_hitTime);
}
#endif
_blocked = true;
- _curr = it->GetInterpolatedCoords(end, start);
+ _curr = collision.GetInterpolatedCoords(end, start);
return false;
}
}
diff --git a/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
index ad73445d0fc..952fc690e9e 100644
--- a/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
@@ -516,9 +516,8 @@ void CruAvatarMoverProcess::step(Animation::Sequence action, Direction direction
avatar->setLocation(origpt);
currentmap->sweepTest(origpt, end, dims, avatar->getShapeInfo()->_flags,
avatar->getObjId(), true, &collisions);
- for (Std::list<CurrentMap::SweepItem>::iterator it = collisions.begin();
- it != collisions.end(); it++) {
- if (!it->_touching && it->_blocking) {
+ for (const auto &collision : collisions) {
+ if (!collision._touching && collision._blocking) {
startvalid = false;
break;
}
diff --git a/engines/ultima/ultima8/world/actors/main_actor.cpp b/engines/ultima/ultima8/world/actors/main_actor.cpp
index 0ddb0fb61f6..d4d6cc876c3 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.cpp
+++ b/engines/ultima/ultima8/world/actors/main_actor.cpp
@@ -98,10 +98,9 @@ bool MainActor::CanAddItem(Item *item, bool checkwghtvol) {
// valid item type?
if (equiptype == ShapeInfo::SE_NONE && !backpack) return false;
- Std::list<Item *>::iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- uint32 cet = (*iter)->getShapeInfo()->_equipType;
- bool cbackpack = ((*iter)->getShape() == backpack_shape);
+ for (const auto *i : _contents) {
+ uint32 cet = i->getShapeInfo()->_equipType;
+ bool cbackpack = (i->getShape() == backpack_shape);
// already have an item with the same equiptype
if (cet == equiptype || (cbackpack && backpack)) return false;
@@ -433,10 +432,9 @@ void MainActor::teleport(int mapNum, int teleport_id) {
uint16 MainActor::getDefenseType() const {
uint16 type = 0;
- Std::list<Item *>::const_iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- uint32 frameNum = (*iter)->getFrame();
- const ShapeInfo *si = (*iter)->getShapeInfo();
+ for (const auto *i : _contents) {
+ uint32 frameNum = i->getFrame();
+ const ShapeInfo *si = i->getShapeInfo();
if (si->_armourInfo) {
type |= si->_armourInfo[frameNum]._defenseType;
}
@@ -448,10 +446,9 @@ uint16 MainActor::getDefenseType() const {
uint32 MainActor::getArmourClass() const {
uint32 armour = 0;
- Std::list<Item *>::const_iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- uint32 frameNum = (*iter)->getFrame();
- const ShapeInfo *si = (*iter)->getShapeInfo();
+ for (const auto *i : _contents) {
+ uint32 frameNum = i->getFrame();
+ const ShapeInfo *si = i->getShapeInfo();
if (si->_armourInfo) {
armour += si->_armourInfo[frameNum]._armourClass;
}
diff --git a/engines/ultima/ultima8/world/actors/pathfinder.cpp b/engines/ultima/ultima8/world/actors/pathfinder.cpp
index 5896850115f..fb255479878 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder.cpp
+++ b/engines/ultima/ultima8/world/actors/pathfinder.cpp
@@ -125,9 +125,8 @@ Pathfinder::~Pathfinder() {
_cleanupNodes.size(), _visited.size(), expandednodes, _expandTime);
// clean up _nodes
- Std::vector<PathNode *>::iterator iter;
- for (iter = _cleanupNodes.begin(); iter != _cleanupNodes.end(); ++iter)
- delete *iter;
+ for (auto *node : _cleanupNodes)
+ delete node;
_cleanupNodes.clear();
}
@@ -179,9 +178,8 @@ bool Pathfinder::alreadyVisited(const Point3 &pt) const {
//
// Linear search of an array is just as fast, or slightly faster.
//
- Common::Array<PathfindingState>::const_iterator iter;
- for (iter = _visited.begin(); iter != _visited.end(); iter++) {
- if (iter->checkPoint(pt, 8*8))
+ for (const auto &i : _visited) {
+ if (i.checkPoint(pt, 8*8))
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp b/engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp
index dc9c65c1091..02feb43d3b7 100644
--- a/engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp
+++ b/engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp
@@ -269,15 +269,14 @@ bool RollingThunderProcess::fireDistance(Direction dir, int32 x, int32 y, int32
const int32 dims[3] = {2, 2, 2};
Std::list<CurrentMap::SweepItem> collisions;
- Std::list<CurrentMap::SweepItem>::iterator it;
cm->sweepTest(start, end, dims, ShapeInfo::SI_SOLID,
_itemNum, false, &collisions);
- for (it = collisions.begin(); it != collisions.end(); it++) {
- if (it->_item == _itemNum)
+ for (const auto &collision : collisions) {
+ if (collision._item == _itemNum)
continue;
- if (it->_item != target->getObjId())
+ if (collision._item != target->getObjId())
break;
- Point3 out = it->GetInterpolatedCoords(start, end);
+ Point3 out = collision.GetInterpolatedCoords(start, end);
dist = MAX(abs(x - out.x), abs(y - out.y));
break;
}
diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index c9e82468c7b..822c1307f2c 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -47,9 +47,8 @@ Container::~Container() {
// if we don't have an _objId, we _must_ delete children
if (_objId == 0xFFFF) {
- Std::list<Item *>::iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- delete(*iter);
+ for (auto *item : _contents) {
+ delete item;
}
}
}
@@ -58,10 +57,9 @@ Container::~Container() {
ObjId Container::assignObjId() {
ObjId id = Item::assignObjId();
- Std::list<Item *>::iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- (*iter)->assignObjId();
- (*iter)->setParent(id);
+ for (auto *item : _contents) {
+ item->assignObjId();
+ item->setParent(id);
}
return id;
@@ -70,12 +68,11 @@ ObjId Container::assignObjId() {
void Container::clearObjId() {
Item::clearObjId();
- Std::list<Item *>::iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
+ for (auto *item : _contents) {
// make sure we don't clear the ObjId of an Actor
- assert((*iter)->getObjId() >= 256);
+ assert(item->getObjId() >= 256);
- (*iter)->clearObjId();
+ item->clearObjId();
}
}
@@ -208,10 +205,9 @@ void Container::destroyContents() {
void Container::setFlagRecursively(uint32 mask) {
setFlag(mask);
- Std::list<Item *>::iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- (*iter)->setFlag(mask);
- Container *cont = dynamic_cast<Container *>(*iter);
+ for (auto *item : _contents) {
+ item->setFlag(mask);
+ Container *cont = dynamic_cast<Container *>(item);
if (cont) cont->setFlagRecursively(mask);
}
}
@@ -240,10 +236,8 @@ uint32 Container::getTotalWeight() const {
weight = 300;
}
- Std::list<Item *>::const_iterator iter;
-
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- weight += (*iter)->getTotalWeight();
+ for (const auto *item : _contents) {
+ weight += item->getTotalWeight();
}
return weight;
@@ -258,10 +252,8 @@ uint32 Container::getCapacity() const {
uint32 Container::getContentVolume() const {
uint32 volume = 0;
- Std::list<Item *>::const_iterator iter;
-
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- volume += (*iter)->getVolume();
+ for (const auto *item : _contents) {
+ volume += item->getVolume();
}
return volume;
@@ -269,18 +261,17 @@ uint32 Container::getContentVolume() const {
void Container::containerSearch(UCList *itemlist, const uint8 *loopscript,
uint32 scriptsize, bool recurse) const {
- Std::list<Item *>::const_iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
+ for (auto *item : _contents) {
// check item against loopscript
- if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
+ if (item->checkLoopScript(loopscript, scriptsize)) {
assert(itemlist->getElementSize() == 2);
- uint16 oId = (*iter)->getObjId();
+ uint16 oId = item->getObjId();
itemlist->appenduint16(oId);
}
if (recurse) {
// recurse into child-containers
- Container *container = dynamic_cast<Container *>(*iter);
+ Container *container = dynamic_cast<Container *>(item);
if (container)
container->containerSearch(itemlist, loopscript,
scriptsize, recurse);
@@ -289,14 +280,13 @@ void Container::containerSearch(UCList *itemlist, const uint8 *loopscript,
}
Item *Container::getFirstItemWithShape(uint16 shapeno, bool recurse) {
- Std::list<Item *>::const_iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- if ((*iter)->getShape() == shapeno)
- return *iter;
+ for (auto *item : _contents) {
+ if (item->getShape() == shapeno)
+ return item;
if (recurse) {
// recurse into child-containers
- Container *container = dynamic_cast<Container *>(*iter);
+ Container *container = dynamic_cast<Container *>(item);
if (container) {
Item *result = container->getFirstItemWithShape(shapeno, recurse);
if (result)
@@ -309,14 +299,13 @@ Item *Container::getFirstItemWithShape(uint16 shapeno, bool recurse) {
}
void Container::getItemsWithShapeFamily(Std::vector<Item *> &itemlist, uint16 family, bool recurse) {
- Std::list<Item *>::const_iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- if ((*iter)->getShapeInfo()->_family == family)
- itemlist.push_back(*iter);
+ for (auto *item : _contents) {
+ if (item->getShapeInfo()->_family == family)
+ itemlist.push_back(item);
if (recurse) {
// recurse into child-containers
- Container *container = dynamic_cast<Container *>(*iter);
+ Container *container = dynamic_cast<Container *>(item);
if (container) {
container->getItemsWithShapeFamily(itemlist, family, recurse);
}
@@ -334,9 +323,8 @@ Common::String Container::dumpInfo() const {
void Container::saveData(Common::WriteStream *ws) {
Item::saveData(ws);
ws->writeUint32LE(static_cast<uint32>(_contents.size()));
- Std::list<Item *>::iterator iter;
- for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- ObjectManager::get_instance()->saveObject(ws, *iter);
+ for (auto *item : _contents) {
+ ObjectManager::get_instance()->saveObject(ws, item);
}
}
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 7eb08a42db5..e1516155d30 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -78,9 +78,8 @@ CurrentMap::~CurrentMap() {
void CurrentMap::clear() {
for (unsigned int i = 0; i < MAP_NUM_CHUNKS; i++) {
for (unsigned int j = 0; j < MAP_NUM_CHUNKS; j++) {
- item_list::iterator iter;
- for (iter = _items[i][j].begin(); iter != _items[i][j].end(); ++iter)
- delete *iter;
+ for (auto *item : _items[i][j])
+ delete item;
_items[i][j].clear();
}
memset(_fast[i], false, sizeof(uint32)*MAP_NUM_CHUNKS / 32);
@@ -118,10 +117,7 @@ void CurrentMap::writeback() {
for (unsigned int i = 0; i < MAP_NUM_CHUNKS; i++) {
for (unsigned int j = 0; j < MAP_NUM_CHUNKS; j++) {
- item_list::iterator iter;
- for (iter = _items[i][j].begin(); iter != _items[i][j].end(); ++iter) {
- Item *item = *iter;
-
+ for (auto *item : _items[i][j]) {
// item is being removed from the CurrentMap item lists
item->clearExtFlag(Item::EXT_INCURMAP);
@@ -161,10 +157,7 @@ void CurrentMap::writeback() {
}
void CurrentMap::loadItems(const Std::list<Item *> &itemlist, bool callCacheIn) {
- item_list::const_iterator iter;
- for (iter = itemlist.begin(); iter != itemlist.end(); ++iter) {
- Item *item = *iter;
-
+ for (auto *item : itemlist) {
item->assignObjId();
// No fast area for you!
@@ -245,10 +238,8 @@ void CurrentMap::addItem(Item *item) {
#ifdef VALIDATE_CHUNKS
for (int32 ccy = 0; ccy < MAP_NUM_CHUNKS; ccy++) {
for (int32 ccx = 0; ccx < MAP_NUM_CHUNKS; ccx++) {
- item_list::const_iterator iter;
- for (iter = _items[ccx][ccy].begin();
- iter != _items[ccx][ccy].end(); ++iter) {
- if (*iter == item) {
+ for (const auto *existing : _items[ccx][ccy])
+ if (existing == item) {
warning("item %d already exists in map chunk (%d, %d)", item->getObjId(), ccx, ccy);
}
}
@@ -282,10 +273,8 @@ void CurrentMap::addItemToEnd(Item *item) {
#ifdef VALIDATE_CHUNKS
for (int32 ccy = 0; ccy < MAP_NUM_CHUNKS; ccy++) {
for (int32 ccx = 0; ccx < MAP_NUM_CHUNKS; ccx++) {
- item_list::const_iterator iter;
- for (iter = _items[ccx][ccy].begin();
- iter != _items[ccx][ccy].end(); ++iter) {
- if (*iter == item) {
+ for (const auto *existing : _items[ccx][ccy])
+ if (existing == item) {
warning("item %d already exists in map chunk (%d, %d)", item->getObjId(), ccx, ccy);
}
}
@@ -517,10 +506,8 @@ void CurrentMap::updateFastArea(const Point3 &from, const Point3 &to) {
void CurrentMap::setChunkFast(int32 cx, int32 cy) {
_fast[cy][cx / 32] |= 1 << (cx & 31);
- item_list::iterator iter;
- for (iter = _items[cx][cy].begin();
- iter != _items[cx][cy].end(); ++iter) {
- (*iter)->enterFastArea();
+ for (auto *item : _items[cx][cy]) {
+ item->enterFastArea();
}
}
@@ -592,12 +579,7 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
//
for (int cy = miny; cy <= maxy; cy++) {
for (int cx = minx; cx <= maxx; cx++) {
- item_list::const_iterator iter;
- for (iter = _items[cx][cy].begin();
- iter != _items[cx][cy].end(); ++iter) {
-
- const Item *item = *iter;
-
+ for (const auto *item : _items[cx][cy]) {
if (item->hasExtFlags(Item::EXT_SPRITE))
continue;
@@ -639,12 +621,7 @@ void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
for (int cy = miny; cy <= maxy; cy++) {
for (int cx = minx; cx <= maxx; cx++) {
- item_list::const_iterator iter;
- for (iter = _items[cx][cy].begin();
- iter != _items[cx][cy].end(); ++iter) {
-
- const Item *item = *iter;
-
+ for (const auto *item : _items[cx][cy]) {
if (item->getObjId() == check->getObjId())
continue;
if (item->hasExtFlags(Item::EXT_SPRITE))
@@ -685,10 +662,8 @@ void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
TeleportEgg *CurrentMap::findDestination(uint16 id) {
for (unsigned int i = 0; i < MAP_NUM_CHUNKS; i++) {
for (unsigned int j = 0; j < MAP_NUM_CHUNKS; j++) {
- item_list::iterator iter;
- for (iter = _items[i][j].begin();
- iter != _items[i][j].end(); ++iter) {
- TeleportEgg *egg = dynamic_cast<TeleportEgg *>(*iter);
+ for (auto *item : _items[i][j]) {
+ TeleportEgg *egg = dynamic_cast<TeleportEgg *>(item);
if (egg) {
if (!egg->isTeleporter() && egg->getTeleportId() == id)
return egg;
@@ -738,10 +713,7 @@ PositionInfo CurrentMap::getPositionInfo(const Box &target, const Box &start, ui
for (int cx = minx; cx <= maxx; cx++) {
for (int cy = miny; cy <= maxy; cy++) {
- item_list::const_iterator iter;
- for (iter = _items[cx][cy].begin();
- iter != _items[cx][cy].end(); ++iter) {
- const Item *item = *iter;
+ for (const auto *item : _items[cx][cy]) {
if (item->getObjId() == id)
continue;
if (item->hasExtFlags(Item::EXT_SPRITE))
@@ -852,9 +824,7 @@ bool CurrentMap::scanForValidPosition(int32 x, int32 y, int32 z, const Item *ite
for (int cx = minx; cx <= maxx; cx++) {
for (int cy = miny; cy <= maxy; cy++) {
- for (item_list::const_iterator iter = _items[cx][cy].begin();
- iter != _items[cx][cy].end(); ++iter) {
- const Item *citem = *iter;
+ for (const auto *citem : _items[cx][cy]) {
if (citem->getObjId() == item->getObjId())
continue;
if (citem->hasExtFlags(Item::EXT_SPRITE))
@@ -1036,10 +1006,7 @@ bool CurrentMap::sweepTest(const Point3 &start, const Point3 &end,
for (int cx = minx; cx <= maxx; cx++) {
for (int cy = miny; cy <= maxy; cy++) {
- item_list::const_iterator iter;
- for (iter = _items[cx][cy].begin();
- iter != _items[cx][cy].end(); ++iter) {
- const Item *other_item = *iter;
+ for (const auto *other_item : _items[cx][cy]) {
if (other_item->getObjId() == item)
continue;
if (other_item->hasExtFlags(Item::EXT_SPRITE))
diff --git a/engines/ultima/ultima8/world/glob_egg.cpp b/engines/ultima/ultima8/world/glob_egg.cpp
index 576db896fbf..65faaa13189 100644
--- a/engines/ultima/ultima8/world/glob_egg.cpp
+++ b/engines/ultima/ultima8/world/glob_egg.cpp
@@ -55,8 +55,7 @@ uint32 GlobEgg::enterFastArea() {
if (!glob) return 0;
Std::vector<GlobItem>::const_iterator iter;
- for (iter = glob->_contents.begin(); iter != glob->_contents.end(); ++iter) {
- const GlobItem &globitem = *iter;
+ for (const auto &globitem : glob->_contents) {
Item *item = ItemFactory::createItem(globitem.shape, globitem.frame,
0,
FLG_DISPOSABLE | FLG_FAST_ONLY,
diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index 5fe2f733b33..cb5e5870335 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -754,17 +754,13 @@ int Item::getRangeIfVisible(const Item &item2) const {
map->sweepTest(start, end, dims, getShapeInfo()->_flags, _objId, true, &hitItems);
- if (hitItems.size() > 0) {
- for (Std::list<CurrentMap::SweepItem>::const_iterator it = hitItems.begin();
- it != hitItems.end();
- it++) {
- int objId = it->_item;
- if (it->_blocking && objId != _objId && objId != item2.getObjId()) {
- //int out[3];
- //it->GetInterpolatedCoords(out, start, end);
- //warning("found blocking item %d at %d %d %d.", objId, out[0], out[1], out[2]);
- return 0;
- }
+ for (const auto &hit : hitItems) {
+ int objId = hit._item;
+ if (hit._blocking && objId != _objId && objId != item2.getObjId()) {
+ //int out[3];
+ //hit.GetInterpolatedCoords(out, start, end);
+ //warning("found blocking item %d at %d %d %d.", objId, out[0], out[1], out[2]);
+ return 0;
}
}
@@ -1066,7 +1062,6 @@ int32 Item::collideMove(int32 dx, int32 dy, int32 dz, bool teleport, bool force,
// Do the sweep test
Std::list<CurrentMap::SweepItem> collisions;
- Std::list<CurrentMap::SweepItem>::iterator it;
map->sweepTest(start, end, dims, getShapeInfo()->_flags, _objId, false, &collisions);
// Ok, now to work out what to do
@@ -1085,11 +1080,13 @@ int32 Item::collideMove(int32 dx, int32 dy, int32 dz, bool teleport, bool force,
if (teleport || _parent) {
// If teleporting and not force, work out if we can reach the end
if (!force) {
- for (it = collisions.begin(); it != collisions.end(); it++) {
+ for (const auto &collision : collisions) {
// Uh oh, we hit something, can't move
- if (it->_endTime == 0x4000 && !it->_touching && it->_blocking) {
- if (hititem) *hititem = it->_item;
- if (dirs) *dirs = it->_dirs;
+ if (collision._endTime == 0x4000 && !collision._touching && collision._blocking) {
+ if (hititem)
+ *hititem = collision._item;
+ if (dirs)
+ *dirs = collision._dirs;
return 0;
}
}
@@ -1097,18 +1094,18 @@ int32 Item::collideMove(int32 dx, int32 dy, int32 dz, bool teleport, bool force,
// Trigger all the required events
bool we_were_released = false;
- for (it = collisions.begin(); it != collisions.end(); it++) {
- Item *item = getItem(it->_item);
+ for (const auto &collision : collisions) {
+ Item *item = getItem(collision._item);
if (!item)
continue; // shouldn't happen..
// Hitting us at the start and end, don't do anything
- if (!_parent && it->_hitTime == 0x0000 &&
- it->_endTime == 0x4000) {
+ if (!_parent && collision._hitTime == 0x0000 &&
+ collision._endTime == 0x4000) {
continue;
}
// Hitting us at the end (call hit on us, got hit on them)
- else if (it->_endTime == 0x4000) {
+ else if (collision._endTime == 0x4000) {
if (_objId == kMainActorId && guiapp->isShowTouchingItems())
item->setExtFlag(Item::EXT_HIGHLIGHT);
@@ -1116,7 +1113,7 @@ int32 Item::collideMove(int32 dx, int32 dy, int32 dz, bool teleport, bool force,
callUsecodeEvent_hit(item->getObjId(), hitforce);
}
// Hitting us at the start (call release on us and them)
- else if (!_parent && it->_hitTime == 0x0000) {
+ else if (!_parent && collision._hitTime == 0x0000) {
if (_objId == kMainActorId)
item->clearExtFlag(Item::EXT_HIGHLIGHT);
we_were_released = true;
@@ -1139,15 +1136,19 @@ int32 Item::collideMove(int32 dx, int32 dy, int32 dz, bool teleport, bool force,
// if not, need to do 'stuff'
// We don't care about items hitting us at the start
if (!force) {
+ Std::list<CurrentMap::SweepItem>::iterator it;
for (it = collisions.begin(); it != collisions.end(); it++) {
if (it->_blocking && !it->_touching) {
- if (hititem) *hititem = it->_item;
- if (dirs) *dirs = it->_dirs;
+ if (hititem)
+ *hititem = it->_item;
+ if (dirs)
+ *dirs = it->_dirs;
hit = it->_hitTime;
break;
}
}
- if (hit < 0) hit = 0;
+ if (hit < 0)
+ hit = 0;
if (hit != 0x4000) {
debugC(kDebugCollision, "Hit time: %d; Start: %d, %d, %d; End: %d, %d, %d",
@@ -1161,12 +1162,12 @@ int32 Item::collideMove(int32 dx, int32 dy, int32 dz, bool teleport, bool force,
// Trigger all the required events
bool we_were_released = false;
- for (it = collisions.begin(); it != collisions.end(); it++) {
- Item *item = getItem(it->_item);
+ for (const auto &collision : collisions) {
+ Item *item = getItem(collision._item);
if (!item) continue;
// Did we go past the endpoint of the move?
- if (it->_hitTime > hit) break;
+ if (collision._hitTime > hit) break;
uint16 proc_gothit = 0, proc_rel = 0;
@@ -1174,8 +1175,8 @@ int32 Item::collideMove(int32 dx, int32 dy, int32 dz, bool teleport, bool force,
// called gotHit and hit. In Crusader we call
// hit for every hitting frame to make sickbays
// and teleporters work.
- bool call_hit = it->_hitTime >= 0 || GAME_IS_CRUSADER;
- if ((!it->_touching || it->_touchingFloor) && call_hit) {
+ bool call_hit = collision._hitTime >= 0 || GAME_IS_CRUSADER;
+ if ((!collision._touching || collision._touchingFloor) && call_hit) {
if (_objId == kMainActorId && guiapp->isShowTouchingItems())
item->setExtFlag(Item::EXT_HIGHLIGHT);
@@ -1184,7 +1185,7 @@ int32 Item::collideMove(int32 dx, int32 dy, int32 dz, bool teleport, bool force,
}
// If not hitting at end, we will need to call release
- if (it->_endTime < hit) {
+ if (collision._endTime < hit) {
if (_objId == kMainActorId)
item->clearExtFlag(Item::EXT_HIGHLIGHT);
we_were_released = true;
@@ -1455,17 +1456,16 @@ uint16 Item::fireDistance(const Item *other, Direction dir, int16 xoff, int16 yo
const int32 dims[3] = {2, 2, 2};
Std::list<CurrentMap::SweepItem> collisions;
- Std::list<CurrentMap::SweepItem>::iterator it;
cm->sweepTest(start, end, dims, ShapeInfo::SI_SOLID,
_objId, true, &collisions);
- for (it = collisions.begin(); it != collisions.end(); it++) {
- if (it->_item == getObjId())
+ for (const auto &collision : collisions) {
+ if (collision._item == getObjId())
continue;
- if (it->_touching)
+ if (collision._touching)
continue;
- if (it->_item != other->getObjId())
+ if (collision._item != other->getObjId())
break;
- Point3 out = it->GetInterpolatedCoords(start, end);
+ Point3 out = collision.GetInterpolatedCoords(start, end);
dist = MAX(abs(_x - out.x), abs(_y - out.y));
break;
}
@@ -2414,23 +2414,24 @@ int Item::getThrowRange() const {
static bool checkLineOfSightCollisions(
const Std::list<CurrentMap::SweepItem> &collisions,
bool usingAlternatePos, ObjId item, ObjId other) {
- Std::list<CurrentMap::SweepItem>::const_iterator it;
int32 other_hit_time = 0x4000;
int32 blocked_time = 0x4000;
- for (it = collisions.begin(); it != collisions.end(); it++) {
+ for (const auto &collision : collisions) {
// ignore self and other
- if (it->_item == item) continue;
- if (it->_item == other && !usingAlternatePos) {
- other_hit_time = it->_hitTime;
+ if (collision._item == item)
+ continue;
+ if (collision._item == other && !usingAlternatePos) {
+ other_hit_time = collision._hitTime;
continue;
}
// only touching?
- if (it->_touching) continue;
+ if (collision._touching)
+ continue;
// hit something
- if (it->_blocking && it->_hitTime < blocked_time) {
- blocked_time = it->_hitTime;
+ if (collision._blocking && collision._hitTime < blocked_time) {
+ blocked_time = collision._hitTime;
}
}
@@ -3629,9 +3630,8 @@ uint32 Item::I_legalMoveToPoint(const uint8 *args, unsigned int argsize) {
CurrentMap *map = World::get_instance()->getCurrentMap();
map->sweepTest(start, end, dims, item->getShapeInfo()->_flags,
item->getObjId(), true, &collisions);
- for (Std::list<CurrentMap::SweepItem>::iterator it = collisions.begin();
- it != collisions.end(); it++) {
- if (it->_blocking && !it->_touching && it->_endTime > 0) {
+ for (const auto &collision : collisions) {
+ if (collision._blocking && !collision._touching && collision._endTime > 0) {
if (abort_if_blocked)
return 0;
retval = 0;
diff --git a/engines/ultima/ultima8/world/item_selection_process.cpp b/engines/ultima/ultima8/world/item_selection_process.cpp
index 7a9b030a4b6..9bf8bac4883 100644
--- a/engines/ultima/ultima8/world/item_selection_process.cpp
+++ b/engines/ultima/ultima8/world/item_selection_process.cpp
@@ -130,10 +130,8 @@ bool ItemSelectionProcess::selectNextItem(bool grab) {
if (_selectedItem) {
// Pick the next item
int offset = 0;
- for (Std::vector<Item *>::const_iterator iter = candidates.begin();
- iter != candidates.end();
- offset++, iter++) {
- ObjId num = (*iter)->getObjId();
+ for (const auto *c : candidates) {
+ ObjId num = c->getObjId();
if (_selectedItem == num) {
offset++;
break;
diff --git a/engines/ultima/ultima8/world/item_sorter.cpp b/engines/ultima/ultima8/world/item_sorter.cpp
index 45fbbd9e30e..2ebc71a6327 100644
--- a/engines/ultima/ultima8/world/item_sorter.cpp
+++ b/engines/ultima/ultima8/world/item_sorter.cpp
@@ -408,21 +408,18 @@ bool ItemSorter::PaintSortItem(RenderSurface *surf, SortItem *si, bool showFootp
si->_order = -2;
// Iterate through our dependancies, and paint them, if possible
- SortItem::DependsList::iterator it = si->_depends.begin();
- SortItem::DependsList::iterator end = si->_depends.end();
- while (it != end) {
- if ((*it)->_order == -2) {
+ for (auto *d : si->_depends) {
+ if (d->_order == -2) {
if (!_sortLimit) {
debugC(kDebugObject, "Cycle in paint dependency graph %d -> %d -> ... -> %d",
- si->_shapeNum, (*it)->_shapeNum, si->_shapeNum);
+ si->_shapeNum, d->_shapeNum, si->_shapeNum);
}
break;
}
- else if ((*it)->_order == -1) {
- if (PaintSortItem(surf, *it, showFootpad))
+ else if (d->_order == -1) {
+ if (PaintSortItem(surf, d, showFootpad))
return true;
}
- ++it;
}
// Now paint us!
diff --git a/engines/ultima/ultima8/world/map.cpp b/engines/ultima/ultima8/world/map.cpp
index f54f4047469..43a12e66a26 100644
--- a/engines/ultima/ultima8/world/map.cpp
+++ b/engines/ultima/ultima8/world/map.cpp
@@ -45,15 +45,13 @@ Map::~Map() {
}
void Map::clear() {
- Std::list<Item *>::iterator iter;
-
- for (iter = _fixedItems.begin(); iter != _fixedItems.end(); ++iter) {
- delete *iter;
+ for (auto *item : _fixedItems) {
+ delete item;
}
_fixedItems.clear();
- for (iter = _dynamicItems.begin(); iter != _dynamicItems.end(); ++iter) {
- delete *iter;
+ for (auto *item : _dynamicItems) {
+ delete item;
}
_dynamicItems.clear();
}
@@ -141,15 +139,13 @@ void Map::loadFixed(Common::SeekableReadStream *rs) {
if (GAME_IS_U8 && _mapNum == 49) {
// Map 49 has some water tiles at the wrong z
- Std::list<Item *>::iterator iter;
-
- for (iter = _fixedItems.begin(); iter != _fixedItems.end(); ++iter) {
- if ((*iter)->getShape() == 347 && (*iter)->getZ() == 96) {
- Point3 pt = (*iter)->getLocation();
+ for (auto *item : _fixedItems) {
+ if (item->getShape() == 347 && item->getZ() == 96) {
+ Point3 pt = item->getLocation();
if ((pt.x == 23007 && pt.y == 21343) || (pt.x == 23135 && pt.y == 21471) ||
(pt.x == 23135 && pt.y == 21343)) {
shiftCoordsToZ(pt.x, pt.y, pt.z, 40);
- (*iter)->setLocation(pt);
+ item->setLocation(pt);
}
}
}
@@ -157,16 +153,14 @@ void Map::loadFixed(Common::SeekableReadStream *rs) {
if (GAME_IS_U8 && _mapNum == 21) {
// Map 21 has some ground and wall tiles at the wrong z
- Std::list<Item *>::iterator iter;
-
- for (iter = _fixedItems.begin(); iter != _fixedItems.end(); ++iter) {
- int32 z = (*iter)->getZ();
- uint32 sh = (*iter)->getShape();
+ for (auto *item : _fixedItems) {
+ int32 z = item->getZ();
+ uint32 sh = item->getShape();
if (z == 8 && (sh == 301 || sh == 31 || sh == 32)) {
- Point3 pt = (*iter)->getLocation();
+ Point3 pt = item->getLocation();
if ((pt.x == 6783 || pt.x == 6655) && (pt.y == 15743 || pt.y == 15615)) {
shiftCoordsToZ(pt.x, pt.y, pt.z, 16);
- (*iter)->setLocation(pt);
+ item->setLocation(pt);
}
}
}
@@ -174,17 +168,15 @@ void Map::loadFixed(Common::SeekableReadStream *rs) {
if (GAME_IS_U8 && _mapNum == 5) {
// Map 5 has some ground tiles at the wrong z
- Std::list<Item *>::iterator iter;
-
- for (iter = _fixedItems.begin(); iter != _fixedItems.end(); ++iter) {
- if ((*iter)->getShape() == 71 && (*iter)->getFrame() == 8 && (*iter)->getZ() == 0) {
- Point3 pt = (*iter)->getLocation();
+ for (auto *item : _fixedItems) {
+ if (item->getShape() == 71 && item->getFrame() == 8 && item->getZ() == 0) {
+ Point3 pt = item->getLocation();
if ((pt.x == 9151 && pt.y == 24127) || (pt.x == 9279 && pt.y == 23999) ||
(pt.x == 9535 && pt.y == 23615) || (pt.x == 9151 && pt.y == 23487) ||
(pt.x == 10303 && pt.y == 23487) || (pt.x == 9919 && pt.y == 23487) ||
(pt.x == 10559 && pt.y == 23487)) {
shiftCoordsToZ(pt.x, pt.y, pt.z, 48);
- (*iter)->setLocation(pt);
+ item->setLocation(pt);
}
}
}
@@ -193,10 +185,8 @@ void Map::loadFixed(Common::SeekableReadStream *rs) {
}
void Map::unloadFixed() {
- Std::list<Item *>::iterator iter;
-
- for (iter = _fixedItems.begin(); iter != _fixedItems.end(); ++iter) {
- delete *iter;
+ for (auto *item : _fixedItems) {
+ delete item;
}
_fixedItems.clear();
}
@@ -277,9 +267,8 @@ void Map::loadFixedFormatObjects(Std::list<Item *> &itemlist,
void Map::save(Common::WriteStream *ws) {
ws->writeUint32LE(static_cast<uint32>(_dynamicItems.size()));
- Std::list<Item *>::iterator iter;
- for (iter = _dynamicItems.begin(); iter != _dynamicItems.end(); ++iter) {
- ObjectManager::get_instance()->saveObject(ws, *iter);
+ for (auto *item : _dynamicItems) {
+ ObjectManager::get_instance()->saveObject(ws, item);
}
}
diff --git a/engines/ultima/ultima8/world/minimap.cpp b/engines/ultima/ultima8/world/minimap.cpp
index c293b793db7..99d3e047634 100644
--- a/engines/ultima/ultima8/world/minimap.cpp
+++ b/engines/ultima/ultima8/world/minimap.cpp
@@ -93,9 +93,8 @@ uint32 MiniMap::sampleAtPoint(const CurrentMap &map, int x, int y) {
uint32 shflags = ShapeInfo::SI_ROOF | ShapeInfo::SI_OCCL | ShapeInfo::SI_LAND | ShapeInfo::SI_SEA;
Std::list<CurrentMap::SweepItem> collisions;
if (map.sweepTest(start, end, dims, shflags, 0, false, &collisions)) {
- Std::list<CurrentMap::SweepItem>::const_iterator it;
- for (it = collisions.begin(); it != collisions.end(); it++) {
- const Item *item = getItem(it->_item);
+ for (const auto &collision : collisions) {
+ const Item *item = getItem(collision._item);
if (item) {
const ShapeInfo *si = item->getShapeInfo();
if (!(si->_flags & shflags) || si->is_editor() || si->is_translucent())
diff --git a/engines/ultima/ultima8/world/missile_tracker.cpp b/engines/ultima/ultima8/world/missile_tracker.cpp
index 9a0503affa0..0ebd76df919 100644
--- a/engines/ultima/ultima8/world/missile_tracker.cpp
+++ b/engines/ultima/ultima8/world/missile_tracker.cpp
@@ -147,14 +147,13 @@ bool MissileTracker::isPathClear() const {
// Do the sweep test
Std::list<CurrentMap::SweepItem> collisions;
- Std::list<CurrentMap::SweepItem>::iterator it;
map->sweepTest(start, end, dims, item->getShapeInfo()->_flags, _objId,
false, &collisions);
int32 hit = 0x4000;
- for (it = collisions.begin(); it != collisions.end(); it++) {
- if (it->_blocking && !it->_touching && it->_item != _owner) {
- hit = it->_hitTime;
+ for (const auto &collision : collisions) {
+ if (collision._blocking && !collision._touching && collision._item != _owner) {
+ hit = collision._hitTime;
break;
}
}
diff --git a/engines/ultima/ultima8/world/snap_process.cpp b/engines/ultima/ultima8/world/snap_process.cpp
index f3de73dccf9..b18fe94919c 100644
--- a/engines/ultima/ultima8/world/snap_process.cpp
+++ b/engines/ultima/ultima8/world/snap_process.cpp
@@ -73,9 +73,8 @@ void SnapProcess::run() {
void SnapProcess::addEgg(Item *item) {
assert(item);
ObjId id = item->getObjId();
- for (Std::list<ObjId>::const_iterator iter = _snapEggs.begin();
- iter != _snapEggs.end(); iter++) {
- if (*iter == id)
+ for (const auto &eggId : _snapEggs) {
+ if (eggId == id)
return;
}
_snapEggs.push_back(id);
@@ -96,16 +95,15 @@ void SnapProcess::updateCurrentEgg() {
a->getFootpadWorld(axd, ayd, azd);
Rect arect(pta.x, pta.y, pta.x + axd, pta.y + ayd);
- for (Std::list<ObjId>::const_iterator iter = _snapEggs.begin();
- iter != _snapEggs.end(); iter++) {
- const Item *egg = getItem(*iter);
+ for (const auto &eggId : _snapEggs) {
+ const Item *egg = getItem(eggId);
if (!egg)
continue;
Rect r;
Point3 pte = egg->getLocation();
getSnapEggRange(egg, r);
if (r.intersects(arect) && (pta.z <= pte.z + 0x30 && pta.z >= pte.z - 0x30)) {
- _currentSnapEgg = *iter;
+ _currentSnapEgg = eggId;
_currentSnapEggRange = r;
CameraProcess::SetCameraProcess(new CameraProcess(_currentSnapEgg));
}
@@ -181,9 +179,8 @@ void SnapProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_currentSnapEgg);
ws->writeUint16LE(_snapEggs.size());
- for (Std::list<ObjId>::const_iterator iter = _snapEggs.begin();
- iter != _snapEggs.end(); iter++) {
- ws->writeUint16LE(*iter);
+ for (const auto &eggId : _snapEggs) {
+ ws->writeUint16LE(eggId);
}
}
More information about the Scummvm-git-logs
mailing list