Various style cleanups + unused code removal
authorest31 <MTest31@outlook.com>
Fri, 18 Sep 2015 11:45:42 +0000 (13:45 +0200)
committerest31 <MTest31@outlook.com>
Sat, 19 Sep 2015 18:57:29 +0000 (20:57 +0200)
-> Don't pass pointer to whole IGameDef to NodeMetadata constructors
and deserializers, but only to IItemDefManager, which is needed
-> Remove the unused content_mapnode_get_new_name() method
-> Fix style for MapBlock::deSerialize and MapBlock::deSerialize_pre22,
improving accuracy of error messages a bit
-> Fix style at other serialisation methods too
-> Improve accuracy of some comments

src/content_mapnode.cpp
src/content_mapnode.h
src/content_nodemeta.cpp
src/content_nodemeta.h
src/mapblock.cpp
src/mapgen.cpp
src/mapgen_v6.cpp
src/nodemetadata.cpp
src/nodemetadata.h
src/rollback_interface.cpp
src/script/lua_api/l_nodemeta.cpp

index 3a4a4652a69ac53a70e5e9b624b4f9ee4b765b6e..a6bf0a82d052adfedac49fede92b56eb05402b10 100644 (file)
@@ -167,69 +167,3 @@ void content_mapnode_get_name_id_mapping(NameIdMapping *nimap)
        nimap->set(CONTENT_AIR, "air");
 }
 
-class NewNameGetter
-{
-public:
-       NewNameGetter()
-       {
-               old_to_new["CONTENT_STONE"] = "default:stone";
-               old_to_new["CONTENT_WATER"] = "default:water_flowing";
-               old_to_new["CONTENT_TORCH"] = "default:torch";
-               old_to_new["CONTENT_WATERSOURCE"] = "default:water_source";
-               old_to_new["CONTENT_SIGN_WALL"] = "default:sign_wall";
-               old_to_new["CONTENT_CHEST"] = "default:chest";
-               old_to_new["CONTENT_FURNACE"] = "default:furnace";
-               old_to_new["CONTENT_LOCKABLE_CHEST"] = "default:locked_chest";
-               old_to_new["CONTENT_FENCE"] = "default:wooden_fence";
-               old_to_new["CONTENT_RAIL"] = "default:rail";
-               old_to_new["CONTENT_LADDER"] = "default:ladder";
-               old_to_new["CONTENT_LAVA"] = "default:lava_flowing";
-               old_to_new["CONTENT_LAVASOURCE"] = "default:lava_source";
-               old_to_new["CONTENT_GRASS"] = "default:dirt_with_grass";
-               old_to_new["CONTENT_TREE"] = "default:tree";
-               old_to_new["CONTENT_LEAVES"] = "default:leaves";
-               old_to_new["CONTENT_GRASS_FOOTSTEPS"] = "default:dirt_with_grass_footsteps";
-               old_to_new["CONTENT_MESE"] = "default:mese";
-               old_to_new["CONTENT_MUD"] = "default:dirt";
-               old_to_new["CONTENT_CLOUD"] = "default:cloud";
-               old_to_new["CONTENT_COALSTONE"] = "default:coalstone";
-               old_to_new["CONTENT_WOOD"] = "default:wood";
-               old_to_new["CONTENT_SAND"] = "default:sand";
-               old_to_new["CONTENT_COBBLE"] = "default:cobble";
-               old_to_new["CONTENT_STEEL"] = "default:steel";
-               old_to_new["CONTENT_GLASS"] = "default:glass";
-               old_to_new["CONTENT_MOSSYCOBBLE"] = "default:mossycobble";
-               old_to_new["CONTENT_GRAVEL"] = "default:gravel";
-               old_to_new["CONTENT_SANDSTONE"] = "default:sandstone";
-               old_to_new["CONTENT_CACTUS"] = "default:cactus";
-               old_to_new["CONTENT_BRICK"] = "default:brick";
-               old_to_new["CONTENT_CLAY"] = "default:clay";
-               old_to_new["CONTENT_PAPYRUS"] = "default:papyrus";
-               old_to_new["CONTENT_BOOKSHELF"] = "default:bookshelf";
-               old_to_new["CONTENT_JUNGLETREE"] = "default:jungletree";
-               old_to_new["CONTENT_JUNGLEGRASS"] = "default:junglegrass";
-               old_to_new["CONTENT_NC"] = "default:nyancat";
-               old_to_new["CONTENT_NC_RB"] = "default:nyancat_rainbow";
-               old_to_new["CONTENT_APPLE"] = "default:apple";
-               old_to_new["CONTENT_SAPLING"] = "default:sapling";
-               // Just in case
-               old_to_new["CONTENT_IGNORE"] = "ignore";
-               old_to_new["CONTENT_AIR"] = "air";
-       }
-       std::string get(const std::string &old)
-       {
-               StringMap::const_iterator it = old_to_new.find(old);
-               if (it == old_to_new.end())
-                       return "";
-               return it->second;
-       }
-private:
-       StringMap old_to_new;
-};
-
-NewNameGetter newnamegetter;
-
-std::string content_mapnode_get_new_name(const std::string &oldname)
-{
-       return newnamegetter.get(oldname);
-}
index 5d68afe594b5ca2e23c52a358acc205bcd6f16da..9fa4e6d13319463ed306c896eb83f566ea371d1b 100644 (file)
@@ -34,8 +34,4 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
 class NameIdMapping;
 void content_mapnode_get_name_id_mapping(NameIdMapping *nimap);
 
