summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/menu.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/menu.cc')
-rw-r--r--crawl-ref/source/menu.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc
index 6964a20140..897ccd14b1 100644
--- a/crawl-ref/source/menu.cc
+++ b/crawl-ref/source/menu.cc
@@ -749,7 +749,18 @@ PlayerMenuEntry::PlayerMenuEntry(const std::string &str) :
bool MenuEntry::get_tiles(std::vector<tile_def>& tileset) const
{
- return (false);
+ if (!Options.tile_menu_icons || tiles.empty())
+ return (false);
+
+ for (unsigned int i = 0; i < tiles.size(); i++)
+ tileset.push_back(tiles[i]);
+
+ return (true);
+}
+
+void MenuEntry::add_tile(tile_def tile)
+{
+ tiles.push_back(tile);
}
bool MonsterMenuEntry::get_tiles(std::vector<tile_def>& tileset) const
@@ -761,6 +772,8 @@ bool MonsterMenuEntry::get_tiles(std::vector<tile_def>& tileset) const
if (!m)
return (false);
+ MenuEntry::get_tiles(tileset);
+
const bool fake = m->props.exists("fake");
const coord_def c = m->pos();
int ch = TILE_FLOOR_NORMAL;
@@ -865,6 +878,8 @@ bool FeatureMenuEntry::get_tiles(std::vector<tile_def>& tileset) const
if (feat == DNGN_UNSEEN)
return (false);
+ MenuEntry::get_tiles(tileset);
+
tileset.push_back(tile_def(tileidx_feature(feat, pos.x, pos.y),
TEX_DUNGEON));
@@ -879,6 +894,8 @@ bool PlayerMenuEntry::get_tiles(std::vector<tile_def>& tileset) const
if (!Options.tile_menu_icons)
return (false);
+ MenuEntry::get_tiles(tileset);
+
const player_save_info &player = *static_cast<player_save_info*>( data );
dolls_data equip_doll = player.doll;