diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2022-11-01 16:35:03 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-11-01 16:35:03 +0100 |
commit | 704e9bd3ac58484a5209e186798076f1cbd432ef (patch) | |
tree | 511479ebd088d5c9524803c6f3fe4641009b58bc /serialize/world-reader.cpp | |
parent | 7ff1f0911e0b0c314d6e639887b705d6fc0d78aa (diff) |
wip
Diffstat (limited to 'serialize/world-reader.cpp')
-rw-r--r-- | serialize/world-reader.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/serialize/world-reader.cpp b/serialize/world-reader.cpp index 385d6e39..aa156609 100644 --- a/serialize/world-reader.cpp +++ b/serialize/world-reader.cpp @@ -65,9 +65,9 @@ void reader_state::read_chunks(reader_t& s) for (std::size_t i = 0; i < TILE_COUNT; i++) { const tilemeta flags = s.read<tilemeta>(); - tile& t = chunk[i]; + tile_ref t = chunk[i]; using uchar = std::uint8_t; - const auto make_atlas = [&]() -> tile_image { + const auto make_atlas = [&]() -> tile_image_proto { auto id = flags & meta_short_atlasid ? (atlasid)(s.read<uchar>()) : s.read<atlasid>(); auto v = flags & meta_short_variant ? (varid) (s.read<uchar>()) : s.read<varid>(); auto atlas = lookup_atlas(id); @@ -76,18 +76,18 @@ void reader_state::read_chunks(reader_t& s) }; if (flags & meta_ground) - t.ground = make_atlas(); + t.ground() = make_atlas(); if (flags & meta_wall_n) - t.wall_north = make_atlas(); + t.wall_north() = make_atlas(); if (flags & meta_wall_w) - t.wall_west = make_atlas(); + t.wall_west() = make_atlas(); - switch (auto x = flags & pass_mask) + switch (auto x = pass_mode(flags & pass_mask)) { - case tile::pass_shoot_through: - case tile::pass_blocked: - case tile::pass_ok: - t.passability = (tile::pass_mode)x; + case pass_shoot_through: + case pass_blocked: + case pass_ok: + t.pass_mode() = x; break; default: fm_abort("bad pass mode '%zu' for tile %zu", i, (std::size_t)x); |