summaryrefslogtreecommitdiff
path: root/src/mapblock.cpp
diff options
context:
space:
mode:
authorCraig Robbins <kde.psych@gmail.com>2015-01-27 00:39:33 +1000
committerCraig Robbins <kde.psych@gmail.com>2015-01-27 00:39:33 +1000
commitca217d041639883ffcc1c7f7856502efca1b90a4 (patch)
treed0e3ef9aed43f445b73545fd0226a01aeaa0c12b /src/mapblock.cpp
parent47aca6f6d164347de950a46b11e1774445cdb9e3 (diff)
downloadminetest-ca217d041639883ffcc1c7f7856502efca1b90a4.tar.gz
minetest-ca217d041639883ffcc1c7f7856502efca1b90a4.tar.bz2
minetest-ca217d041639883ffcc1c7f7856502efca1b90a4.zip
Revert "Fix a crash (assert) when client set serial version < 24 in INIT command SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM"
nerzhul is (may?) be working on a new solution. For the moment this is reverted because old worlds cannot be loaded (see discussion on github for the commit). This reverts commit 800d19270250bb13cc6b2d330199815bf8e96446.
Diffstat (limited to 'src/mapblock.cpp')
-rw-r--r--src/mapblock.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mapblock.cpp b/src/mapblock.cpp
index c22096562..4cc0abc81 100644
--- a/src/mapblock.cpp
+++ b/src/mapblock.cpp
@@ -526,6 +526,12 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk)
throw SerializationError("ERROR: Not writing dummy block.");
}
+ // Can't do this anymore; we have 16-bit dynamically allocated node IDs
+ // in memory; conversion just won't work in this direction.
+ if(version < 24)
+ throw SerializationError("MapBlock::serialize: serialization to "
+ "version < 24 not possible");
+
// First byte
u8 flags = 0;
if(is_underground)