summaryrefslogtreecommitdiffhomepage
path: root/serialize
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-02-24 16:39:42 +0100
committerStanislaw Halik <sthalik@misaki.pl>2023-02-24 16:39:42 +0100
commitacf2b9e79ae392c200c9b22b56159911153cd54c (patch)
tree681b413d32bc17ab61988116470bd5831136cd00 /serialize
parent27c303a2012995a7a7d4ee1df2ff91dfc427946b (diff)
serialize/save: fix offset output with exact proto
Diffstat (limited to 'serialize')
-rw-r--r--serialize/world-writer.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/serialize/world-writer.cpp b/serialize/world-writer.cpp
index f326d90c..c44d73f4 100644
--- a/serialize/world-writer.cpp
+++ b/serialize/world-writer.cpp
@@ -348,10 +348,11 @@ void writer_state::serialize_chunk(const chunk& c, chunk_coords coord)
if (img_s != null_atlas)
{
atlasid id = img_s;
+ fm_assert(!(id & ~((1 << 16-3-1)-1)));
id |= meta_long_scenery_bit * sc_exact;
id |= atlasid(scenery.r) << sizeof(atlasid)*8-1-rotation_BITS;
s << id;
- if (!sc_exact)
+ if (!sc_exact || !scenery.offset.isZero())
{
fm_assert(scenery.active || scenery.delta == 0.0f);
write_scenery_flags(s, scenery);