diff options
author | Enne Walker <enne.walker@gmail.com> | 2010-05-26 21:38:29 -0400 |
---|---|---|
committer | Enne Walker <enne.walker@gmail.com> | 2010-05-26 23:15:26 -0400 |
commit | 5babdf18d2468fc2f42fb1545af673b636f611e8 (patch) | |
tree | bcc63bbb36d6e094f3f0c3686ca469578af671f1 /crawl-ref/source/tilereg-mon.cc | |
parent | beafec8f2f22f33b134197073a56b66f775be862 (diff) | |
download | crawl-ref-5babdf18d2468fc2f42fb1545af673b636f611e8.tar.gz crawl-ref-5babdf18d2468fc2f42fb1545af673b636f611e8.zip |
Add monster list for tiles.
This is currently implemented as an additional tab. Possibly
improvements might be to always display it on screen if there's room or
to simply pop to the tab when new monsters appear.
Diffstat (limited to 'crawl-ref/source/tilereg-mon.cc')
-rw-r--r-- | crawl-ref/source/tilereg-mon.cc | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/crawl-ref/source/tilereg-mon.cc b/crawl-ref/source/tilereg-mon.cc new file mode 100644 index 0000000000..4badaa0ee3 --- /dev/null +++ b/crawl-ref/source/tilereg-mon.cc @@ -0,0 +1,44 @@ +/* + * File: tilereg-mon.cc + */ + +#include "AppHdr.h" + +#ifdef USE_TILE + +#include "tilereg-mon.h" + +MonsterRegion::MonsterRegion(const TileRegionInit &init) : ActorRegion(init) +{ +} + +void MonsterRegion::update() +{ + m_items.clear(); + m_mon_info.clear(); + m_dirty = true; + + const size_t max_mons = mx * my; + + if (max_mons == 0) + return; + + get_monster_info(m_mon_info); + std::sort(m_mon_info.begin(), m_mon_info.end(), + monster_info::less_than_wrapper); + + unsigned int num_mons = std::min(max_mons, m_mon_info.size()); + for (size_t i = 0; i < num_mons; ++i) + { + InventoryTile desc; + desc.idx = i; + + m_items.push_back(desc); + } +} + +void MonsterRegion::activate() +{ +} + +#endif |