summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dbg-util.cc
diff options
context:
space:
mode:
authorVsevolod Kozlov <zaba@wybt.net>2010-12-15 21:59:15 +0300
committerVsevolod Kozlov <zaba@wybt.net>2010-12-15 21:59:15 +0300
commit5f1690d21ff7935370905fa59c7f1e27ff3c0f61 (patch)
treed6bf380b8b2a359718af351d906e7316731aec50 /crawl-ref/source/dbg-util.cc
parent13c9cd89a363162b849fb86a6541e668ef479a1e (diff)
downloadcrawl-ref-5f1690d21ff7935370905fa59c7f1e27ff3c0f61.tar.gz
crawl-ref-5f1690d21ff7935370905fa59c7f1e27ff3c0f61.zip
Dump extra vaults properly.
env.properties[LEVEL_EXTRAS_KEY] is now only used for extra vaults, which are saved into a hash table rather than a vector. Modify dbg-util.cc accordingly so it dumps out the right data.
Diffstat (limited to 'crawl-ref/source/dbg-util.cc')
-rw-r--r--crawl-ref/source/dbg-util.cc43
1 files changed, 19 insertions, 24 deletions
diff --git a/crawl-ref/source/dbg-util.cc b/crawl-ref/source/dbg-util.cc
index 220709ad22..e01f662f30 100644
--- a/crawl-ref/source/dbg-util.cc
+++ b/crawl-ref/source/dbg-util.cc
@@ -37,6 +37,18 @@ monster_type debug_prompt_for_monster(void)
return (MONS_NO_MONSTER);
}
+static void _dump_vault_table(const CrawlHashTable &table)
+{
+ if (!table.empty())
+ {
+ CrawlHashTable::const_iterator i = table.begin();
+
+ for (; i != table.end(); ++i)
+ mprf(" %s: %s", i->first.c_str(),
+ i->second.get_string().c_str());
+ }
+}
+
void debug_dump_levgen()
{
if (crawl_state.game_is_arena())
@@ -70,35 +82,18 @@ void debug_dump_levgen()
mprf("level build method = %s", method.c_str());
mprf("level layout type = %s", type.c_str());
- std::string extra;
-
- if (!props.exists(LEVEL_EXTRAS_KEY))
- extra = "ABSENT";
- else
+ if (props.exists(LEVEL_EXTRAS_KEY))
{
- const CrawlVector &vec = props[LEVEL_EXTRAS_KEY].get_vector();
-
- for (unsigned int i = 0; i < vec.size(); ++i)
- extra += vec[i].get_string() + ", ";
+ mpr("Level extras:");
+ const CrawlHashTable &extras = props[LEVEL_EXTRAS_KEY].get_table();
+ _dump_vault_table(extras);
}
- mprf("Level extras: %s", extra.c_str());
-
- mpr("Level vaults:");
- if (!props.exists(LEVEL_VAULTS_KEY))
- mpr("ABSENT");
- else
+ if (props.exists(LEVEL_VAULTS_KEY))
{
+ mpr("Level vaults:");
const CrawlHashTable &vaults = props[LEVEL_VAULTS_KEY].get_table();
- // const_iterator asserts if the table has hash_map == NULL
- if (!vaults.empty())
- {
- CrawlHashTable::const_iterator i = vaults.begin();
-
- for (; i != vaults.end(); ++i)
- mprf(" %s: %s", i->first.c_str(),
- i->second.get_string().c_str());
- }
+ _dump_vault_table(vaults);
}
mpr("");
}