From ca217d041639883ffcc1c7f7856502efca1b90a4 Mon Sep 17 00:00:00 2001 From: Craig Robbins Date: Tue, 27 Jan 2015 00:39:33 +1000 Subject: 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. --- src/mapblock.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/mapblock.cpp') 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) -- cgit v1.2.3