Add a bunch of documentation comments

This commit is contained in:
2025-10-15 12:45:54 -05:00
parent 0b9f79e914
commit 84e204c388
8 changed files with 230 additions and 31 deletions

View File

@@ -1,4 +1,28 @@
OPTIONS=autopickup,pickup_types:$
OPTIONS=pickup_burden=B
autopickup_exception=">.*iron chain.*"
autopickup_exception=">.*heavy iron ball.*"
{% if comments %}
# autopickup: automatically pick up certain things when you move onto them
{% endif %}
OPTIONS=autopickup
{% if comments %}
# pickup_types: object types to be picked up when autopickup is on
{% endif %}
OPTIONS=pickup_types:$_
{% if comments %}
# pickup_burden: prompt for confirmation when picking up items that will push the character's encumbrance past the specified level
{% endif %}
OPTIONS=pickup_burden:burdened
{% if comments %}
# pickup_thrown: if set and autopickup is on, try to pick up things that you threw
{% endif %}
OPTIONS=pickup_thrown
{% if comments %}
# autopickup_exception: allow specifying regex matches for more nuanced autopickup
# lines starting with < will pick up matches
# lines starting with > will ignore matches
# only the latest line matching is processed, and if no line matches then pickup_types is looked at
{% endif %}
AUTOPICKUP_EXCEPTION=">.*iron chain.*"
AUTOPICKUP_EXCEPTION=">.*heavy iron ball.*"

38
curses.rc Normal file
View File

@@ -0,0 +1,38 @@
{% if comments %}
# windowtype: window interface to use, such as 'tty' or 'curses' (available options depend on build-time settings)
{% endif %}
OPTIONS=windowtype:curses
{% if comments %}
# perm_invent: display your current inventory in a permanent window (only applicable in window interfaces that implement it)
{% endif %}
OPTIONS=!perm_invent
{% if comments %}
# perminv_mode: determines what items to show in perm_invent window
# none: behave as if perm_invent is false
# all: show all inventory except for gold
# full: show full inventory including gold
# in-use: only show items which are in use (worn, wielded, quivered, lit lamp)
{% endif %}
OPTIONS=perminv_mode:none
{% if comments %}
# align_message: where to place the message window (top, bottom, left, or right)
{% endif %}
OPTIONS=align_message:top
{% if comments %}
# align_status: where to place the status window (top, bottom, left, or right)
{% endif %}
OPTIONS=align_status:top
{% if comments %}
# windowborders: whether to draw boxes around the map, status area, message area, and persistant inventory window
# 0: off, never show borders
# 1: on, always show borders
# 2: auto, on if display is at least (24+2)x(80+2)
# 3: on, execpt forced off for perm_invent
# 4: auto, execpt forced off for perm_invent
{% endif %}
OPTIONS=windowborders:0

119
main.rc
View File

