Symset

From NetHackWiki
Revision as of 06:03, 22 December 2015 by Elronnd (talk | contribs) (With RogueIBM: note that RogueWindows is the same)
Jump to navigation Jump to search

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.

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

IBMgraphics-360.png

Note that the floor symbol is centered with respect to the @ sign on the left.

With IBMgraphics_2

IBMgraphics 2-360.png

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

IBMgraphics 1-360.png

The doors are displayed with their ASCII symbols.

With DECgraphics

DECgraphics-360.png

Rogue level

Here are two screenshots of the same scene, using the two Rogue level symbol sets.

With RogueIBM/RogueWindows

RogueIBM.png

With RogueEpyx

RogueEpyx.png


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.