Symset
Starting in NetHack 3.6.0, the symset option selects one of several symbol sets for display of a text-mode map for the normal dungeon. The roguesymset option does the same for the Rogue level. The file "symbols", placed in the directory where NetHack is installed, defines the available symbol sets. The user may edit this file to change existing symbol sets or to define new symbol sets.
The symset option supersedes IBMgraphics, DECgraphics and MACgraphics. Those options are still recognized for backward compatibility. It also replaces the variables named under Custom map symbols, except that BOULDER is still accepted.
Contents
Available symbol sets
Normal dungeon
The following symbol sets are available for the normal dungeon and for the Rogue level:
- Default symbols -- plain ASCII. This set is coded directly and not defined in the symbols file.
- DECgraphics
- IBMgraphics
- IBMGraphics_1 -- displays walls as solid lines and all other characters the same way as ASCII
- IBMGraphics_2 -- rolls back certain symbols to ASCII, for consistent display with code pages other than 437. The IBMgraphics article discusses code pages at length.
- MACgraphics
- NHAccess -- an ASCII-compatible symbol set intended for visually impaired players.
Rogue level
In addition to the above symbol sets, the following symbol sets are available for the Rogue level:
- RogueIBM
- RogueEpyx
- RogueWindows
Of these, only RogueEpyx displays in color. RogueIBM and RogueWindows are in fact identical.
The symbols file supports limiting a symbol set to the main dungeon, but no preconfigured symbol set is restricted this way.
File format
The symbols file is a plain text file and can be edited by the user. Blank lines are ignored. Comments begin with '#' and continue to the end of the line. Lines consist of either the keyword "finish" standing alone or a keyword, a colon or equals sign, and a value. Keywords are not case sensitive.
A symbol set consists of:
- a single line with keyword "start" or "begin" and a value constituting the name of the symbol set
- a single line with keyword "handling" and a value of either "DEC" or "IBM"; the provided symbols file uses "MAC" for MACgraphics, but the source code does not recognize this value
- an optional single line with keyword "description" and a line to be displayed in the options menu, to describe the symbol set
- an optional single line with keyword "color" or "colour" and a value of any of "true", "yes", "on", "false", "no" or "off"; the default is to enable color in the main dungeon and disable it in the Rogue level
- an optional single line with keyword "restrictions" and a value of "primary" or "rogue"; the default is no restriction
- zero or more lines in which the keyword is a symbol name and the value is the character to be displayed; symbols for which no line is defined will be displayed as ASCII
- a single line with keyword "finish" and no value
The character may be a single printable character other than backslash (which begins an escape), caret (which indicates a control character; you probably don't want this) or '#' (which begins a comment), or it may be an escape sequence. C-style escape sequences of the form '\123' are interpreted as octal, '\x45' as hex and '\d123' as decimal. '\Mx' gives a "meta" character, with the eighth bit set.
Recognized symbol names are as follows:
- S_stone
- S_vwall
- S_hwall
- S_tlcorn
- S_trcorn
- S_blcorn
- S_brcorn
- S_crwall
- S_tuwall
- S_tdwall
- S_tlwall
- S_trwall
- S_ndoor
- S_vodoor
- S_hodoor
- S_vcdoor
- S_hcdoor
- S_bars
- S_tree
- S_room
- S_corr
- S_litcorr
- S_upstair
- S_dnstair
- S_upladder
- S_dnladder
- S_altar
- S_grave
- S_throne
- S_sink
- S_fountain
- S_pool
- S_ice
- S_lava
- S_vodbridge
- S_hodbridge
- S_vcdbridge
- S_hcdbridge
- S_air
- S_cloud
- S_poisoncloud
- S_water
- S_arrow_trap
- S_dart_trap
- S_falling_rock_trap
- S_squeaky_board
- S_bear_trap
- S_land_mine
- S_rolling_boulder_trap
- S_sleeping_gas_trap
- S_rust_trap
- S_fire_trap
- S_pit
- S_spiked_pit
- S_hole
- S_trap_door
- S_teleportation_trap
- S_level_teleporter
- S_magic_portal
- S_web
- S_statue_trap
- S_magic_trap
- S_anti_magic_trap
- S_polymorph_trap
- S_vbeam
- S_hbeam
- S_lslant
- S_rslant
- S_digbeam
- S_flashbeam
- S_boomleft
- S_boomright
- S_goodpos
- S_ss1
- S_ss2
- S_ss3
- S_ss4
- S_sw_tl
- S_sw_tc
- S_sw_tr
- S_sw_ml
- S_sw_mr
- S_sw_bl
- S_sw_bc
- S_sw_br
- S_explode1
- S_explode2
- S_explode3
- S_explode4
- S_explode5
- S_explode6
- S_explode7
- S_explode8
- S_explode9
- S_weapon
- S_armor or S_armour
- S_ring
- S_amulet
- S_tool
- S_food
- S_potion
- S_scroll
- S_book
- S_wand
- S_coin
- S_gem
- S_rock
- S_ball
- S_chain
- S_venom
- S_ant
- S_blob
- S_cockatrice
- S_dog
- S_eye
- S_feline
- S_gremlin
- S_humanoid
- S_imp
- S_jelly
- S_kobold
- S_leprechaun
- S_mimic
- S_nymph
- S_orc
- S_piercer
- S_quadruped
- S_rodent
- S_spider
- S_trapper
- S_unicorn
- S_vortex
- S_worm
- S_xan
- S_light
- S_zruty
- S_angel
- S_bat
- S_centaur
- S_dragon
- S_elemental
- S_fungus
- S_gnome
- S_giant
- S_jabberwock
- S_kop
- S_lich
- S_mummy
- S_naga
- S_ogre
- S_pudding
- S_quantmech
- S_rustmonst
- S_snake
- S_troll
- S_umber
- S_vampire
- S_wraith
- S_xorn
- S_yeti
- S_zombie
- S_human
- S_ghost
- S_golem
- S_demon
- S_eel
- S_lizard
- S_worm_tail
- S_mimic_def
- S_boulder
- S_invisible
Example
The following defines the traditional IBMgraphics symbol set:
start: IBMgraphics Handling: IBM S_vwall: \xb3 # meta-3, vertical rule S_hwall: \xc4 # meta-D, horizontal rule S_tlcorn: \xda # meta-Z, top left corner S_trcorn: \xbf # meta-?, top right corner S_blcorn: \xc0 # meta-@, bottom left S_brcorn: \xd9 # meta-Y, bottom right S_crwall: \xc5 # meta-E, cross S_tuwall: \xc1 # meta-A, T up S_tdwall: \xc2 # meta-B, T down S_tlwall: \xb4 # meta-4, T left S_trwall: \xc3 # meta-C, T right S_ndoor: \xfa # meta-z, centered dot S_vodoor: \xfe # meta-~, small centered square S_hodoor: \xfe # meta-~, small centered square S_bars: \xf0 # equivalence symbol S_tree: \xf1 # plus or minus symbol S_room: \xfa # meta-z, centered dot S_corr: \xb0 # meta-0, light shading S_litcorr: \xb1 # meta-1, medium shading S_fountain: \xf4 # meta-t, integral top half S_pool: \xf7 # meta-w, approx. equals S_ice: \xfa # meta-z, centered dot S_lava: \xf7 # meta-w, approx. equals S_vodbridge: \xfa # meta-z, centered dot S_hodbridge: \xfa # meta-z, centered dot S_water: \xf7 # meta-w, approx. equals S_vbeam: \xb3 # meta-3, vertical rule S_hbeam: \xc4 # meta-D, horizontal rule S_sw_ml: \xb3 # meta-3, vertical rule S_sw_mr: \xb3 # meta-3, vertical rule S_explode4: \xb3 # meta-3, vertical rule S_explode6: \xb3 # meta-3, vertical rule finish
Screenshots
Main dungeon
Here are four screenshots of the same scene, using the three IBMgraphics variants and also DECgraphics.
With IBMgraphics
Note that the floor symbol is centered with respect to the @ sign on the left.
With IBMgraphics_2
The moat, the floor and the fountain are displayed with their ASCII symbols. The floor is an ASCII period, and displays low with respect to the @ sign on the left.
With IBMgraphics_1
The doors are displayed with their ASCII symbols.
With DECgraphics
Rogue level
Here are two screenshots of the same scene, using the two Rogue level symbol sets.
With RogueIBM/RogueWindows
With RogueEpyx
This page may need to be updated for the current version of NetHack.
It may contain text specific to NetHack 3.6.0. Information on this page may be out of date.
Editors: After reviewing this page and making necessary edits, please change the {{nethack-360}} tag to the current version's tag or {{noversion}} as appropriate.