forked from Mirrorlandia_minetest/minetest
client.cpp: modernize code
* Range based for loops * Empty operator on stl containers
This commit is contained in:
parent
90dfafcda2
commit
816bca32ac
@ -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();
|
||||||
|
32
src/client.h
32
src/client.h
@ -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()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user