Skip to content

Commit

Permalink
client.cpp: modernize code
Browse files Browse the repository at this point in the history
* Range based for loops
* Empty operator on stl containers
  • Loading branch information
nerzhul committed Aug 16, 2017
1 parent 90dfafc commit 816bca3
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 74 deletions.
89 changes: 36 additions & 53 deletions src/client.cpp
Expand Up @@ -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::vector<fs::DirListNode> mod = fs::GetDirListing(full_path);
for (unsigned int j=0; j < mod.size(); j++){
std::string filename = mod[j].name;
if (mod[j].dir) {
for (const fs::DirListNode &j : mod) {
std::string filename = j.name;
if (j.dir) {
scanModSubfolder(mod_name, mod_path, mod_subpath
+ filename + DIR_DELIM);
continue;
Expand Down Expand Up @@ -230,10 +230,8 @@ Client::~Client()
delete m_inventory_from_server;

// Delete detached inventories
for (std::unordered_map<std::string, Inventory*>::iterator
i = m_detached_inventories.begin();
i != m_detached_inventories.end(); ++i) {
delete i->second;
for (auto &m_detached_inventorie : m_detached_inventories) {
delete m_detached_inventorie.second;
}

// cleanup 3d model meshes on client shutdown
Expand Down Expand Up @@ -556,15 +554,13 @@ void Client::step(float dtime)
Update positions of sounds attached to objects
*/
{
for(std::unordered_map<int, u16>::iterator i = m_sounds_to_objects.begin();
i != m_sounds_to_objects.end(); ++i) {
int client_id = i->first;
u16 object_id = i->second;
for (auto &m_sounds_to_object : m_sounds_to_objects) {
int client_id = m_sounds_to_object.first;
u16 object_id = m_sounds_to_object.second;
ClientActiveObject *cao = m_env.getActiveObject(object_id);
if(!cao)
if (!cao)
continue;
v3f pos = cao->getPosition();
m_sound->updateSoundPosition(client_id, pos);
m_sound->updateSoundPosition(client_id, cao->getPosition());
}
}

Expand Down Expand Up @@ -628,8 +624,7 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)
NULL
};
name = removeStringEnd(filename, image_ext);
if(name != "")
{
if (!name.empty()) {
verbosestream<<"Client: Attempting to load image "
<<"file \""<<filename<<"\""<<std::endl;

Expand All @@ -644,18 +639,17 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)

// Read image
video::IImage *img = vdrv->createImageFromFile(rfile);
if(!img){
if (!img) {
errorstream<<"Client: Cannot create image from data of "
<<"file \""<<filename<<"\""<<std::endl;
rfile->drop();
return false;
}
else {
m_tsrc->insertSourceImage(filename, img);
img->drop();
rfile->drop();
return true;
}

m_tsrc->insertSourceImage(filename, img);
img->drop();
rfile->drop();
return true;
}

const char *sound_ext[] = {
Expand All @@ -664,8 +658,7 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)
".ogg", NULL
};
name = removeStringEnd(filename, sound_ext);
if(name != "")
{
if (!name.empty()) {
verbosestream<<"Client: Attempting to load sound "
<<"file \""<<filename<<"\""<<std::endl;
m_sound->loadSoundData(name, data);
Expand All @@ -676,9 +669,9 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)
".x", ".b3d", ".md2", ".obj",
NULL
};

name = removeStringEnd(filename, model_ext);
if(name != "")
{
if (!name.empty()) {
verbosestream<<"Client: Storing model into memory: "
<<"\""<<filename<<"\""<<std::endl;
if(m_mesh_data.count(filename))
Expand Down Expand Up @@ -732,9 +725,8 @@ void Client::request_media(const std::vector<std::string> &file_requests)

pkt << (u16) (file_requests_size & 0xFFFF);

for(std::vector<std::string>::const_iterator i = file_requests.begin();
i != file_requests.end(); ++i) {
pkt << (*i);
for (const std::string &file_request : file_requests) {
pkt << file_request;
}

Send(&pkt);
Expand Down Expand Up @@ -1020,7 +1012,7 @@ void Client::startAuth(AuthMechanism chosen_auth_mechanism)
&verifier, &salt);

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);
break;
Expand Down Expand Up @@ -1062,12 +1054,8 @@ void Client::sendDeletedBlocks(std::vector<v3s16> &blocks)

pkt << (u8) blocks.size();

u32 k = 0;
for(std::vector<v3s16>::iterator
j = blocks.begin();
j != blocks.end(); ++j) {
pkt << *j;
k++;
for (const v3s16 &block : blocks) {
pkt << block;
}

Send(&pkt);
Expand All @@ -1089,9 +1077,8 @@ void Client::sendRemovedSounds(std::vector<s32> &soundList)

pkt << (u16) (server_ids & 0xFFFF);

for(std::vector<s32>::iterator i = soundList.begin();
i != soundList.end(); ++i)
pkt << *i;
for (int sound_id : soundList)
pkt << sound_id;

Send(&pkt);
}
Expand Down Expand Up @@ -1354,10 +1341,8 @@ void Client::removeNode(v3s16 p)
catch(InvalidPositionException &e) {
}

for(std::map<v3s16, MapBlock *>::iterator
i = modified_blocks.begin();
i != modified_blocks.end(); ++i) {
addUpdateMeshTaskWithEdge(i->first, false, true);
for (const auto &modified_block : modified_blocks) {
addUpdateMeshTaskWithEdge(modified_block.first, false, true);
}
}

Expand All @@ -1374,7 +1359,7 @@ MapNode Client::getNode(v3s16 p, bool *is_valid_position)
v3s16 ppos = floatToInt(m_env.getLocalPlayer()->getPosition(), BS);
if ((u32) ppos.getDistanceFrom(p) > m_csm_noderange_limit) {
*is_valid_position = false;
return MapNode();
return {};
}
}
return m_env.getMap().getNodeNoEx(p, is_valid_position);
Expand All @@ -1393,10 +1378,8 @@ void Client::addNode(v3s16 p, MapNode n, bool remove_metadata)
catch(InvalidPositionException &e) {
}

for(std::map<v3s16, MapBlock *>::iterator
i = modified_blocks.begin();
i != modified_blocks.end(); ++i) {
addUpdateMeshTaskWithEdge(i->first, false, true);
for (const auto &modified_block : modified_blocks) {
addUpdateMeshTaskWithEdge(modified_block.first, false, true);
}
}

Expand Down Expand Up @@ -1567,7 +1550,7 @@ bool Client::getChatMessage(std::wstring &res)
void Client::typeChatMessage(const std::wstring &message)
{
// Discard empty line
if(message == L"")
if (message.empty())
return;

// If message was ate by script API, don't send it to server
Expand Down Expand Up @@ -1677,8 +1660,8 @@ float Client::mediaReceiveProgress()
{
if (m_media_downloader)
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 {
Expand Down Expand Up @@ -1746,7 +1729,7 @@ void Client::afterContentReceived()
RenderingEngine::draw_load_screen(text, guienv, m_tsrc, 0, 72);
m_nodedef->updateAliases(m_itemdef);
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->setNodeRegistrationStatus(true);
m_nodedef->runNodeResolveCallbacks();
Expand Down
32 changes: 11 additions & 21 deletions src/client.h
Expand Up @@ -204,9 +204,7 @@ struct ClientEvent
class PacketCounter
{
public:
PacketCounter()
{
}
PacketCounter() = default;

void add(u16 command)
{
Expand All @@ -223,23 +221,15 @@ class PacketCounter

void clear()
{
for(std::map<u16, u16>::iterator
i = m_packets.begin();
i != m_packets.end(); ++i)
{
i->second = 0;
for (auto &m_packet : m_packets) {
m_packet.second = 0;
}
}

void print(std::ostream &o)
{
for(std::map<u16, u16>::iterator
i = m_packets.begin();
i != m_packets.end(); ++i)
{
o<<"cmd "<<i->first
<<" count "<<i->second
<<std::endl;
for (const auto &m_packet : m_packets) {
o << "cmd "<< m_packet.first <<" count "<< m_packet.second << std::endl;
}
}

Expand Down Expand Up @@ -544,12 +534,12 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
m_client_event_queue.push(event);
}

void showGameChat(const bool show = true);
void showGameHud(const bool show = true);
void showMinimap(const bool show = true);
void showProfiler(const bool show = true);
void showGameFog(const bool show = true);
void showGameDebug(const bool show = true);
void showGameChat(bool show = true);
void showGameHud(bool show = true);
void showMinimap(bool show = true);
void showProfiler(bool show = true);
void showGameFog(bool show = true);
void showGameDebug(bool show = true);

const Address getServerAddress()
{
Expand Down

2 comments on commit 816bca3

@JRottm
Copy link
Contributor

@JRottm JRottm commented on 816bca3 Aug 19, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @nerzhul, you removed the "const" from the bool param of showGameChat()...showGameDebug() in client.h, but you forgot to make the same change in the implementation in client.cpp.

@nerzhul
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah it's accepted by compilers, clang-tidy reported it's not necessary to add them in the declaration they have no effect, just setting it in definition

Please sign in to comment.