@@ -2,42 +2,129 @@
# junethack {{ jnh_username }}
{% endif %}
{%- if windowtype == "curses" %}
{% include "curses.rc" %}
{% else %}
{% include "tty.rc" %}
{% endif +%}
{% include "menucolor.rc" +%}
{% include "statusbar.rc" +%}
{% include "msgtypes.rc" +%}
{% include "names.rc" %}
{# block for additional names to keep set of names together #}
{% block names %}
OPTIONS=dogname:Athena
OPTIONS=catname:Moldorm
OPTIONS=horsename:Horse
OPTIONS=fruit:word
{% endblock names %}
{% endblock names +%}
{% include "autopickup.rc" +%}
{# put curses-specific stuff in a block so it can be easily overwritten if desired per-variant #}
{% block curses %}
OPTIONS=windowtype:curses
OPTIONS=!perm_invent
OPTIONS=windowborders:0
{% endblock curses %}
{% if comments %}
# force_invmenu: always show a menu instead of a text query when selecting inventory items
{% endif %}
OPTIONS=!force_invmenu
OPTIONS=map_mode:tiles,scroll_margin:10
OPTIONS=hilite_pet,hilite_pile,!toptenwin
OPTIONS=time,showexp,number_pad:2,lit_corridor
OPTIONS=msg_window:reversed,sortloot:full
{% if comments %}
# hilite_pet: visually distinguish pets from other animals
{% endif %}
OPTIONS=hilite_pet
{% if comments %}
# hilite_pile: visually distinguish plies of objects from individual objects
{% endif %}
OPTIONS=hilite_pile
OPTIONS=!toptenwin
{% if comments %}
# number_pad: use digit keys instead of letters to move
# 0: move by letters; "yuhjklbn"
# 1: move by numbers; digit '5' acts as 'G' movement prefix
# 2: move by numbers; digit '5' acts as 'g' movement prefix
# 3: move by numbers using phone key layout (123 above, 789 below)
# 4: combines 3 with 2 (phone key layout plus MS-DOS compatibility)
# -1: move by letters but use 'z' to go northwest and 'y' to zap wands
{% endif %}
OPTIONS=number_pad:2
{% if comments %}
# lit_corridor: distinguish visually between lit and unlit corridors
{% endif %}
OPTIONS=lit_corridor
{% if comments %}
# msg_window: controls how to show messages recalled with ^P
# single: show single message at a time
# combination: show two messages as single, then as full
# full: full window, oldest message first
# reversed: full window, newest message first
{% endif %}
OPTIONS=msg_window:reversed
{% if comments %}
# sortloot: controls sorting behavior of item-choosing lists
# full: always sort lists by item name
# loot: sort lists that don't use inventory letters
# none: show all lists without sorting
{% endif %}
OPTIONS=sortloot:full
{% if comments %}
# autoquiver: automatically quiver a suitable weapon when firing if your quiver empties
{% endif %}
OPTIONS=autoquiver
{% if comments %}
# cmdassist: provide additional command assistance when detecting some anticipated mistakes
{% endif %}
OPTIONS=!cmdassist
{% if comments %}
# travel: enables the travel command, bound to _ by default
{% endif %}
OPTIONS=travel
OPTIONS=disclose:yi ya nv ng yc no
{% if comments %}
# altmeta: enables extended command shortcuts using the alt key
{% endif %}
OPTIONS=altmeta
{% if comments %}
# autodig: automatically dig when wielding a digging tool moving into a place that can be dug
{% endif %}
OPTIONS=autodig
{% if comments %}
# runmode: set the screen updating interval for multi-turn actions such as running or traveling
# teleport: update the map after movement has finished
# run: update the map after every seven or so steps
# walk: update the map after every step
# crawl: update the map and pause after every step
{% endif %}
OPTIONS=runmode:teleport
OPTIONS=quick_farsight
{% if commenst %}
# whatis_coord: coordinates to display when looking around the map with the whatis or farlook commands
# c: compass ('east' or '3s' or '2n,4w')
# f: full compass ('east' or '3south' or '2north,4west')
# m: map <x,y> (map column x=0 is not used)
# s: screen [row,column] (row is offset to match tty usage)
# n: none (no coordinates shown)
{% endif %}
OPTIONS=whatis_coord:c
{% if comments %}
# implicit_uncursed: omit "uncursed" from inventory lists when it is implied from other aspects of the item description
{% endif %}
OPTIONS=!implicit_uncursed
{# block for additional options to keep main set of options together #}
{% block options %}
@@ -49,7 +136,7 @@ BIND=M-m:terrain
BIND=C:conduct
BIND=!:annotate
BIND=%:ride
{# block for additional bindings to keep main set of bindings together #}
{# block for additional bindings to keep set of bindings together #}
{% block bindings %}
{% endblock bindings %}

19
names.rc Normal file
View File

@@ -0,0 +1,19 @@
{% if comments %}
# fruit: set name of user-definable fruit
{% endif %}
OPTIONS=fruit:word
{% if comments %}
# catname: set name of starting cat
{% endif %}
OPTIONS=catname:Moldorm
{% if comments %}
# dogname: set name of starting dog
{% endif %}
OPTIONS=dogname:Athena
{% if comments %}
# horsename: set name of starting horse
{% endif %}
OPTIONS=horsename:Horse

View File

@@ -1,4 +1,16 @@
{{ "# " if not nobones }}OPTIONS=nobones
{{ "# " if not nopet }}OPTIONS=nopet
{% if comments %}
# bones: allow loading and saving bones files
{% endif %}
{{ "# " if not nobones }}OPTIONS=!bones
{{ "# " if not nopet }}OPTIONS=!pet
{% if comments %}
# pauper: start character with no items, skills, spells, or discoveries
{% endif %}
{{ "# " if not pauper }}OPTIONS=pauper
{% if comments %}
# nudist: start character with no armor
{% endif %}
{{ "# " if not nudist }}OPTIONS=nudist

View File

@@ -50,15 +50,15 @@ if __name__ == "__main__":
load_dotenv()
parser = argparse.ArgumentParser()
parser.add_argument("template")
parser.add_argument("--hdf_variant", help="If specified, the variant to upload the rendered template to on hardfought.org")
parser.add_argument("--nudist", "-n", action="store_true")
parser.add_argument("--pauper", "-p", action="store_true")
parser.add_argument("--nobones", action="store_true")
parser.add_argument("--nopet", action="store_true")
parser.add_argument("--hide-comments", action="store_false", dest="comments")
parser.add_argument("--curses", action="store_const", const="curses", dest="windowtype")
parser.add_argument("--tty", action="store_const", const="tty", dest="windowtype")
parser.add_argument("template", help="template file to render")
parser.add_argument("--hdf_variant", help="if specified, the variant to upload the rendered template to on hardfought.org")
parser.add_argument("--nudist", "-n", action="store_true", help="enable nudist conduct in rcfile")
parser.add_argument("--pauper", "-p", action="store_true", help="enable pauper conduct in rcfile")
parser.add_argument("--nobones", action="store_true", help="turn off bones in rcfile")
parser.add_argument("--nopet", action="store_true", help="turn off starting pet in rcfile")
parser.add_argument("--hide-comments", action="store_false", dest="comments", help="strip out explanatory comments in output to reduce file size")
parser.add_argument("--curses", action="store_const", const="curses", dest="windowtype", help="set windowtype to curses and set appropriate options")
parser.add_argument("--tty", action="store_const", const="tty", dest="windowtype", help="set windowtype to tty and set appropriate options")
args = parser.parse_args()

View File

@@ -1,5 +1,20 @@
OPTIONS=statuslines:3
{% if comments %}
# time: displays elapsed game turns on the status line
{% endif %}
OPTIONS=time,showexp
{% if comments %}
# showexp: displays exact number of experience points next to experience level on status line
{% endif %}
OPTIONS=showexp
{% if comments %}
# showscore: displays approximate accumulated score on status line
{% endif %}
OPTIONS=showscore
# Status hilites
OPTIONS=statushilites

4
tty.rc Normal file
View File

@@ -0,0 +1,4 @@
{% if comments %}
# windowtype: window interface to use, such as 'tty' or 'curses' (available options depend on build-time settings)
{% endif %}
OPTIONS=windowtype:tty