diff options
Diffstat (limited to 'crawl-ref/source/mapdef.cc')
-rw-r--r-- | crawl-ref/source/mapdef.cc | 103 |
1 files changed, 5 insertions, 98 deletions
diff --git a/crawl-ref/source/mapdef.cc b/crawl-ref/source/mapdef.cc index 91243e8c2e..5575656a25 100644 --- a/crawl-ref/source/mapdef.cc +++ b/crawl-ref/source/mapdef.cc @@ -1158,8 +1158,7 @@ map_def::map_def() : name(), tags(), place(), depths(), orient(), chance(), welcome_messages(), map(), mons(), items(), keyspecs(), prelude("dlprelude"), main("dlmain"), validate("dlvalidate"), - veto("dlveto"), rock_colour(BLACK), floor_colour(BLACK), - index_only(false), cache_offset(0L) + veto("dlveto"), index_only(false), cache_offset(0L) { init(); } @@ -1183,13 +1182,8 @@ void map_def::reinit() { items.clear(); keyspecs.clear(); - level_flags.clear(); - branch_flags.clear(); - welcome_messages.clear(); - rock_colour = floor_colour = BLACK; - // Base chance; this is not a percentage. chance = 10; @@ -1452,19 +1446,19 @@ std::string map_def::validate_map_def() switch (orient) { case MAP_NORTH: case MAP_SOUTH: - if (map.height() > GYM * 2 / 3) + if (map.height() >= GYM * 2 / 3) return make_stringf("Map too large - height %d (max %d)", map.height(), GYM * 2 / 3); break; case MAP_EAST: case MAP_WEST: - if (map.width() > GXM * 2 / 3) + if (map.width() >= GXM * 2 / 3) return make_stringf("Map too large - width %d (max %d)", map.width(), GXM * 2 / 3); break; case MAP_NORTHEAST: case MAP_SOUTHEAST: case MAP_NORTHWEST: case MAP_SOUTHWEST: case MAP_FLOAT: - if (map.width() > GXM * 2 / 3 || map.height() > GYM * 2 / 3) + if (map.width() >= GXM * 2 / 3 || map.height() > GYM * 2 / 3) return make_stringf("Map too large - %dx%d (max %dx%d)", map.width(), map.height(), GXM * 2 / 3, GYM * 2 / 3); @@ -1745,12 +1739,6 @@ bool map_def::has_tag_suffix(const std::string &suffix) const && tags.find(suffix + " ") != std::string::npos; } -const keyed_mapspec *map_def::mapspec_for_key(int key) const -{ - keyed_specs::const_iterator i = keyspecs.find(key); - return i != keyspecs.end()? &i->second : NULL; -} - keyed_mapspec *map_def::mapspec_for_key(int key) { keyed_specs::iterator i = keyspecs.find(key); @@ -1788,11 +1776,6 @@ std::string map_def::add_key_mons(const std::string &s) return add_key_field(s, &keyed_mapspec::set_mons); } -std::string map_def::add_key_mask(const std::string &s) -{ - return add_key_field(s, &keyed_mapspec::set_mask); -} - std::vector<std::string> map_def::get_shuffle_strings() const { return map.get_shuffle_strings(); @@ -2522,55 +2505,6 @@ std::string map_marker_spec::describe() const } ////////////////////////////////////////////////////////////////////////// -// map_flags -map_flags::map_flags() - : flags_set(0), flags_unset(0) -{ -} - -void map_flags::clear() -{ - flags_set = flags_unset = 0; -} - -typedef std::map<std::string, unsigned long> flag_map; - -map_flags map_flags::parse(const std::string flag_list[], - const std::string &s) throw(std::string) -{ - map_flags mf; - - const std::vector<std::string> segs = split_string("/", s); - - flag_map flag_vals; - for (int i = 0; flag_list[i] != ""; i++) - flag_vals[flag_list[i]] = 1 << i; - - for (int i = 0, size = segs.size(); i < size; i++) - { - std::string flag = segs[i]; - bool negate = false; - - if (flag[0] == '!') - { - flag = flag.substr(1); - negate = true; - } - - flag_map::const_iterator val = flag_vals.find(flag); - if (val == flag_vals.end()) - throw make_stringf("Unknown flag: '%s'", flag.c_str()); - - if (negate) - mf.flags_unset |= val->second; - else - mf.flags_set |= val->second; - } - - return mf; -} - -////////////////////////////////////////////////////////////////////////// // keyed_mapspec keyed_mapspec::keyed_mapspec() @@ -2697,31 +2631,9 @@ std::string keyed_mapspec::set_item(const std::string &s, bool fix) return (err); } -std::string keyed_mapspec::set_mask(const std::string &s, bool garbage) -{ - UNUSED(garbage); - - err.clear(); - - try - { - static std::string flag_list[] = - {"vault", "no_item_gen", "no_monster_gen", "no_pool_fixup", - "no_secret_doors", "opaque", ""}; - map_mask = map_flags::parse(flag_list, s); - } - catch (const std::string &error) - { - err = error; - return (err); - } - - return (err); -} - feature_spec keyed_mapspec::get_feat() { - return feat.get_feat('.'); + return feat.get_feat(key_glyph); } mons_list &keyed_mapspec::get_monsters() @@ -2734,11 +2646,6 @@ item_list &keyed_mapspec::get_items() return (item); } -map_flags &keyed_mapspec::get_mask() -{ - return (map_mask); -} - ////////////////////////////////////////////////////////////////////////// // feature_slot |