Enable TTY_PERM_INVENT

The permanent inventory will be automatically shown if the terminal size
allows.
But only output an error message if the player requested it via
perm_invent option.
This commit is contained in:
Patric Mueller
2022-06-20 18:07:24 +02:00
parent 65659b2cab
commit cb0dd7af3f
3 changed files with 18 additions and 12 deletions

View File

@@ -562,7 +562,7 @@ typedef unsigned char uchar;
/* An experimental minimalist inventory list capability under tty if you have
* at least 28 additional rows beneath the status window on your terminal */
/* #define TTY_PERM_INVENT */
#define TTY_PERM_INVENT
/* NetHack will execute an external program whenever a new message-window
* message is shown. The program to execute is given in environment variable

View File

@@ -636,7 +636,7 @@ display_gamewindows(void)
start_menu(WIN_INVEN, 0U), end_menu(WIN_INVEN, (char *) 0);
#ifdef TTY_PERM_INVENT
if (WINDOWPORT("tty") && iflags.perm_invent) {
if (WINDOWPORT("tty")) {
g.tty_invent_win = create_nhwindow(NHW_TTYINVENT);
}
#endif

View File

@@ -1625,23 +1625,29 @@ tty_create_nhwindow(int type)
if (newwin->rows < tty_pi_minrow) {
tty_destroy_nhwindow(newid);
if (iflags.perm_invent) {
raw_printf("tty perm_invent has been disabled.");
raw_printf(
"tty perm_invent requires %d rows, your terminal has %d.",
(iflags.wc2_statuslines > 2) ? 54 : 53, ttyDisplay->rows);
iflags.perm_invent = FALSE;
}
return WIN_ERR;
} else if (newwin->cols < tty_pi_mincol) {
tty_destroy_nhwindow(newid);
if (iflags.perm_invent) {
raw_printf("tty perm_invent has been disabled.");
raw_printf(
"tty perm_invent requires %d columns, your terminal has %d.",
tty_pi_mincol, ttyDisplay->cols);
iflags.perm_invent = FALSE;
}
return WIN_ERR;
} else {
int r, c;
iflags.perm_invent = TRUE;
newwin->maxrow = tty_pi_minrow;
newwin->maxcol = newwin->cols;
/* establish the borders */