summaryrefslogtreecommitdiffhomepage
path: root/serialize/world-reader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'serialize/world-reader.cpp')
-rw-r--r--serialize/world-reader.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/serialize/world-reader.cpp b/serialize/world-reader.cpp
index f792de1a..16a3afc1 100644
--- a/serialize/world-reader.cpp
+++ b/serialize/world-reader.cpp
@@ -100,11 +100,11 @@ void reader_state::deserialize_world(ArrayView<const char> buf)
auto s = binary_reader{buf};
if (!!::memcmp(s.read<std::size(file_magic)-1>().data(), file_magic, std::size(file_magic)-1))
fm_abort("bad magic");
- std::decay_t<decltype(proto_version)> proto;
+ proto_t proto;
s >> proto;
- if (proto != proto_version)
- fm_abort("bad proto version '%zu' (should be '%zu')",
- (std::size_t)proto, (std::size_t)proto_version);
+ if (!(proto >= min_proto_version && proto <= proto_version))
+ fm_abort("bad proto version '%zu' (should be between '%zu' and '%zu')",
+ (std::size_t)proto, (std::size_t)min_proto_version, (std::size_t)proto_version);
read_atlases(s);
read_chunks(s);
s.assert_end();