diff options
-rw-r--r-- | crawl-ref/source/direct.cc | 11 | ||||
-rw-r--r-- | crawl-ref/source/enum.h | 1 | ||||
-rw-r--r-- | crawl-ref/source/view.cc | 10 |
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); |