From 4a10fcf0a1c02d83dc8c2accce057ab180544e5a Mon Sep 17 00:00:00 2001 From: Robert Vollmert Date: Fri, 4 Dec 2009 19:27:34 +0100 Subject: Do out-of-LOS staircase emphasis when drawing. This fixes emphasised stair colours being out of date until they come into LOS again. --- crawl-ref/source/show.cc | 4 +--- crawl-ref/source/show.h | 4 ++-- crawl-ref/source/view.cc | 5 ++--- crawl-ref/source/viewmap.cc | 12 ++++++++++-- 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); } -- cgit v1.2.3-54-g00ecf