summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-05 17:23:21 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-05 17:23:21 +0000
commitf59179ad23e7111d7a74ae2ea2c614ffcaf80218 (patch)
treef467284bffd1f799201f8715e1821e1798f03123
parentc8a3b79684f1fc090f4d389a49ec91e856c6a8de (diff)
downloadcrawl-ref-f59179ad23e7111d7a74ae2ea2c614ffcaf80218.tar.gz
crawl-ref-f59179ad23e7111d7a74ae2ea2c614ffcaf80218.zip
Merged trunk 1471, 1473 into 0.2 branch ('f' smart-targeting, Press ? for help
on level map). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.2@1538 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/direct.cc11
-rw-r--r--crawl-ref/source/enum.h1
-rw-r--r--crawl-ref/source/view.cc10
3 files changed, 20 insertions, 2 deletions
diff --git a/crawl-ref/source/direct.cc b/crawl-ref/source/direct.cc
index 84d2010f3c..92f91a19c0 100644
--- a/crawl-ref/source/direct.cc
+++ b/crawl-ref/source/direct.cc
@@ -131,7 +131,8 @@ static command_type read_direction_key(bool just_looking = false)
case '>': return CMD_TARGET_FIND_DOWNSTAIR;
case CONTROL('F'): return CMD_TARGET_CYCLE_TARGET_MODE;
- case 'p': case 'f': case 't': return CMD_TARGET_PREV_TARGET;
+ case 'p': return CMD_TARGET_PREV_TARGET;
+ case 'f': case 't': return CMD_TARGET_MAYBE_PREV_TARGET;
case '-': return CMD_TARGET_CYCLE_BACK;
case '+': case '=': return CMD_TARGET_CYCLE_FORWARD;
@@ -384,6 +385,14 @@ void direction(struct dist& moves, targeting_type restricts,
target_unshifted = false;
}
+ if ( key_command == CMD_TARGET_MAYBE_PREV_TARGET )
+ {
+ if ( moves.tx == you.x_pos && moves.ty == you.y_pos )
+ key_command = CMD_TARGET_PREV_TARGET;
+ else
+ key_command = CMD_TARGET_SELECT;
+ }
+
bool need_beam_redraw = false;
bool force_redraw = false;
bool loop_done = false;
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index abe1b0a990..69b44238f4 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -693,6 +693,7 @@ enum command_type
CMD_TARGET_CYCLE_TARGET_MODE,
CMD_TARGET_PREV_TARGET,
+ CMD_TARGET_MAYBE_PREV_TARGET,
CMD_TARGET_SELECT,
CMD_TARGET_SELECT_ENDPOINT,
CMD_TARGET_OBJ_CYCLE_BACK,
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 21280ca7b4..64e44c9b83 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -2042,7 +2042,15 @@ static void draw_level_map(int start_x, int start_y, bool travel_mode)
{
gotoxy(1, 1);
textcolor(WHITE);
- cprintf("Level %s", level_description_string().c_str());
+ cprintf("%-*s",
+ get_number_of_cols() - 1,
+ ("Level " + level_description_string()).c_str());
+
+ const formatted_string help =
+ formatted_string::parse_string("(Press <w>?</w> for help)");
+ textcolor(LIGHTGREY);
+ gotoxy(get_number_of_cols() - std::string(help).length() + 1, 1);
+ help.display();
}
gotoxy(1, top);