'urgent' messages

Follow up on some old groundwork.  For tty, if the core has designated
a message as 'urgent', override any message suppression taking place
because of ESC typed at the --More-- prompt.  Right now, "You die"
messages, feedback about having something stolen, feedback for
"amorous demon" interaction (mainly in case of armor removal), and
exploding a bag of holding are treated as urgent.

The "You die" case is already handled by a hack in top-line handling;
I left that in place so the conversion of 3 or 4 pline("You die.*")
to custompline(URGENT_MESSAGE, "You die.*") was redundant.  There
are probably various non-You_die messages which precede done() which
should be marked urgent too.

Other interfaces might want to do something similar.  And we ought to
implement MSGTYPE=force or MSGTYPE=urgent to allow players to indicate
other messages that they want have to override suppression.  But I'm
not intending to work on either of those.  I mainly wanted to force
the magic bag explosion message to be shown since a sequence of "You
put <foo> into <bag>." messages is a likely candidate for --More--ESC.
This commit is contained in:
PatR
2021-12-17 17:46:49 -08:00
parent 420afb6b1f
commit 420d121f93
9 changed files with 55 additions and 38 deletions

View File

@@ -712,6 +712,8 @@ polymorphing while wearing an amulet of strangulation from a form that wasn't
vulnerable to one that was gave wrong message ("still constricts")
for accessibility reasons, give a message when monster teleports
if a gremlin stole intrinsic 'see invisible' the map wasn't updated properly
mark some messages as urgent ("You die*.", having equipment stolen, being
caught in a magical explosion)
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
@@ -1323,6 +1325,8 @@ tiles: male and female variations in monsters.txt; tested only with tile2bmp
conversion utility so far; also supported by tilemap utility to
generate tile.c
tty: use bright colors directly on supporting terminals
tty: if a message is marked urgent, override message suppression initiated
by user having typed ESC at previous --More-- prompt
Unix: can define NOSUSPEND in config.h or src/Makefile's CFLAGS to prevent
unixconf.h from enabling SUSPEND without need to modify unixconf.h
X11: implement 'selectsaved', restore via menu of saved games