client.cpp: modernize code

* Range based for loops
* Empty operator on stl containers
This commit is contained in:
Loic Blot 2017-08-16 08:53:52 +02:00
parent 90dfafcda2
commit 816bca32ac
No known key found for this signature in database
GPG Key ID: EFAA458E8C153987
2 changed files with 47 additions and 74 deletions

@ -144,9 +144,9 @@ void Client::scanModSubfolder(const std::string &mod_name, const std::string &mo
{ {
std::string full_path = mod_path + DIR_DELIM + mod_subpath; std::string full_path = mod_path + DIR_DELIM + mod_subpath;
std::vector<fs::DirListNode> mod = fs::GetDirListing(full_path); std::vector<fs::DirListNode> mod = fs::GetDirListing(full_path);
for (unsigned int j=0; j < mod.size(); j++){ for (const fs::DirListNode &j : mod) {
std::string filename = mod[j].name; std::string filename = j.name;
if (mod[j].dir) { if (j.dir) {
scanModSubfolder(mod_name, mod_path, mod_subpath scanModSubfolder(mod_name, mod_path, mod_subpath
+ filename + DIR_DELIM); + filename + DIR_DELIM);
continue; continue;
@ -230,10 +230,8 @@ Client::~Client()
delete m_inventory_from_server; delete m_inventory_from_server;
// Delete detached inventories // Delete detached inventories
for (std::unordered_map<std::string, Inventory*>::iterator for (auto &m_detached_inventorie : m_detached_inventories) {
i = m_detached_inventories.begin(); delete m_detached_inventorie.second;
i != m_detached_inventories.end(); ++i) {
delete i->second;
} }
// cleanup 3d model meshes on client shutdown // cleanup 3d model meshes on client shutdown
@ -556,15 +554,13 @@ void Client::step(float dtime)
Update positions of sounds attached to objects Update positions of sounds attached to objects
*/ */
{ {
for(std::unordered_map<int, u16>::iterator i = m_sounds_to_objects.begin(); for (auto &m_sounds_to_object : m_sounds_to_objects) {
i != m_sounds_to_objects.end(); ++i) { int client_id = m_sounds_to_object.first;
int client_id = i->first; u16 object_id = m_sounds_to_object.second;
u16 object_id = i->second;
ClientActiveObject *cao = m_env.getActiveObject(object_id); ClientActiveObject *cao = m_env.getActiveObject(object_id);
if(!cao) if (!cao)
continue; continue;
v3f pos = cao->getPosition(); m_sound->updateSoundPosition(client_id, cao->getPosition());
m_sound->updateSoundPosition(client_id, pos);
} }
} }
@ -628,8 +624,7 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)
NULL NULL
}; };
name = removeStringEnd(filename, image_ext); name = removeStringEnd(filename, image_ext);
if(name != "") if (!name.empty()) {
{
verbosestream<<"Client: Attempting to load image " verbosestream<<"Client: Attempting to load image "
<<"file \""<<filename<<"\""<<std::endl; <<"file \""<<filename<<"\""<<std::endl;
@ -644,18 +639,17 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)
// Read image // Read image
video::IImage *img = vdrv->createImageFromFile(rfile); video::IImage *img = vdrv->createImageFromFile(rfile);
if(!img){ if (!img) {
errorstream<<"Client: Cannot create image from data of " errorstream<<"Client: Cannot create image from data of "
<<"file \""<<filename<<"\""<<std::endl; <<"file \""<<filename<<"\""<<std::endl;
rfile->drop(); rfile->drop();
return false; return false;
} }
else {
m_tsrc->insertSourceImage(filename, img); m_tsrc->insertSourceImage(filename, img);
img->drop(); img->drop();
rfile->drop(); rfile->drop();
return true; return true;
}
} }
const char *sound_ext[] = { const char *sound_ext[] = {
@ -664,8 +658,7 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)
".ogg", NULL ".ogg", NULL
}; };
name = removeStringEnd(filename, sound_ext); name = removeStringEnd(filename, sound_ext);
if(name != "") if (!name.empty()) {
{
verbosestream<<"Client: Attempting to load sound " verbosestream<<"Client: Attempting to load sound "
<<"file \""<<filename<<"\""<<std::endl; <<"file \""<<filename<<"\""<<std::endl;
m_sound->loadSoundData(name, data); m_sound->loadSoundData(name, data);
@ -676,9 +669,9 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)
".x", ".b3d", ".md2", ".obj", ".x", ".b3d", ".md2", ".obj",
NULL NULL
}; };
name = removeStringEnd(filename, model_ext); name = removeStringEnd(filename, model_ext);
if(name != "") if (!name.empty()) {
{
verbosestream<<"Client: Storing model into memory: " verbosestream<<"Client: Storing model into memory: "
<<"\""<<filename<<"\""<<std::endl; <<"\""<<filename<<"\""<<std::endl;
if(m_mesh_data.count(filename)) if(m_mesh_data.count(filename))
@ -732,9 +725,8 @@ void Client::request_media(const std::vector<std::string> &file_requests)
pkt << (u16) (file_requests_size & 0xFFFF); pkt << (u16) (file_requests_size & 0xFFFF);
for(std::vector<std::string>::const_iterator i = file_requests.begin(); for (const std::string &file_request : file_requests) {
i != file_requests.end(); ++i) { pkt << file_request;
pkt << (*i);
} }
Send(&pkt); Send(&pkt);
@ -1020,7 +1012,7 @@ void Client::startAuth(AuthMechanism chosen_auth_mechanism)
&verifier, &salt); &verifier, &salt);
NetworkPacket resp_pkt(TOSERVER_FIRST_SRP, 0); NetworkPacket resp_pkt(TOSERVER_FIRST_SRP, 0);
resp_pkt << salt << verifier << (u8)((m_password == "") ? 1 : 0); resp_pkt << salt << verifier << (u8)((m_password.empty()) ? 1 : 0);
Send(&resp_pkt); Send(&resp_pkt);
break; break;
@ -1062,12 +1054,8 @@ void Client::sendDeletedBlocks(std::vector<v3s16> &blocks)
pkt << (u8) blocks.size(); pkt << (u8) blocks.size();
u32 k = 0; for (const v3s16 &block : blocks) {
for(std::vector<v3s16>::iterator pkt << block;
j = blocks.begin();
j != blocks.end(); ++j) {
pkt << *j;
k++;
} }
Send(&pkt); Send(&pkt);
@ -1089,9 +1077,8 @@ void Client::sendRemovedSounds(std::vector<s32> &soundList)
pkt << (u16) (server_ids & 0xFFFF); pkt << (u16) (server_ids & 0xFFFF);
for(std::vector<s32>::iterator i = soundList.begin(); for (int sound_id : soundList)
i != soundList.end(); ++i) pkt << sound_id;
pkt << *i;
Send(&pkt); Send(&pkt);
} }
@ -1354,10 +1341,8 @@ void Client::removeNode(v3s16 p)
catch(InvalidPositionException &e) { catch(InvalidPositionException &e) {
} }
for(std::map<v3s16, MapBlock *>::iterator for (const auto &modified_block : modified_blocks) {
i = modified_blocks.begin(); addUpdateMeshTaskWithEdge(modified_block.first, false, true);
i != modified_blocks.end(); ++i) {
addUpdateMeshTaskWithEdge(i->first, false, true);
} }
} }
@ -1374,7 +1359,7 @@ MapNode Client::getNode(v3s16 p, bool *is_valid_position)
v3s16 ppos = floatToInt(m_env.getLocalPlayer()->getPosition(), BS); v3s16 ppos = floatToInt(m_env.getLocalPlayer()->getPosition(), BS);
if ((u32) ppos.getDistanceFrom(p) > m_csm_noderange_limit) { if ((u32) ppos.getDistanceFrom(p) > m_csm_noderange_limit) {
*is_valid_position = false; *is_valid_position = false;
return MapNode(); return {};
} }
} }
return m_env.getMap().getNodeNoEx(p, is_valid_position); return m_env.getMap().getNodeNoEx(p, is_valid_position);
@ -1393,10 +1378,8 @@ void Client::addNode(v3s16 p, MapNode n, bool remove_metadata)
catch(InvalidPositionException &e) { catch(InvalidPositionException &e) {
} }
for(std::map<v3s16, MapBlock *>::iterator for (const auto &modified_block : modified_blocks) {
i = modified_blocks.begin(); addUpdateMeshTaskWithEdge(modified_block.first, false, true);
i != modified_blocks.end(); ++i) {
addUpdateMeshTaskWithEdge(i->first, false, true);
} }
} }
@ -1567,7 +1550,7 @@ bool Client::getChatMessage(std::wstring &res)
void Client::typeChatMessage(const std::wstring &message) void Client::typeChatMessage(const std::wstring &message)
{ {
// Discard empty line // Discard empty line
if(message == L"") if (message.empty())
return; return;
// If message was ate by script API, don't send it to server // If message was ate by script API, don't send it to server
@ -1677,8 +1660,8 @@ float Client::mediaReceiveProgress()
{ {
if (m_media_downloader) if (m_media_downloader)
return m_media_downloader->getProgress(); return m_media_downloader->getProgress();
else
return 1.0; // downloader only exists when not yet done return 1.0; // downloader only exists when not yet done
} }
typedef struct TextureUpdateArgs { typedef struct TextureUpdateArgs {
@ -1746,7 +1729,7 @@ void Client::afterContentReceived()
RenderingEngine::draw_load_screen(text, guienv, m_tsrc, 0, 72); RenderingEngine::draw_load_screen(text, guienv, m_tsrc, 0, 72);
m_nodedef->updateAliases(m_itemdef); m_nodedef->updateAliases(m_itemdef);
std::string texture_path = g_settings->get("texture_path"); std::string texture_path = g_settings->get("texture_path");
if (texture_path != "" && fs::IsDir(texture_path)) if (!texture_path.empty() && fs::IsDir(texture_path))
m_nodedef->applyTextureOverrides(texture_path + DIR_DELIM + "override.txt"); m_nodedef->applyTextureOverrides(texture_path + DIR_DELIM + "override.txt");
m_nodedef->setNodeRegistrationStatus(true); m_nodedef->setNodeRegistrationStatus(true);
m_nodedef->runNodeResolveCallbacks(); m_nodedef->runNodeResolveCallbacks();

@ -204,9 +204,7 @@ struct ClientEvent
class PacketCounter class PacketCounter
{ {
public: public:
PacketCounter() PacketCounter() = default;
{
}
void add(u16 command) void add(u16 command)
{ {
@ -223,23 +221,15 @@ public:
void clear() void clear()
{ {
for(std::map<u16, u16>::iterator for (auto &m_packet : m_packets) {
i = m_packets.begin(); m_packet.second = 0;
i != m_packets.end(); ++i)
{
i->second = 0;
} }
} }
void print(std::ostream &o) void print(std::ostream &o)
{ {
for(std::map<u16, u16>::iterator for (const auto &m_packet : m_packets) {
i = m_packets.begin(); o << "cmd "<< m_packet.first <<" count "<< m_packet.second << std::endl;
i != m_packets.end(); ++i)
{
o<<"cmd "<<i->first
<<" count "<<i->second
<<std::endl;
} }
} }
@ -544,12 +534,12 @@ public:
m_client_event_queue.push(event); m_client_event_queue.push(event);
} }
void showGameChat(const bool show = true); void showGameChat(bool show = true);
void showGameHud(const bool show = true); void showGameHud(bool show = true);
void showMinimap(const bool show = true); void showMinimap(bool show = true);
void showProfiler(const bool show = true); void showProfiler(bool show = true);
void showGameFog(const bool show = true); void showGameFog(bool show = true);
void showGameDebug(const bool show = true); void showGameDebug(bool show = true);
const Address getServerAddress() const Address getServerAddress()
{ {