# HG changeset patch # User John "Elwin" Edwards # Date 1347167105 25200 # Node ID ad2cb9a07aaaa0cc936decf21551d33f3f924d67 # Parent 19903deed3927528b07a101e74aeef3feb8dcf50 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. diff -r 19903deed392 -r ad2cb9a07aaa arogue5/command.c --- a/arogue5/command.c Wed Sep 05 10:14:34 2012 -0700 +++ b/arogue5/command.c Sat Sep 08 22:05:05 2012 -0700 @@ -312,7 +312,7 @@ int tlev; prbuf[0] = '\0'; msg("Which level? "); - if(get_str(prbuf,cw) == NORM) { + if(get_str(prbuf, msgw) == NORM) { tlev = atoi(prbuf); if(tlev < 1) { mpos = 0; @@ -929,7 +929,7 @@ free(guess[obj->o_which]); strcpy(prbuf, elsewise); } - if (get_str(prbuf, cw) == NORM) { + if (get_str(prbuf, msgw) == NORM) { if (mark) { strncpy(obj->o_mark, prbuf, MARKLEN-1); obj->o_mark[MARKLEN-1] = '\0'; diff -r 19903deed392 -r ad2cb9a07aaa arogue5/misc.c --- a/arogue5/misc.c Wed Sep 05 10:14:34 2012 -0700 +++ b/arogue5/misc.c Sat Sep 08 22:05:05 2012 -0700 @@ -727,7 +727,7 @@ (obj->o_flags & ISKNOW) == 0 && m_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) { m_guess[which] = new((unsigned int) strlen(buf) + 1); strcpy(m_guess[which], buf); } diff -r 19903deed392 -r ad2cb9a07aaa arogue5/potions.c --- a/arogue5/potions.c Wed Sep 05 10:14:34 2012 -0700 +++ b/arogue5/potions.c Sat Sep 08 22:05:05 2012 -0700 @@ -607,7 +607,7 @@ p_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) { p_guess[which] = new((unsigned int) strlen(buf) + 1); strcpy(p_guess[which], buf); diff -r 19903deed392 -r ad2cb9a07aaa arogue5/rings.c --- a/arogue5/rings.c Wed Sep 05 10:14:34 2012 -0700 +++ b/arogue5/rings.c Sat Sep 08 22:05:05 2012 -0700 @@ -99,7 +99,7 @@ (obj->o_flags & ISKNOW) == 0 && r_guess[obj->o_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) { r_guess[obj->o_which] = new((unsigned int) strlen(buf) + 1); strcpy(r_guess[obj->o_which], buf); diff -r 19903deed392 -r ad2cb9a07aaa arogue5/save.c --- a/arogue5/save.c Wed Sep 05 10:14:34 2012 -0700 +++ b/arogue5/save.c Sat Sep 08 22:05:05 2012 -0700 @@ -69,7 +69,7 @@ msg("File name: "); mpos = 0; buf[0] = '\0'; - if (get_str(buf, cw) == QUIT) + if (get_str(buf, msgw) == QUIT) { msg(""); return FALSE; diff -r 19903deed392 -r ad2cb9a07aaa arogue5/scrolls.c --- a/arogue5/scrolls.c Wed Sep 05 10:14:34 2012 -0700 +++ b/arogue5/scrolls.c Sat Sep 08 22:05:05 2012 -0700 @@ -700,7 +700,7 @@ (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); diff -r 19903deed392 -r ad2cb9a07aaa arogue5/wear.c --- a/arogue5/wear.c Wed Sep 05 10:14:34 2012 -0700 +++ b/arogue5/wear.c Sat Sep 08 22:05:05 2012 -0700 @@ -230,7 +230,7 @@ (obj->o_flags & ISKNOW) == 0 && m_guess[obj->o_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) { m_guess[obj->o_which] = new((unsigned int) strlen(buf) + 1); strcpy(m_guess[obj->o_which], buf); }