summaryrefslogtreecommitdiffhomepage
path: root/serialize/world-reader.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-11-30 00:28:33 +0100
committerStanislaw Halik <sthalik@misaki.pl>2022-11-30 00:28:33 +0100
commit3c79014b5da8d6f0bf297afc3d55247f920948c9 (patch)
treef84b0c3f99e1d348333cb94a47fe31817258be88 /serialize/world-reader.cpp
parent01a8ae2ddf4b52fb9a7d5d46e433c19a5efcfa8d (diff)
serialize/save: bump proto version
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();