summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/direct.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-05-11 15:27:04 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-05-11 15:27:04 +0000
commit659b254668cc249cd8d58d131247caf10690f480 (patch)
treeb9c1626e3f36eedc34f30bb9503c8e30af42a370 /crawl-ref/source/direct.cc
parentaa28a335cc05c3734ab9b69cc6498cb2d01ca2b4 (diff)
downloadcrawl-ref-659b254668cc249cd8d58d131247caf10690f480.tar.gz
crawl-ref-659b254668cc249cd8d58d131247caf10690f480.zip
Change targeting prompt if target_unshifted_dirs is set.
Show targeting prompt when exiting targeting help. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1459 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/direct.cc')
-rw-r--r--crawl-ref/source/direct.cc20
1 files changed, 13 insertions, 7 deletions
diff --git a/crawl-ref/source/direct.cc b/crawl-ref/source/direct.cc
index a532953eda..81a71d3c44 100644
--- a/crawl-ref/source/direct.cc
+++ b/crawl-ref/source/direct.cc
@@ -261,7 +261,8 @@ static const char *target_mode_help_text(int mode)
switch (mode)
{
case DIR_NONE:
- return "? - help, Shift-Dir - shoot in a straight line";
+ return Options.target_unshifted_dirs? "? - help" :
+ "? - help, Shift-Dir - shoot in a straight line";
case DIR_TARGET:
return "? - help, Dir - move target cursor";
default:
@@ -335,14 +336,18 @@ void direction(struct dist& moves, targeting_type restricts,
}
}
- // Prompts might get scrolled off if you have too few lines available.
- // We'll live with that.
- if ( !just_looking )
- mprf(MSGCH_PROMPT, "%s (%s)", prompt? prompt : "Aim",
- target_mode_help_text(restricts));
-
+ bool show_prompt = true;
while (1)
{
+ // Prompts might get scrolled off if you have too few lines available.
+ // We'll live with that.
+ if ( !just_looking && show_prompt )
+ {
+ mprf(MSGCH_PROMPT, "%s (%s)", prompt? prompt : "Aim",
+ target_mode_help_text(restricts));
+ show_prompt = false;
+ }
+
// Reinit...this needs to be done every loop iteration
// because moves is more persistent than loop_done.
moves.isValid = false;
@@ -624,6 +629,7 @@ void direction(struct dist& moves, targeting_type restricts,
force_redraw = true;
redraw_screen();
mesclr(true);
+ show_prompt = true;
break;
default: