summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/directn.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/directn.cc')
-rw-r--r--crawl-ref/source/directn.cc21
1 files changed, 9 insertions, 12 deletions
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index ba02499131..8230db5e3e 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -875,24 +875,20 @@ crawl_exit_hook::~crawl_exit_hook()
range_view_annotator::range_view_annotator(int range)
{
- if (range >= 0)
+ if (Options.darken_beyond_range && range >= 0)
{
-#ifndef USE_TILE
- if (Options.target_range != -1)
-#endif
- Options.target_range = range;
+ crawl_state.darken_range = range;
+ viewwindow(false, false);
}
}
range_view_annotator::~range_view_annotator()
{
- restore_state();
- viewwindow(false);
-}
-
-void range_view_annotator::restore_state()
-{
- Options.target_range = 0;
+ if (Options.darken_beyond_range && crawl_state.darken_range >= 0)
+ {
+ crawl_state.darken_range = -1;
+ viewwindow(false, false);
+ }
}
bool _dist_ok(const dist& moves, int range, targ_mode_type mode,
@@ -1668,6 +1664,7 @@ void direction(dist& moves, targetting_type restricts,
if (need_beam_redraw)
{
#ifndef USE_TILE
+ // Clear the old ray.
viewwindow(false, false);
#endif
if (show_beam && have_beam)