arogue5: fix player's typed responses getting put at the wrong place.

Some sections of code that prompt the user for a string of input were
calling get_str() with cw (the player-visible screen containing the
map), which caused whatever the player typed to get printed starting at
cw's idea of the cursor position, which was usually the Rogue's @-sign.
This corrupted the map.

The problem has been fixed by passing msgw (the message line at the top
of the screen) to get_str(), so the player's typing appears where msgw
thinks the cursor should be, which is in the sensible place right after
the prompt.  Some other get_str() invocations which used hw or stdscr
have been left unmodified.
This commit is contained in:
John "Elwin" Edwards 2012-09-08 22:05:05 -07:00
parent 5fe41fbc3a
commit 8b252e70a9
7 changed files with 8 additions and 8 deletions

View file

@ -700,7 +700,7 @@ pet_message: msg("The dungeon begins to rumble and shake!");
(obj->o_flags & ISPOST) == 0 &&
s_guess[which] == NULL) {
msg(terse ? "Call it: " : "What do you want to call it? ");
if (get_str(buf, cw) == NORM)
if (get_str(buf, msgw) == NORM)
{
s_guess[which] = new(strlen(buf) + 1);
strcpy(s_guess[which], buf);