diff options
author | est31 <MTest31@outlook.com> | 2015-09-18 13:45:42 +0200 |
---|---|---|
committer | est31 <MTest31@outlook.com> | 2015-09-19 20:57:29 +0200 |
commit | 452df1c723722183ebf3a332f7bcc355be5b2998 (patch) | |
tree | cfba8eaa11c7bdc1d6c245bfa85c973597bccc3c /src/mapblock.cpp | |
parent | 9c635f28ac2b103bf7196e47947bf64673c13393 (diff) | |
download | hax-minetest-server-452df1c723722183ebf3a332f7bcc355be5b2998.tar.gz hax-minetest-server-452df1c723722183ebf3a332f7bcc355be5b2998.zip |
Various style cleanups + unused code removal
-> 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
Diffstat (limited to 'src/mapblock.cpp')
-rw-r--r-- | src/mapblock.cpp | 122 |
1 files changed, 50 insertions, 72 deletions
diff --git a/src/mapblock.cpp b/src/mapblock.cpp index 11c4c125b..942457407 100644 --- a/src/mapblock.cpp +++ b/src/mapblock.cpp @@ -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 { |