diff options
author | Bardur Arantsson <bardur@scientician.net> | 2016-06-20 22:49:05 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2016-06-20 22:49:05 +0200 |
commit | f66fbf3dc0a324fbf17e2148a025ea703c6b4d83 (patch) | |
tree | 594148be3ff433eccf41536182cea7af588354e1 /src | |
parent | 5271c4676c2489766eb54db0fc53a7b471bed8ad (diff) |
Add do_flag_set() in loadsave.cc
Diffstat (limited to 'src')
-rw-r--r-- | src/loadsave.cc | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/loadsave.cc b/src/loadsave.cc index c42dd4b9..75ce03b0 100644 --- a/src/loadsave.cc +++ b/src/loadsave.cc @@ -251,6 +251,22 @@ static void do_string(char *str, int max, ls_flag_t flag) } /* + * Load/save flag set + */ +namespace { + +template<std::size_t Tiers> void do_flag_set(flag_set<Tiers> *flags, ls_flag_t flag) +{ + for (std::size_t i = 0; i < flags->size(); i++) + { + do_u32b(&(*flags)[i], flag); + } +} + +} // namespace (anonymous) + + +/* * Load/Save quick start data */ static void do_quick_start(ls_flag_t flag) @@ -1329,10 +1345,7 @@ static bool_ do_dungeon(ls_flag_t flag, bool_ no_companions) do_s16b(&max_panel_rows, flag); do_s16b(&max_panel_cols, flag); - for (std::size_t i = 0; i < dungeon_flags.size(); i++) - { - do_u32b(&dungeon_flags[i], flag); - } + do_flag_set(&dungeon_flags, flag); /* Last teleportation */ do_s16b(&last_teleportation_y, flag); |