diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-04-09 20:08:46 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-04-09 20:09:14 +0200 |
commit | b83f0bb15cf60f018bded68920a423e6918c1d6f (patch) | |
tree | 7f440c5e7c253bfca4b84d5d8446747c362bc3e2 /serialize/savegame.cpp | |
parent | 45c5564c9be3561226374d6cc5dafc282fd5d402 (diff) |
serialize/save: rewrite to remove scenery's variant
Now it can use inheritance.
Tests pass.
Diffstat (limited to 'serialize/savegame.cpp')
-rw-r--r-- | serialize/savegame.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/serialize/savegame.cpp b/serialize/savegame.cpp index 5808dc65..29766269 100644 --- a/serialize/savegame.cpp +++ b/serialize/savegame.cpp @@ -222,11 +222,14 @@ struct visitor_ visit(obj.delta, f); else { - fm_assert(IsWriter); - auto delta_ = uint16_t(obj.delta >> 16); - visit(delta_, f); - if constexpr(IsWriter) + if constexpr(!IsWriter) + { + auto delta_ = uint16_t(obj.delta >> 16); + visit(delta_, f); non_const_(obj.delta) = delta_ * 65536u; + } + else + fm_assert(false); } visit(obj.frame, f); visit(obj.r, f); |