summaryrefslogtreecommitdiff
path: root/src/loadsave.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/loadsave.cc')
-rw-r--r--src/loadsave.cc22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/loadsave.cc b/src/loadsave.cc
index 06e53d02..8c2a79c4 100644
--- a/src/loadsave.cc
+++ b/src/loadsave.cc
@@ -495,6 +495,14 @@ static void do_random_spell(random_spell *s_ptr, ls_flag_t flag)
do_std_bool(&s_ptr->untried, flag);
}
+static void do_rune_spell(rune_spell *s_ptr, ls_flag_t flag)
+{
+ do_string(s_ptr->name, 30, flag);
+ do_s16b(&s_ptr->type, flag);
+ do_s16b(&s_ptr->rune2, flag);
+ do_s16b(&s_ptr->mana, flag);
+}
+
/*
* Show information on the screen, one line at a time.
@@ -892,18 +900,8 @@ static bool_ do_extra(ls_flag_t flag)
/* Random spells */
do_vector(flag, p_ptr->random_spells, do_random_spell);
- /* Spells */
- {
- do_s16b(&rune_num, flag);
-
- for (std::size_t i = 0; i < MAX_RUNES; i++)
- {
- do_string(rune_spells[i].name, 30, flag);
- do_s16b(&rune_spells[i].type, flag);
- do_s16b(&rune_spells[i].rune2, flag);
- do_s16b(&rune_spells[i].mana, flag);
- }
- }
+ /* Rune spells */
+ do_vector(flag, p_ptr->rune_spells, do_rune_spell);
/* Random seed for object flavors. */
do_seed(&seed_flavor(), flag);