add docs for the cmdhelp conditionals
This commit is contained in:
31
src/pager.c
31
src/pager.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 pager.c $NHDT-Date: 1465114189 2016/06/05 08:09:49 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.107 $ */
|
||||
/* NetHack 3.6 pager.c $NHDT-Date: 1466638086 2016/06/22 23:28:06 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.111 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -1307,6 +1307,35 @@ doidtrap()
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
Implements a rudimentary if/elif/else/endif interpretor and use
|
||||
conditionals in dat/cmdhelp to describe what command each keystroke
|
||||
currently invokes, so that there isn't a lot of "(debug mode only)"
|
||||
and "(if number_pad is off)" cluttering the feedback that the user
|
||||
sees. (The conditionals add quite a bit of clutter to the raw data
|
||||
but users don't see that. number_pad produces a lot of conditional
|
||||
commands: basic letters vs digits, 'g' vs 'G' for '5', phone
|
||||
keypad vs normal layout of digits, and QWERTZ keyboard swap between
|
||||
y/Y/^Y/M-y/M-Y/M-^Y and z/Z/^Z/M-z/M-Z/M-^Z.)
|
||||
|
||||
The interpretor understands
|
||||
'&#' for comment,
|
||||
'&? option' for 'if' (also '&? !option'
|
||||
or '&? option=value[,value2,...]'
|
||||
or '&? !option=value[,value2,...]'),
|
||||
'&: option' for 'elif' (with argument variations same as 'if';
|
||||
any number of instances for each 'if'),
|
||||
'&:' for 'else' (also '&: #comment';
|
||||
0 or 1 instance for a given 'if'), and
|
||||
'&.' for 'endif' (also '&. #comment'; required for each 'if').
|
||||
|
||||
The option handling is a bit of a mess, with no generality for
|
||||
which options to deal with and only a comma separated list of
|
||||
integer values for the '=value' part. number_pad is the only
|
||||
supported option that has a value; the few others (wizard/debug,
|
||||
rest_on_space, #if SHELL, #if SUSPEND) are booleans.
|
||||
*/
|
||||
|
||||
STATIC_DCL void
|
||||
whatdoes_help()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user