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:
parent
5fe41fbc3a
commit
8b252e70a9
7 changed files with 8 additions and 8 deletions
|
|
@ -312,7 +312,7 @@ command()
|
||||||
int tlev;
|
int tlev;
|
||||||
prbuf[0] = '\0';
|
prbuf[0] = '\0';
|
||||||
msg("Which level? ");
|
msg("Which level? ");
|
||||||
if(get_str(prbuf,cw) == NORM) {
|
if(get_str(prbuf, msgw) == NORM) {
|
||||||
tlev = atoi(prbuf);
|
tlev = atoi(prbuf);
|
||||||
if(tlev < 1) {
|
if(tlev < 1) {
|
||||||
mpos = 0;
|
mpos = 0;
|
||||||
|
|
@ -929,7 +929,7 @@ bool mark;
|
||||||
free(guess[obj->o_which]);
|
free(guess[obj->o_which]);
|
||||||
strcpy(prbuf, elsewise);
|
strcpy(prbuf, elsewise);
|
||||||
}
|
}
|
||||||
if (get_str(prbuf, cw) == NORM) {
|
if (get_str(prbuf, msgw) == NORM) {
|
||||||
if (mark) {
|
if (mark) {
|
||||||
strncpy(obj->o_mark, prbuf, MARKLEN-1);
|
strncpy(obj->o_mark, prbuf, MARKLEN-1);
|
||||||
obj->o_mark[MARKLEN-1] = '\0';
|
obj->o_mark[MARKLEN-1] = '\0';
|
||||||
|
|
|
||||||
|
|
@ -727,7 +727,7 @@ int which;
|
||||||
(obj->o_flags & ISKNOW) == 0 &&
|
(obj->o_flags & ISKNOW) == 0 &&
|
||||||
m_guess[which] == NULL) {
|
m_guess[which] == NULL) {
|
||||||
msg(terse ? "Call it: " : "What do you want to call it? ");
|
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);
|
m_guess[which] = new((unsigned int) strlen(buf) + 1);
|
||||||
strcpy(m_guess[which], buf);
|
strcpy(m_guess[which], buf);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -607,7 +607,7 @@ bool is_potion;
|
||||||
p_guess[which] == NULL)
|
p_guess[which] == NULL)
|
||||||
{
|
{
|
||||||
msg(terse ? "Call it: " : "What do you want to call it? ");
|
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);
|
p_guess[which] = new((unsigned int) strlen(buf) + 1);
|
||||||
strcpy(p_guess[which], buf);
|
strcpy(p_guess[which], buf);
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ register struct object *obj;
|
||||||
(obj->o_flags & ISKNOW) == 0 &&
|
(obj->o_flags & ISKNOW) == 0 &&
|
||||||
r_guess[obj->o_which] == NULL) {
|
r_guess[obj->o_which] == NULL) {
|
||||||
msg(terse ? "Call it: " : "What do you want to call it? ");
|
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);
|
r_guess[obj->o_which] = new((unsigned int) strlen(buf) + 1);
|
||||||
strcpy(r_guess[obj->o_which], buf);
|
strcpy(r_guess[obj->o_which], buf);
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ save_game()
|
||||||
msg("File name: ");
|
msg("File name: ");
|
||||||
mpos = 0;
|
mpos = 0;
|
||||||
buf[0] = '\0';
|
buf[0] = '\0';
|
||||||
if (get_str(buf, cw) == QUIT)
|
if (get_str(buf, msgw) == QUIT)
|
||||||
{
|
{
|
||||||
msg("");
|
msg("");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
|
||||||
|
|
@ -700,7 +700,7 @@ pet_message: msg("The dungeon begins to rumble and shake!");
|
||||||
(obj->o_flags & ISPOST) == 0 &&
|
(obj->o_flags & ISPOST) == 0 &&
|
||||||
s_guess[which] == NULL) {
|
s_guess[which] == NULL) {
|
||||||
msg(terse ? "Call it: " : "What do you want to call it? ");
|
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);
|
s_guess[which] = new(strlen(buf) + 1);
|
||||||
strcpy(s_guess[which], buf);
|
strcpy(s_guess[which], buf);
|
||||||
|
|
|
||||||
|
|
@ -230,7 +230,7 @@ wear()
|
||||||
(obj->o_flags & ISKNOW) == 0 &&
|
(obj->o_flags & ISKNOW) == 0 &&
|
||||||
m_guess[obj->o_which] == NULL) {
|
m_guess[obj->o_which] == NULL) {
|
||||||
msg(terse ? "Call it: " : "What do you want to call it? ");
|
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);
|
m_guess[obj->o_which] = new((unsigned int) strlen(buf) + 1);
|
||||||
strcpy(m_guess[obj->o_which], buf);
|
strcpy(m_guess[obj->o_which], buf);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue