take two: tty bug with long 'autodescribe' text
Messages on tty which bypass message history weren't handling long lines properly. If the text wrapped to line 2, that continuation portion was left on the screen after whatever operation that put it here was finished. (To reproduce: assign a long name to a monster with a long type name so that the combined length exceeds the display width, then move the cursor over it with ';' or '/' while autodescribe is On.) This time prompting isn't adversely affected.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.54 $ $NHDT-Date: 1560600663 2019/06/15 12:11:03 $
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.55 $ $NHDT-Date: 1560608320 2019/06/15 14:18:40 $
|
||||
|
||||
This fixes36.3 file is here to capture information about updates in the 3.6.x
|
||||
lineage following the release of 3.6.2 in May 2019. Please note, however,
|
||||
@@ -132,6 +132,9 @@ tty: re-do one optimization used when status conditions have all been removed
|
||||
and remove another that tried to check whether condition text to be
|
||||
displayed next was the same as the existing value; sometimes new
|
||||
status condition wouldn't be shown unless a screen redraw was forced
|
||||
tty: take two, if/when autodecribe feedback wraps past top line, clear
|
||||
continuation lines and redraw map if needed when top line is cleared
|
||||
['exposed by git' section has an entry for reversal of 'take one']
|
||||
Windows: some startup error messages were not being delivered successfully
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 topl.c $NHDT-Date: 1560600658 2019/06/15 12:10:58 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.46 $ */
|
||||
/* NetHack 3.6 topl.c $NHDT-Date: 1560608320 2019/06/15 14:18:40 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.47 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Michael Allison, 2009. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -151,15 +151,16 @@ const char *str;
|
||||
struct WinDesc *cw = wins[WIN_MESSAGE];
|
||||
|
||||
if (!(cw->flags & WIN_STOP)) {
|
||||
if (ttyDisplay->cury && ttyDisplay->toplin == 2)
|
||||
tty_clear_nhwindow(WIN_MESSAGE);
|
||||
|
||||
cw->curx = cw->cury = 0;
|
||||
home();
|
||||
cl_end();
|
||||
addtopl(str);
|
||||
|
||||
#if 0 /* this doesn't work as intended; it disrupts multi-line prompts */
|
||||
if (ttyDisplay->cury && ttyDisplay->toplin != 3)
|
||||
more();
|
||||
#endif
|
||||
ttyDisplay->toplin = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user