summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r--crawl-ref/source/view.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 9715f16a11..3fb2de043f 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -255,6 +255,11 @@ bool is_terrain_changed( int x, int y )
return (env.map[x][y].flags & MAP_CHANGED_FLAG);
}
+bool is_terrain_mapped(const coord_def &p)
+{
+ return (env.map(p).flags & MAP_MAGIC_MAPPED_FLAG);
+}
+
// Used to mark dug out areas, unset when terrain is seen or mapped again.
void set_terrain_changed( int x, int y )
{
@@ -821,7 +826,7 @@ void clear_map(bool clear_detected_items, bool clear_detected_monsters)
if (!clear_detected_monsters && is_envmap_detected_mons(p))
continue;
- if (env.map(p).flags & MAP_MAGIC_MAPPED_FLAG)
+ if (is_terrain_mapped(p))
continue;
set_envmap_obj(p, is_terrain_known(p)? grd(p) : DNGN_UNSEEN);
@@ -3933,8 +3938,7 @@ bool magic_mapping(int map_radius, int proportion, bool suppress_msg,
clear_envmap_grid(*ri);
#ifdef USE_TILE
- if (!wizard_map && is_terrain_known(*ri)
- && !(env.map(*ri).flags & MAP_MAGIC_MAPPED_FLAG))
+ if (!wizard_map && is_terrain_known(*ri) && !is_terrain_mapped(*ri))
{
// Can't use set_envmap_obj because that would
// overwrite the gmap.