diff options
author | Bardur Arantsson <bardur@scientician.net> | 2015-06-12 06:27:05 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2015-08-01 17:26:10 +0200 |
commit | c6196b25d119a10e79deedef26a73e0d5a021b0e (patch) | |
tree | 199f5bff5cf363787eb610caa495fd3682a463ed /src/loadsave.cc | |
parent | 000f6272f8ab1d43ec6300fb5972f7813ada1c88 (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.cc | 14 |
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); } } |