summaryrefslogtreecommitdiff
path: root/src/loadsave.cc
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2015-06-12 06:27:05 +0200
committerBardur Arantsson <bardur@scientician.net>2015-08-01 17:26:10 +0200
commitc6196b25d119a10e79deedef26a73e0d5a021b0e (patch)
tree199f5bff5cf363787eb610caa495fd3682a463ed /src/loadsave.cc
parent000f6272f8ab1d43ec6300fb5972f7813ada1c88 (diff)
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.
Diffstat (limited to 'src/loadsave.cc')
-rw-r--r--src/loadsave.cc14
1 files changed, 3 insertions, 11 deletions
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);
}
}