-// Convert "CONTENT_STONE"-style names to dynamic ids
-std::string content_mapnode_get_new_name(const std::string &oldname);
-class INodeDefManager;
-
 #endif
index f504924f956a39dcc8fe29bbe323496186efcef7..dd5f8e6b5e80baf485975555a26f86b911707660 100644 (file)
@@ -79,7 +79,7 @@ static bool content_nodemeta_deserialize_legacy_body(
                        inv->getList("0")->setName("main");
                }
                assert(inv->getList("main") && !inv->getList("0"));
-               
+
                meta->setString("formspec","size[8,9]"
                                "list[current_name;main;0,0;8,4;]"
                                "list[current_player;main;0,5;8,4;]");
@@ -96,7 +96,7 @@ static bool content_nodemeta_deserialize_legacy_body(
                        inv->getList("0")->setName("main");
                }
                assert(inv->getList("main") && !inv->getList("0"));
-               
+
                meta->setString("formspec","size[8,9]"
                                "list[current_name;main;0,0;8,4;]"
                                "list[current_player;main;0,5;8,4;]");
@@ -145,7 +145,7 @@ static bool content_nodemeta_deserialize_legacy_meta(
 
 void content_nodemeta_deserialize_legacy(std::istream &is,
                NodeMetadataList *meta, NodeTimerList *timers,
-               IGameDef *gamedef)
+               IItemDefManager *item_def_mgr)
 {
        meta->clear();
        timers->clear();
@@ -181,7 +181,7 @@ void content_nodemeta_deserialize_legacy(std::istream &is,
                        continue;
                }
 
-               NodeMetadata *data = new NodeMetadata(gamedef);
+               NodeMetadata *data = new NodeMetadata(item_def_mgr);
                bool need_timer = content_nodemeta_deserialize_legacy_meta(is, data);
                meta->set(p, data);
 
index 0b08bc6a13a23681ef047d0cdcaa4c5f0689d47c..ebc01d9a884fc882b183d1e49b03c584d6d8a119 100644 (file)
@@ -24,7 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 class NodeMetadataList;
 class NodeTimerList;
-class IGameDef;
+class IItemDefManager;
 
 /*
        Legacy nodemeta definitions
@@ -32,7 +32,7 @@ class IGameDef;
 
 void content_nodemeta_deserialize_legacy(std::istream &is,
                NodeMetadataList *meta, NodeTimerList *timers,
-               IGameDef *gamedef);
+               IItemDefManager *item_def_mgr);
 
 void content_nodemeta_serialize_legacy(std::ostream &os, NodeMetadataList *meta);
 
index 11c4c125be9d1872db49087808051265b2c0c88d..942457407494f5b70003b81b1a1d3e53b8fb6d3b 100644 (file)
@@ -696,19 +696,17 @@ void MapBlock::deSerialize(std::istream &is, u8 version, bool disk)
        TRACESTREAM(<<"MapBlock::deSerialize "<<PP(getPos())
                        <<": Node metadata"<<std::endl);
        // Ignore errors
-       try{
+       try {
                std::ostringstream oss(std::ios_base::binary);
                decompressZlib(is, oss);
                std::istringstream iss(oss.str(), std::ios_base::binary);
-               if(version >= 23)
-                       m_node_metadata.deSerialize(iss, m_gamedef);
+               if (version >= 23)
+                       m_node_metadata.deSerialize(iss, m_gamedef->idef());
                else
                        content_nodemeta_deserialize_legacy(iss,
-                                       &m_node_metadata, &m_node_timers,
-                                       m_gamedef);
-       }
-       catch(SerializationError &e)
-       {
+                               &m_node_metadata, &m_node_timers,
+                               m_gamedef->idef());
+       } catch(SerializationError &e) {
                errorstream<<"WARNING: MapBlock::deSerialize(): Ignoring an error"
                                <<" while deserializing node metadata at ("
                                <<PP(getPos())<<": "<<e.what()<<std::endl;
@@ -794,23 +792,20 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
        SharedBuffer<u8> databuf_nodelist(nodecount * ser_length);
 
        // These have no compression
-       if(version <= 3 || version == 5 || version == 6)
-       {
+       if (version <= 3 || version == 5 || version == 6) {
                char tmp;
                is.read(&tmp, 1);
-               if(is.gcount() != 1)
-                       throw SerializationError
-                                       ("MapBlock::deSerialize: no enough input data");
+               if (is.gcount() != 1)
+                       throw SerializationError(std::string(__FUNCTION_NAME)
+                               + ": no enough input data");
                is_underground = tmp;
-               is.read((char*)*databuf_nodelist, nodecount * ser_length);
-               if((u32)is.gcount() != nodecount * ser_length)
-                       throw SerializationError
-                                       ("MapBlock::deSerialize: no enough input data");
-       }
-       else if(version <= 10)
-       {
+               is.read((char *)*databuf_nodelist, nodecount * ser_length);
+               if ((u32)is.gcount() != nodecount * ser_length)
+                       throw SerializationError(std::string(__FUNCTION_NAME)
+                               + ": no enough input data");
+       } else if (version <= 10) {
                u8 t8;
-               is.read((char*)&t8, 1);
+               is.read((char *)&t8, 1);
                is_underground = t8;
 
                {
@@ -818,11 +813,10 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
                        std::ostringstream os(std::ios_base::binary);
                        decompress(is, os, version);
                        std::string s = os.str();
-                       if(s.size() != nodecount)
-                               throw SerializationError
-                                               ("MapBlock::deSerialize: invalid format");
-                       for(u32 i=0; i<s.size(); i++)
-                       {
+                       if (s.size() != nodecount)
+                               throw SerializationError(std::string(__FUNCTION_NAME)
+                                       + ": no enough input data");
+                       for (u32 i = 0; i < s.size(); i++) {
                                databuf_nodelist[i*ser_length] = s[i];
                        }
                }
@@ -831,33 +825,27 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
                        std::ostringstream os(std::ios_base::binary);
                        decompress(is, os, version);
                        std::string s = os.str();
-                       if(s.size() != nodecount)
-                               throw SerializationError
-                                               ("MapBlock::deSerialize: invalid format");
-                       for(u32 i=0; i<s.size(); i++)
-                       {
+                       if (s.size() != nodecount)
+                               throw SerializationError(std::string(__FUNCTION_NAME)
+                                       + ": no enough input data");
+                       for (u32 i = 0; i < s.size(); i++) {
                                databuf_nodelist[i*ser_length + 1] = s[i];
                        }
                }
 
-               if(version >= 10)
-               {
+               if (version >= 10) {
                        // Uncompress and set param2 data
                        std::ostringstream os(std::ios_base::binary);
                        decompress(is, os, version);
                        std::string s = os.str();
-                       if(s.size() != nodecount)
-                               throw SerializationError
-                                               ("MapBlock::deSerialize: invalid format");
-                       for(u32 i=0; i<s.size(); i++)
-                       {
+                       if (s.size() != nodecount)
+                               throw SerializationError(std::string(__FUNCTION_NAME)
+                                       + ": no enough input data");
+                       for (u32 i = 0; i < s.size(); i++) {
                                databuf_nodelist[i*ser_length + 2] = s[i];
                        }
                }
-       }
-       // All other versions (newest)
-       else
-       {
+       } else { // All other versions (10 to 21)
                u8 flags;
                is.read((char*)&flags, 1);
                is_underground = (flags & 0x01) ? true : false;
@@ -870,14 +858,12 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
                std::ostringstream os(std::ios_base::binary);
                decompress(is, os, version);
                std::string s = os.str();
-               if(s.size() != nodecount*3)
-                       throw SerializationError
-                                       ("MapBlock::deSerialize: decompress resulted in size"
-                                       " other than nodecount*3");
+               if (s.size() != nodecount * 3)
+                       throw SerializationError(std::string(__FUNCTION_NAME)
+                               + ": decompress resulted in size other than nodecount*3");
 
                // deserialize nodes from buffer
-               for(u32 i=0; i<nodecount; i++)
-               {
+               for (u32 i = 0; i < nodecount; i++) {
                        databuf_nodelist[i*ser_length] = s[i];
                        databuf_nodelist[i*ser_length + 1] = s[i+nodecount];
                        databuf_nodelist[i*ser_length + 2] = s[i+nodecount*2];
@@ -886,31 +872,25 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
                /*
                        NodeMetadata
                */
-               if(version >= 14)
-               {
+               if (version >= 14) {
                        // Ignore errors
-                       try{
-                               if(version <= 15)
-                               {
+                       try {
+                               if (version <= 15) {
                                        std::string data = deSerializeString(is);
                                        std::istringstream iss(data, std::ios_base::binary);
                                        content_nodemeta_deserialize_legacy(iss,
-                                                       &m_node_metadata, &m_node_timers,
-                                                       m_gamedef);
-                               }
-                               else
-                               {
+                                               &m_node_metadata, &m_node_timers,
+                                               m_gamedef->idef());
+                               } else {
                                        //std::string data = deSerializeLongString(is);
                                        std::ostringstream oss(std::ios_base::binary);
                                        decompressZlib(is, oss);
                                        std::istringstream iss(oss.str(), std::ios_base::binary);
                                        content_nodemeta_deserialize_legacy(iss,
-                                                       &m_node_metadata, &m_node_timers,
-                                                       m_gamedef);
+                                               &m_node_metadata, &m_node_timers,
+                                               m_gamedef->idef());
                                }
-                       }
-                       catch(SerializationError &e)
-                       {
+                       } catch(SerializationError &e) {
                                errorstream<<"WARNING: MapBlock::deSerialize(): Ignoring an error"
                                                <<" while deserializing node metadata"<<std::endl;
                        }
@@ -918,17 +898,15 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
        }
 
        // Deserialize node data
-       for(u32 i=0; i<nodecount; i++)
-       {
-               data[i].deSerialize(&databuf_nodelist[i*ser_length], version);
+       for (u32 i = 0; i < nodecount; i++) {
+               data[i].deSerialize(&databuf_nodelist[i * ser_length], version);
        }
 
-       if(disk)
-       {
+       if (disk) {
                /*
                        Versions up from 9 have block objects. (DEPRECATED)
                */
-               if(version >= 9){
+               if (version >= 9) {
                        u16 count = readU16(is);
                        // Not supported and length not known if count is not 0
                        if(count != 0){
@@ -941,11 +919,11 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
                /*
                        Versions up from 15 have static objects.
                */
-               if(version >= 15)
+               if (version >= 15)
                        m_static_objects.deSerialize(is);
 
                // Timestamp
-               if(version >= 17){
+               if (version >= 17) {
                        setTimestamp(readU32(is));
                        m_disk_timestamp = m_timestamp;
                } else {
@@ -955,7 +933,7 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
                // Dynamically re-set ids based on node names
                NameIdMapping nimap;
                // If supported, read node definition id mapping
-               if(version >= 21){
+               if (version >= 21) {
                        nimap.deSerialize(is);
                // Else set the legacy mapping
                } else {
index f8e9477c52bb5f700f318d62b4f9c2473664f0f1..31d394fa4a5e0a6d72ae44033ffac8f8fdaf9983 100644 (file)
@@ -29,7 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "content_sao.h"
 #include "nodedef.h"
 #include "emerge.h"
-#include "content_mapnode.h" // For content_mapnode_get_new_name
 #include "voxelalgorithms.h"
 #include "porting.h"
 #include "profiler.h"
index 5e9219816cd7d742ef43741f58f158d731cb8ef5..8492adfd92a3ead5c82b4a93ffc462763d0e0604 100644 (file)
@@ -26,7 +26,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 //#include "serverobject.h"
 #include "content_sao.h"
 #include "nodedef.h"
-#include "content_mapnode.h" // For content_mapnode_get_new_name
 #include "voxelalgorithms.h"
 //#include "profiler.h" // For TimeTaker
 #include "settings.h" // For g_settings
index 2a9131be0b014c55a2cad19695f12bb414886f36..d63dac6966432c9447628eafb9c855cec94ad34d 100644 (file)
@@ -30,9 +30,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
        NodeMetadata
 */
 
-NodeMetadata::NodeMetadata(IGameDef *gamedef):
+NodeMetadata::NodeMetadata(IItemDefManager *item_def_mgr):
        m_stringvars(),
-       m_inventory(new Inventory(gamedef->idef()))
+       m_inventory(new Inventory(item_def_mgr))
 {
 }
 
@@ -101,34 +101,34 @@ void NodeMetadataList::serialize(std::ostream &os) const
                v3s16 p = i->first;
                NodeMetadata *data = i->second;
 
-               u16 p16 = p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X;
+               u16 p16 = p.Z * MAP_BLOCKSIZE * MAP_BLOCKSIZE + p.Y * MAP_BLOCKSIZE + p.X;
                writeU16(os, p16);
 
                data->serialize(os);
        }
 }
 
-void NodeMetadataList::deSerialize(std::istream &is, IGameDef *gamedef)
+void NodeMetadataList::deSerialize(std::istream &is, IItemDefManager *item_def_mgr)
 {
        clear();
 
        u8 version = readU8(is);
 
-       if(version == 0){
+       if (version == 0) {
                // Nothing
                return;
        }
 
-       if(version != 1){
-               infostream<<__FUNCTION_NAME<<": version "<<version<<" not supported"
-                               <<std::endl;
-               throw SerializationError("NodeMetadataList::deSerialize");
+       if (version != 1) {
+               std::string err_str = std::string(__FUNCTION_NAME)
+                       + ": version " + itos(version) + " not supported";
+               infostream << err_str << std::endl;
+               throw SerializationError(err_str);
        }
 
        u16 count = readU16(is);
 
-       for(u16 i=0; i<count; i++)
-       {
+       for (u16 i=0; i < count; i++) {
                u16 p16 = readU16(is);
 
                v3s16 p;
@@ -138,8 +138,7 @@ void NodeMetadataList::deSerialize(std::istream &is, IGameDef *gamedef)
                p16 &= MAP_BLOCKSIZE - 1;
                p.X = p16;
 
-               if(m_data.find(p) != m_data.end())
-               {
+               if (m_data.find(p) != m_data.end()) {
                        infostream<<"WARNING: NodeMetadataList::deSerialize(): "
                                        <<"already set data at position"
                                        <<"("<<p.X<<","<<p.Y<<","<<p.Z<<"): Ignoring."
@@ -147,7 +146,7 @@ void NodeMetadataList::deSerialize(std::istream &is, IGameDef *gamedef)
                        continue;
                }
 
-               NodeMetadata *data = new NodeMetadata(gamedef);
+               NodeMetadata *data = new NodeMetadata(item_def_mgr);
                data->deSerialize(is);
                m_data[p] = data;
        }
index 8e84e5af30a15cf9bed380de3b0a3969ab5e9b36..8d1298212d9e702eab99f1c6c457b5179273aea8 100644 (file)
@@ -35,12 +35,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 */
 
 class Inventory;
-class IGameDef;
+class IItemDefManager;
 
 class NodeMetadata
 {
 public:
-       NodeMetadata(IGameDef *gamedef);
+       NodeMetadata(IItemDefManager *item_def_mgr);
        ~NodeMetadata();
 
        void serialize(std::ostream &os) const;
@@ -80,7 +80,7 @@ public:
        ~NodeMetadataList();
 
        void serialize(std::ostream &os) const;
-       void deSerialize(std::istream &is, IGameDef *gamedef);
+       void deSerialize(std::istream &is, IItemDefManager *item_def_mgr);
 
        // Add all keys in this list to the vector keys
        std::vector<v3s16> getAllKeys();
index b3f457029bd74e299f9634f1fa4568034993347e..bffe0a82c9b7caa6764424a90bfdfa0f7fd43e6c 100644 (file)
@@ -155,7 +155,7 @@ bool RollbackAction::applyRevert(Map *map, InventoryManager *imgr, IGameDef *gam
                                } else {
                                        NodeMetadata *meta = map->getNodeMetadata(p);
                                        if (!meta) {
-                                               meta = new NodeMetadata(gamedef);
+                                               meta = new NodeMetadata(gamedef->idef());
                                                if (!map->setNodeMetadata(p, meta)) {
                                                        delete meta;
                                                        infostream << "RollbackAction::applyRevert(): "
index 6cdbe5c68d86ee239e63c7a9ee2bb2737d7de94a..d8de9a4129588ab5a6a1503724b4caa11e50637f 100644 (file)
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "common/c_content.h"
 #include "environment.h"
 #include "map.h"
+#include "gamedef.h"
 #include "nodemetadata.h"
 
 
@@ -43,7 +44,7 @@ NodeMetadata* NodeMetaRef::getmeta(NodeMetaRef *ref, bool auto_create)
 {
        NodeMetadata *meta = ref->m_env->getMap().getNodeMetadata(ref->m_p);
        if(meta == NULL && auto_create) {
-               meta = new NodeMetadata(ref->m_env->getGameDef());
+               meta = new NodeMetadata(ref->m_env->getGameDef()->idef());
                if(!ref->m_env->getMap().setNodeMetadata(ref->m_p, meta)) {
                        delete meta;
                        return NULL;