From c6196b25d119a10e79deedef26a73e0d5a021b0e Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Fri, 12 Jun 2015 06:27:05 +0200 Subject: Refactor cave_type and monster_type to use non-intrusive lists We use vectors of object indexes instead of embedding the list within object_type itself. --- src/loadsave.cc | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'src/loadsave.cc') diff --git a/src/loadsave.cc b/src/loadsave.cc index 584d6dc9..13e4911f 100644 --- a/src/loadsave.cc +++ b/src/loadsave.cc @@ -1498,16 +1498,11 @@ static bool_ do_dungeon(ls_flag_t flag, bool_ no_companions) /* Monster */ if (o_ptr->held_m_idx) { - monster_type *m_ptr; - /* Monster */ - m_ptr = &m_list[o_ptr->held_m_idx]; - - /* Build a stack */ - o_ptr->next_o_idx = m_ptr->hold_o_idx; + monster_type *m_ptr = &m_list[o_ptr->held_m_idx]; /* Place the object */ - m_ptr->hold_o_idx = o_idx; + m_ptr->hold_o_idxs.push_back(o_idx); } /* Dungeon */ @@ -1516,11 +1511,8 @@ static bool_ do_dungeon(ls_flag_t flag, bool_ no_companions) /* Access the item location */ c_ptr = &cave[o_ptr->iy][o_ptr->ix]; - /* Build a stack */ - o_ptr->next_o_idx = c_ptr->o_idx; - /* Place the object */ - c_ptr->o_idx = o_idx; + c_ptr->o_idxs.push_back(o_idx); } } -- cgit v1.2.3