]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/mapblock.cpp
Fix formspec list spacing (#10861)
[dragonfireclient.git] / src / mapblock.cpp
index 0996dd168874dea543cc2e7c5e0cd5654b8b0e86..0ca71e643d83f11a8413636eabeeff6d90102916 100644 (file)
@@ -100,7 +100,7 @@ bool MapBlock::isValidPositionParent(v3s16 p)
 MapNode MapBlock::getNodeParent(v3s16 p, bool *is_valid_position)
 {
        if (!isValidPosition(p))
-               return m_parent->getNodeNoEx(getPosRelative() + p, is_valid_position);
+               return m_parent->getNode(getPosRelative() + p, is_valid_position);
 
        if (!data) {
                if (is_valid_position)
@@ -355,7 +355,7 @@ static void correctBlockNodeIds(const NameIdMapping *nimap, MapNode *nodes,
        }
 }
 
-void MapBlock::serialize(std::ostream &os, u8 version, bool disk)
+void MapBlock::serialize(std::ostream &os, u8 version, bool disk, int compression_level)
 {
        if(!ser_ver_supported(version))
                throw VersionMismatchException("ERROR: MapBlock format not supported");
@@ -394,7 +394,7 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk)
                writeU8(os, content_width);
                writeU8(os, params_width);
                MapNode::serializeBulk(os, version, tmp_nodes, nodecount,
-                               content_width, params_width, true);
+                               content_width, params_width, compression_level);
                delete[] tmp_nodes;
        }
        else
@@ -404,7 +404,7 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk)
                writeU8(os, content_width);
                writeU8(os, params_width);
                MapNode::serializeBulk(os, version, data, nodecount,
-                               content_width, params_width, true);
+                               content_width, params_width, compression_level);
        }
 
        /*
@@ -412,7 +412,7 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk)
        */
        std::ostringstream oss(std::ios_base::binary);
        m_node_metadata.serialize(oss, version, disk);
-       compressZlib(oss.str(), os);
+       compressZlib(oss.str(), os, compression_level);
 
        /*
                Data that goes to disk, but not the network
@@ -485,7 +485,7 @@ void MapBlock::deSerialize(std::istream &is, u8 version, bool disk)
        if(params_width != 2)
                throw SerializationError("MapBlock::deSerialize(): invalid params_width");
        MapNode::deSerializeBulk(is, version, data, nodecount,
-                       content_width, params_width, true);
+                       content_width, params_width);
 
        /*
                NodeMetadata
@@ -533,7 +533,7 @@ void MapBlock::deSerialize(std::istream &is, u8 version, bool disk)
                // Timestamp
                TRACESTREAM(<<"MapBlock::deSerialize "<<PP(getPos())
                                <<": Timestamp"<<std::endl);
-               setTimestamp(readU32(is));
+               setTimestampNoChangedFlag(readU32(is));
                m_disk_timestamp = m_timestamp;
 
                // Dynamically re-set ids based on node names
@@ -668,13 +668,13 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
                        // Ignore errors
                        try {
                                if (version <= 15) {
-                                       std::string data = deSerializeString(is);
+                                       std::string data = deSerializeString16(is);
                                        std::istringstream iss(data, std::ios_base::binary);
                                        content_nodemeta_deserialize_legacy(iss,
                                                &m_node_metadata, &m_node_timers,
                                                m_gamedef->idef());
                                } else {
-                                       //std::string data = deSerializeLongString(is);
+                                       //std::string data = deSerializeString32(is);
                                        std::ostringstream oss(std::ios_base::binary);
                                        decompressZlib(is, oss);
                                        std::istringstream iss(oss.str(), std::ios_base::binary);
@@ -716,10 +716,10 @@ void MapBlock::deSerialize_pre22(std::istream &is, u8 version, bool disk)
 
                // Timestamp
                if (version >= 17) {
-                       setTimestamp(readU32(is));
+                       setTimestampNoChangedFlag(readU32(is));
                        m_disk_timestamp = m_timestamp;
                } else {
-                       setTimestamp(BLOCK_TIMESTAMP_UNDEFINED);
+                       setTimestampNoChangedFlag(BLOCK_TIMESTAMP_UNDEFINED);
                }
 
                // Dynamically re-set ids based on node names