summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-12-04 19:27:34 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-12-04 19:29:00 +0100
commit4a10fcf0a1c02d83dc8c2accce057ab180544e5a (patch)
tree7f45dba4cc322cf212fe5afa88ce48e2788b8125
parent6429ff85d196992311c5beaf8112043fcc5564a1 (diff)
downloadcrawl-ref-4a10fcf0a1c02d83dc8c2accce057ab180544e5a.tar.gz
crawl-ref-4a10fcf0a1c02d83dc8c2accce057ab180544e5a.zip
Do out-of-LOS staircase emphasis when drawing.
This fixes emphasised stair colours being out of date until they come into LOS again.
-rw-r--r--crawl-ref/source/show.cc4
-rw-r--r--crawl-ref/source/show.h4
-rw-r--r--crawl-ref/source/view.cc5
-rw-r--r--crawl-ref/source/viewmap.cc12
4 files changed, 15 insertions, 10 deletions
diff --git a/crawl-ref/source/show.cc b/crawl-ref/source/show.cc
index a28a5b5777..0d12f7f0ad 100644
--- a/crawl-ref/source/show.cc
+++ b/crawl-ref/source/show.cc
@@ -394,7 +394,7 @@ void show_def::init()
update_at(*ri, grid2show(*ri));
}
-show_type to_knowledge(show_type obj, bool emph)
+show_type to_knowledge(show_type obj)
{
if (Options.item_colour && obj.cls == SH_ITEM)
return (obj);
@@ -405,7 +405,5 @@ show_type to_knowledge(show_type obj, bool emph)
}
const feature_def& fdef = get_feature_def(obj);
obj.colour = fdef.seen_colour;
- if (emph && fdef.seen_em_colour)
- obj.colour = fdef.seen_em_colour;
return (obj);
}
diff --git a/crawl-ref/source/show.h b/crawl-ref/source/show.h
index 1554aa8b23..34a7d5b220 100644
--- a/crawl-ref/source/show.h
+++ b/crawl-ref/source/show.h
@@ -83,7 +83,7 @@ public:
};
// Convert a show object as in env.show to one to be stored in
-// env.map_knowledge (dropping feature colour mainly).
-show_type to_knowledge(show_type obj, bool emph);
+// env.map_knowledge (re-setting feature colour mainly).
+show_type to_knowledge(show_type obj);
#endif
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index bbf4f42dac..500335a71d 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -709,7 +709,7 @@ static int player_view_update_at(const coord_def &gc)
ret |= UF_AFFECT_EXCLUDES;
set_terrain_seen(gc);
- set_map_knowledge_obj(gc, to_knowledge(env.show(ep), emphasise(gc)));
+ set_map_knowledge_obj(gc, to_knowledge(env.show(ep)));
set_map_knowledge_detected_mons(gc, false);
set_map_knowledge_detected_item(gc, false);
@@ -724,8 +724,7 @@ static int player_view_update_at(const coord_def &gc)
#endif
if (Options.clean_map && env.show.get_backup(ep))
- set_map_knowledge_obj(gc, to_knowledge(env.show.get_backup(ep),
- emphasise(gc)));
+ set_map_knowledge_obj(gc, to_knowledge(env.show.get_backup(ep)));
return (ret);
}
diff --git a/crawl-ref/source/viewmap.cc b/crawl-ref/source/viewmap.cc
index 43802b9916..5c642627f8 100644
--- a/crawl-ref/source/viewmap.cc
+++ b/crawl-ref/source/viewmap.cc
@@ -1217,6 +1217,14 @@ unsigned get_map_col(const coord_def& p, bool travel)
{
if (travel && _travel_colour_override(p))
return _get_travel_colour(p);
- else
- return get_map_knowledge_col(p);
+
+ const show_type& obj = env.map_knowledge(p).object;
+ if (obj.cls == SH_FEATURE && emphasise(p))
+ {
+ const feature_def& fdef = get_feature_def(obj);
+ if (fdef.seen_em_colour)
+ return fdef.seen_em_colour;
+ }
+
+ return get_map_knowledge_col(p);
}