diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-01-19 15:03:59 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-01-20 15:37:22 +0100 |
commit | fff6a131ccadee9dcbd7f213e1846a0095f526e1 (patch) | |
tree | 199dee817f35460c2a48bc8aecfa403b33a02cd0 /serialize/world-reader.cpp | |
parent | 3264ef85e50add2db3c54291540bde7e8411cb70 (diff) |
w
Diffstat (limited to 'serialize/world-reader.cpp')
-rw-r--r-- | serialize/world-reader.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/serialize/world-reader.cpp b/serialize/world-reader.cpp index 4387acda..ab196f7e 100644 --- a/serialize/world-reader.cpp +++ b/serialize/world-reader.cpp @@ -1,7 +1,8 @@ #define FM_SERIALIZE_WORLD_IMPL #include "world-impl.hpp" -#include "binary-reader.inl" #include "src/world.hpp" +#if 0 +#include "binary-reader.inl" #include "src/scenery.hpp" #include "src/critter.hpp" #include "src/light.hpp" @@ -78,7 +79,12 @@ bool read_object_flags(binary_reader<T>& s, U& e) e.pass = pass_mode(flags & pass_mask); if (e.type != tag) fm_throw("invalid object type '{}'"_cf, (int)e.type); - if constexpr(tag == object_type::scenery) + if constexpr(tag == object_type::generic_scenery) + { + e.active = !!(flags & 1 << 2); + e.interactive = !!(flags & 1 << 4); + } + else if constexpr(tag == object_type::door) { e.active = !!(flags & 1 << 2); e.closing = !!(flags & 1 << 3); @@ -292,6 +298,9 @@ void reader_state::read_chunks(reader_t& s) SET_CHUNK_SIZE(); switch (type) { + case object_type::door { + ...; // todo + } case object_type::critter: { critter_proto proto; proto.offset = offset; @@ -337,7 +346,7 @@ void reader_state::read_chunks(reader_t& s) (void)e; break; } - case object_type::scenery: { + case object_type::generic_scenery: { atlasid id; id << s; bool exact; rotation r; @@ -548,3 +557,14 @@ world world::deserialize(StringView filename) } } // namespace floormat + +#endif + +namespace floormat { + +class world world::deserialize(StringView filename) +{ + fm_assert("todo" && false); +} + +} // namespace floormat |