diff options
-rw-r--r-- | crawl-ref/source/acr.cc | 15 | ||||
-rw-r--r-- | crawl-ref/source/output.cc | 14 |
2 files changed, 21 insertions, 8 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc index 4a49cbcbf5..cf9bf7e992 100644 --- a/crawl-ref/source/acr.cc +++ b/crawl-ref/source/acr.cc @@ -1374,6 +1374,14 @@ static bool _cmd_is_repeatable(command_type cmd, bool is_again = false) // Used to determine whether to apply the berserk penalty at end of round. bool apply_berserk_penalty = false; +static void _center_cursor() +{ +#ifndef USE_TILE + const coord_def cwhere = grid2view(you.pos()); + cgotoxy(cwhere.x, cwhere.y); +#endif +} + // // This function handles the player's input. It's called from main(), // from inside an endless loop. @@ -1477,10 +1485,7 @@ static void _input() handle_delay(); - const coord_def cwhere = grid2view(you.pos()); -#ifndef USE_TILE - cgotoxy(cwhere.x, cwhere.y); -#endif + _center_cursor(); if (you_are_delayed()) { @@ -3348,6 +3353,8 @@ static void _check_messages() { _announce_messages(); update_message_status(); + // Recenter the cursor on the player. + _center_cursor(); } } #endif diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc index fdcc9380bb..d6263ac742 100644 --- a/crawl-ref/source/output.cc +++ b/crawl-ref/source/output.cc @@ -203,13 +203,17 @@ static int _dur_colour( int running_out_color, bool running_out ) #ifdef DGL_SIMPLE_MESSAGING void update_message_status() { + static const char *msg = "(Hit _)"; + static const int len = strlen(msg); + static const std::string spc(len, ' '); + textcolor(LIGHTBLUE); - cgotoxy(36, 1, GOTO_STAT); + cgotoxy(crawl_view.hudsz.x - len + 1, 1, GOTO_STAT); if (SysEnv.have_messages) - cprintf("(msg)"); + cprintf(msg); else - cprintf(" "); + cprintf(spc.c_str()); textcolor(LIGHTGREY); } #endif @@ -954,7 +958,9 @@ void redraw_skill(const std::string &your_name, const std::string &class_name) cgotoxy(1 + crawl_view.hudsz.x-9, 1, GOTO_STAT); cprintf(" *WIZARD*"); } - clear_to_end_of_line(); +#ifdef DGL_SIMPLE_MESSAGING + update_message_status(); +#endif // Line 2: // Level N Minotaur [of God] |