summaryrefslogtreecommitdiffhomepage
path: root/serialize/world-reader.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-03-18 16:01:17 +0100
committerStanislaw Halik <sthalik@misaki.pl>2023-03-18 16:01:17 +0100
commit88f34628e2ca069d1d384c11f2c3d9de6cf2f39d (patch)
tree41067eb3530daf28e378c669b72ebeeb86877ba6 /serialize/world-reader.cpp
parent1aeaf9b9a98470f81bc41b1242474389cbcf3391 (diff)
serialize/save: fix inverted flag condition
Diffstat (limited to 'serialize/world-reader.cpp')
-rw-r--r--serialize/world-reader.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/serialize/world-reader.cpp b/serialize/world-reader.cpp
index ed256172..6dcd93ae 100644
--- a/serialize/world-reader.cpp
+++ b/serialize/world-reader.cpp
@@ -219,7 +219,7 @@ void reader_state::read_chunks(reader_t& s)
offset_frac[1] << s;
const auto name = s.read_asciiz_string<character_name_max>();
proto.name = StringView{name.buf, name.len, StringViewFlag::Global|StringViewFlag::NullTerminated};
- if (id & meta_long_scenery_bit)
+ if (!(id & meta_short_scenery_bit))
read_offsets(s, proto);
auto e = _world->make_entity<character>(oid, {ch, local}, proto);
(void)e;
@@ -227,7 +227,7 @@ void reader_state::read_chunks(reader_t& s)
}
case entity_type::scenery: {
atlasid id; id << s;
- const bool exact = id & meta_long_scenery_bit;
+ const bool exact = id & meta_short_scenery_bit;
const auto r = rotation(id >> sizeof(id)*8-1-rotation_BITS & rotation_MASK);
id &= ~scenery_id_flag_mask;
auto sc = lookup_scenery(id);