diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-13 20:06:21 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-13 20:06:21 +0000 |
commit | e80676d145343847ea8f90581d6bfa487375ef62 (patch) | |
tree | 6ceac062f1b7c8cfa9576418e4585ef7f3fc9990 /crawl-ref/source/directn.cc | |
parent | 49f1fcf1259b1376b71850fffbb28b2a57bd7901 (diff) | |
download | crawl-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.cc | 27 |
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 |