diff options
author | Vsevolod Kozlov <zaba@wybt.net> | 2010-12-15 21:59:15 +0300 |
---|---|---|
committer | Vsevolod Kozlov <zaba@wybt.net> | 2010-12-15 21:59:15 +0300 |
commit | 5f1690d21ff7935370905fa59c7f1e27ff3c0f61 (patch) | |
tree | d6bf380b8b2a359718af351d906e7316731aec50 /crawl-ref/source/dbg-util.cc | |
parent | 13c9cd89a363162b849fb86a6541e668ef479a1e (diff) | |
download | crawl-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.cc | 43 |
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(""); } |