replace getenv("TTYINV") with perminv_mode option

Add a new option 'perminv_mode' to augment perm_invent.  It handles
the same choices as the temporary TTYINV method:  show all items other
than gold, show full inventory including gold, or only show in-use
items (similar to the '*' command).

For tty, both the all-except-gold and full-inventory modes can add
the poorly named 'sparse' variation which populates unused slots in
its fixed grid with the inventory letter that would go in each.

For others, the default has been changed from full-inventory to
all-except-gold.  Note that gold is treated as part of 'all' or of
'in-use' if it is quivered because having the amount be shown on the
status line doesn't make that redundant.

Changing the default may mess up WinGUI if it assumes that perm_invent
is full inventory with gold.

Initially I was going to change perm_invent into a compound but this
leaves it as an on/off toggle and adds perminv_mode as a separate
option for how to show the inventory when the toggle is on.  It may
make sense to combine them since dual controls is a little confusing,
but right now setting perm_invent On when perminv_mode is 'none'
changes that to 'all' and changing perminv_mode away from 'none' when
perm_invent is Off toggles it to On.

Guidebook.mn has been updated but as usual Guidebook.tex is lagging.
This commit is contained in:
PatR
2023-11-05 02:31:26 -08:00
parent e16f80395b
commit 2ee7509945
8 changed files with 369 additions and 79 deletions

View File

@@ -40,7 +40,7 @@
.ds f0 "\*(vr
.ds f1
.\"DO NOT REMOVE NH_DATESUB .ds f2 "DATE(%B %-d, %Y)
.ds f2 "September 8, 2023
.ds f2 "November 4, 2023
.
.\" A note on some special characters:
.\" \(lq = left double quote
@@ -4281,8 +4281,38 @@ and entries to be removed by \(oq\f(CR!\fP\(cq and name.
The positive (no \(oq!\(cq) and negative (with \(oq!\(cq) entries
can be intermixed.
.lp perm_invent
If true, always display your current inventory in a window. This only
If true, always display your current inventory in a window (default false).
.lp ""
This only
makes sense for windowing system interfaces that implement this feature.
For those that do, the
.op perminv_mode
option can be used to refine what gets displayed for \fIperm_invent\fP.
Setting that to a value other than \fInone\fP while \fIperm_invent\fP is
false will change it to true.
.lp perminv_mode
Augments the
.op perm_invent
option.
Value is one of
.PS "\f(CRin-use\fP"
.PL "\f(CRnone\fP"
behave as if \fIperm_invent\fP is false;
.PL "\f(CRall\fP"
show all inventory except for gold;
.PL "\f(CRfull\fP"
show full inventory including gold;
.PL "\f(CRin-use\fP"
only show items which are in use (worn, wielded, lit lamp).
.\" %if these get uncommented, change .PS argument to "\f(CRgold+grid\fP"
.\" %and the terminator for in-use to semi-colon.
.\" .PL "\f(CRon+grid\fP"
.\" special for tty only, show \fIall\fP plus unused inventory letters;
.\" .PL "\f(CRgold+grid\fP"
.\" special for tty only, show \fIfull\fP plus unused inventory letters.
.PE
Default is \fInone\fP but if \fIperm_invent\fP gets set to true while
it is \fInone\fP it will be changed to \fIall\fP.
.\" petattr is a wincap option but we'll document it here...
.lp "petattr "
Specifies one or more text highlighting attributes to use when showing