summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/directn.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-13 20:06:21 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-13 20:06:21 +0000
commite80676d145343847ea8f90581d6bfa487375ef62 (patch)
tree6ceac062f1b7c8cfa9576418e4585ef7f3fc9990 /crawl-ref/source/directn.cc
parent49f1fcf1259b1376b71850fffbb28b2a57bd7901 (diff)
downloadcrawl-ref-e80676d145343847ea8f90581d6bfa487375ef62.tar.gz
crawl-ref-e80676d145343847ea8f90581d6bfa487375ef62.zip
Apply my latest commits to 0.4.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@6531 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/directn.cc')
-rw-r--r--crawl-ref/source/directn.cc27
1 files changed, 20 insertions, 7 deletions
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index ba9bf9fe5c..746ac18bb3 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -474,10 +474,11 @@ void direction(dist& moves, targeting_type restricts,
bool needs_path, bool may_target_monster, const char *prompt,
targeting_behaviour *beh, bool cancel_at_self)
{
- static targeting_behaviour stock_behaviour;
if (!beh)
+ {
+ static targeting_behaviour stock_behaviour;
beh = &stock_behaviour;
-
+ }
beh->just_looking = just_looking;
#ifndef USE_TILE
@@ -485,8 +486,16 @@ void direction(dist& moves, targeting_type restricts,
&& Options.mlist_targetting == MLIST_TARGET_HIDDEN)
{
Options.mlist_targetting = MLIST_TARGET_ON;
- bool full_info = update_monster_pane();
- _fill_monster_list(full_info);
+
+ const int full_info = update_monster_pane();
+ if (full_info == -1)
+ {
+ // If there are no monsters after all, turn the the targetting
+ // off again.
+ Options.mlist_targetting = MLIST_TARGET_HIDDEN;
+ }
+ else
+ _fill_monster_list(full_info);
}
#endif
@@ -735,10 +744,14 @@ void direction(dist& moves, targeting_type restricts,
else
Options.mlist_targetting = MLIST_TARGET_ON;
- bool full_info = update_monster_pane();
-
+ const int full_info = update_monster_pane();
if (Options.mlist_targetting == MLIST_TARGET_ON)
- _fill_monster_list(full_info);
+ {
+ if (full_info == -1)
+ Options.mlist_targetting = MLIST_TARGET_HIDDEN;
+ else
+ _fill_monster_list(full_info);
+ }
break;
}
#endif