Files
nethack/dat/symbols
nhmall 1f6c1d0f42 expand the glyphs
The walls for the mines, gehennom, knox, and sokoban had been
changed at the "tile"-level, with no awareness of the core game,
or non-tile interfaces.
- Expand the glyphs to include a set of walls for the main level
as well as each of those mentioned above.

Altars had been adjusted at the map_glyphinfo() level to substitute
some color variations on-the-fly for unaligned, chaotic, neutral,
lawful altars, and shrines. The tile interface had no awareness of
the feature.
- Expand the glyphs to include each of the altar variations that
had been implemented in the display code for tty-only. This required
the addition of four placeholder tiles in other.txt. Someone with
artistic skill will hopefully alter the additional tiles to better
reflect their intended purpose.

Explosions had unique tiles in the tile window port, and the display
code for tty tinkered with the colors, but the game had very little
awareness of the different types of explosions.
- Expand the glyphs to include each of the explosion types: dark,
noxious, muddy, wet, magical, fiery and frosty.

Pile-markers to represent a pile had been introduced at the
display-level, without little to no awareness by the core game.
- Expand the glyphs to include piletops, including objects,
bodys, and statues.

Recently male and female variations of tiles and monsters had been
had been introduced, but the mechanics had been mostly done at the
display-level through a marker flag. The window port interface then
had to increment the tile mapped to the glyph to get the female version
of the tile.
- Expand the glyphs to include the male and female versions of the
monsters, and their corresponding pet versions, ridden, detected
versions and statues of them.

Direct references to GLYPH_BODY_OFF and GLYPH_STATUE_OFF
in object_from_map() in pager.c were getting incomplete results.
- Add macros glyph_to_body_corpsenm(glyph) and
glyph_to_statue_corpsenm(glyph) macros for obtaining the corpsenm
value after passing the glyph_is_body() or glyph_is_statue() test.

Other relevant notes:

- The tile ordering in the win/share/*.txt tile files has been altered,
other.txt in particular.

- tilemap.c has had a lot of alterations to accommodate the expanded
glyphs. Output that is useful for troubleshooting will end up in
tilemappings.lst if OBTAIN_TILEMAP is defined during build.
It lists all of the glyphs and which tile it gets mapped to, and also
lists each tile and some of the references to it by various glyphs.

- An array glyphmap[MAXGLYPH] is now used. It has an entry for each
glyph, ordered by glyph, and once reset_glyphs(glyph) has been run, it
contains the mapped symindex, default color, glyphflags, and tile
index.
If USE_TILES is defined during build, the tile.c produced from the
tilemap utility populates the tileidx field of each array element with
a glyph-to-tile mapping for the glyph. Later on, when reset_glyphmap()
is run, the other fields of each element will get populated.

- The glyph-to-tile mapping is an added field available to a window
port via the glyphinfo struct passed in the documented interface. The
old glyph2tile[] array is gone. The various active window ports that
had been using glyph2tile[] have been updated to use the new interface
mechanism. Disclaimer: There may be some bug fixing or tidying
required in the window port code.

- reset_glyphmap() is called after config file options parsing
has finished, because some config file settings can impact the results
produced by reset_glyphmap().

- Everything that passes the glyph_is_cmap(glyph) test must
return a valid cmap value from glyph_to_cmap(glyph).

- An 'extern glyph_info glyphmap[MAX_GLYPH];' is inserted into the
top of only the files which need awareness of it, not inserted into
display.h. Presently, the only files that actually need to directly
reference the glyphmap[] array are display.c, o_init.c (for shuffling
the tiles), and the generated tile.c (if USE_TILES is defined).

- Added an MG_MALE glyphflag to complement the MG_FEMALE glyphflag.

- Provide an array for wall colorizations. reset_glyphmap() will draw
the colors from this array: int array wallcolors[sokoban_walls + 1];
The indices of the wallcolors array are main_walls (0), mines_walls
(1), gehennom_walls (2), knox_walls (3), and sokoban_walls (4).
In future, a config file option for adjusting the wall colors and/or
an 'O' option menu to do the same could be added. Right now, the
initializaton of the wallcolors[] array entries in display.c leaves the
walls at CLR_GRAY, matching the defsym color.

- Most of the display-level kludges for some of the on-the-fly
interface features have been removed from map_glyphinfo() as they
aren't needed any longer. These glyph expansions adhere more closely to
the original glyph mechanics of the game.

- Because the glyphs are re-ordered and expanded, an update to
editlevel will be required upon merge of these changes.
2021-09-18 19:51:04 -04:00

653 lines
17 KiB
Plaintext

# NetHack 3.7 symbols $NHDT-Date: 1596498253 2020/08/03 23:44:13 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.22 $
# Copyright (c) 2006 by Michael Allison
# NetHack may be freely redistributed. See license for details.
#
# Symbol sets for use in NetHack's text-based display.
#
# IBMgraphics works by specifying special characters which reside
# outside the range of normal printable characters. It has subsets
# for use where the internal code page is different than the one
# used by US ASCII (437) and has some different special characters.
#
# DECgraphics works by switching back and forth between two fonts,
# where the alternate one substitutes special characters in place
# of ordinary printable characters in the lowercase letter range.
# NetHack encodes the request to use the alternate font here by
# having the high bit set (in hexadecimal, \x80 is combined with
# a character code between \x5f and \x7e) (not 0x60 to 0x7f as was
# previously claimed).
#
# curses is an approximation of IBMgraphics which relies on DEC
# mode of operation, with a few characters missing. It is based
# on an old graphics mode for the Curses interface and is the default
# on that windowport if no symset is specified. The Curses interface
# can also use DECgraphics as-is; IBMgraphics probably won't work.
# plain looks decent for room+corridor levels where there aren't a lot
# of wall corners and ones present tend to be spread out, but it looks
# awful for wallified mazes
start: plain
Description: same as default symbols, except '+' for corner walls
S_tlcorn: '+'
S_trcorn: '+'
S_blcorn: '+'
S_brcorn: '+'
S_crwall: '+'
S_tuwall: '+'
S_tdwall: '+'
S_tlwall: '+'
S_trwall: '+'
finish #plain -- other symbols implicitly retain their default values
# Recommended symset for blind players
# courtesy Michael Feir
start: NHAccess
Description: recommended for blind players
S_stone: \032
S_vwall: \124
S_hwall: \045
S_tlcorn: \124
S_trcorn: \124
S_blcorn: \124
S_brcorn: \124
S_crwall: \045
S_tuwall: \045
S_tdwall: \045
S_tlwall: \124
S_trwall: \124
S_ndoor: \046
S_vodoor: \045
S_hodoor: \124
S_vcdoor: \043
S_hcdoor: \043
S_bars: \046
S_tree: \035
S_room: \035
S_corr: \060
S_litcorr: \062
S_upstair: \060
S_dnstair: \062
S_brupstair: \060
S_brdnstair: \062
S_upladder: \095
S_dnladder: \092
S_brupladder: \095
S_brdnladder: \092
S_altar: \035
S_grave: \126
S_throne: \126
S_sink: \126
S_fountain: \126
S_pool: \042
S_ice: \042
S_lava: \035
S_vodbridge: \035
S_hodbridge: \032
S_vcdbridge: \035
S_hcdbridge: \126
S_arrow_trap: \094
S_dart_trap: \094
S_falling_rock_trap: \094
S_squeaky_board: \094
S_bear_trap: \094
S_land_mine: \094
S_rolling_boulder_trap: \094
S_sleeping_gas_trap: \094
S_rust_trap: \094
S_fire_trap: \094
S_pit: \094
S_spiked_pit: \094
S_hole: \094
S_trap_door: \094
S_teleportation_trap: \094
S_level_teleporter: \094
S_magic_portal: \094
S_web: \094
S_statue_trap: \094
S_magic_trap: \094
S_anti_magic_trap: \094
S_polymorph_trap: \094
S_vbeam: \124
S_hbeam: \095
S_lslant: \092
S_rslant: \047
S_digbeam: \042
S_flashbeam: \033
S_boomleft: \041
S_boomright: \040
S_ss1: \048
S_ss2: \035
S_ss3: \064
S_ss4: \042
S_sw_tl: \047
S_sw_tc: \045
S_sw_tr: \092
S_sw_ml: \058
S_sw_mr: \058
S_sw_bl: \092
S_sw_bc: \045
S_sw_br: \047
S_expl_tl: \047
S_expl_tc: \045
S_expl_tr: \092
S_expl_ml: \058
S_expl_mc: \032
S_expl_mr: \058
S_expl_bl: \092
S_expl_bc: \045
S_expl_br: \047
finish
# All symbols are spaces
start: Blank
Description: completely blank symbols
S_air: \032
S_altar: \032
S_amulet: \032
S_angel: \032
S_ant: \032
S_anti_magic_trap: \032
S_armor: \032
S_armour: \032
S_arrow_trap: \032
S_ball: \032
S_bars: \032
S_bat: \032
S_bear_trap: \032
S_blcorn: \032
S_blob: \032
S_book: \032
S_boomleft: \032
S_boomright: \032
S_boulder: \032
S_brcorn: \032
S_centaur: \032
S_chain: \032
S_cloud: \032
S_cockatrice: \032
S_coin: \032
S_corr: \032
S_crwall: \032
S_darkroom: \032
S_dart_trap: \032
S_demon: \032
S_digbeam: \032
S_dnladder: \032
S_dnstair: \032
S_brdnladder: \032
S_brdnstair: \032
S_dog: \032
S_dragon: \032
S_eel: \032
S_elemental: \032
S_expl_tl: \032
S_expl_tc: \032
S_expl_tr: \032
S_expl_ml: \032
S_expl_mc: \032
S_expl_mr: \032
S_expl_bl: \032
S_expl_bc: \032
S_expl_br: \032
S_eye: \032
S_falling_rock_trap: \032
S_feline: \032
S_fire_trap: \032
S_flashbeam: \032
S_food: \032
S_fountain: \032
S_fungus: \032
S_gem: \032
S_ghost: \032
S_giant: \032
S_gnome: \032
S_golem: \032
S_grave: \032
S_gremlin: \032
S_hbeam: \032
S_hcdbridge: \032
S_hcdoor: \032
S_hodbridge: \032
S_hodoor: \032
S_hole: \032
S_human: \032
S_humanoid: \032
S_hwall: \032
S_ice: \032
S_imp: \032
S_invisible: \032
S_jabberwock: \032
S_jelly: \032
S_kobold: \032
S_kop: \032
S_land_mine: \032
S_lava: \032
S_leprechaun: \032
S_level_teleporter: \032
S_lich: \032
S_light: \032
S_litcorr: \032
S_lizard: \032
S_lslant: \032
S_magic_portal: \032
S_magic_trap: \032
S_mimic: \032
S_mimic_def: \032
S_mummy: \032
S_naga: \032
S_ndoor: \032
S_nymph: \032
S_ogre: \032
S_orc: \032
S_piercer: \032
S_pit: \032
S_poisoncloud: \032
S_polymorph_trap: \032
S_pool: \032
S_potion: \032
S_pudding: \032
S_quadruped: \032
S_quantmech: \032
S_ring: \032
S_rock: \032
S_rodent: \032
S_rolling_boulder_trap: \032
S_room: \032
S_rslant: \032
S_rust_trap: \032
S_rustmonst: \032
S_scroll: \032
S_sink: \032
S_sleeping_gas_trap: \032
S_snake: \032
S_spider: \032
S_spiked_pit: \032
S_squeaky_board: \032
S_ss1: \032
S_ss2: \032
S_ss3: \032
S_ss4: \032
S_statue_trap: \032
S_stone: \032
S_strange_obj: \032
S_sw_bc: \032
S_sw_bl: \032
S_sw_br: \032
S_sw_ml: \032
S_sw_mr: \032
S_sw_tc: \032
S_sw_tl: \032
S_sw_tr: \032
S_tdwall: \032
S_teleportation_trap: \032
S_throne: \032
S_tlcorn: \032
S_tlwall: \032
S_tool: \032
S_trap_door: \032
S_trapper: \032
S_trcorn: \032
S_tree: \032
S_troll: \032
S_trwall: \032
S_tuwall: \032
S_umber: \032
S_unicorn: \032
S_upladder: \032
S_brupladder: \032
S_upstair: \032
S_brupstair: \032
S_vampire: \032
S_vbeam: \032
S_vcdbridge: \032
S_vcdoor: \032
S_venom: \032
S_vibrating_square: \032
S_vodbridge: \032
S_vodoor: \032
S_vortex: \032
S_vwall: \032
S_wand: \032
S_water: \032
S_weapon: \032
S_web: \032
S_worm: \032
S_worm_tail: \032
S_wraith: \032
S_xan: \032
S_xorn: \032
S_yeti: \032
S_zombie: \032
S_zruty: \032
finish
start: IBMgraphics
Description: special line-drawing characters used for walls
# Restrictions: primary
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_expl_ml: \xb3 # meta-3, vertical rule
S_expl_mr: \xb3 # meta-3, vertical rule
finish
start: IBMGraphics_1
# Restrictions: primary
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_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_expl_ml: \xb3 # meta-3, vertical rule
S_expl_mr: \xb3 # meta-3, vertical rule
finish
start: IBMGraphics_2
# Restrictions: primary
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_vodoor: \xfe # meta-~, small centered square
S_hodoor: \xfe # meta-~, small centered square
S_corr: \xb0 # meta-0, light shading
S_litcorr: \xb1 # meta-1, medium shading
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_expl_ml: \xb3 # meta-3, vertical rule
S_expl_mr: \xb3 # meta-3, vertical rule
finish
start: RogueIBM
Handling: IBM
Restrictions: rogue
S_weapon: \x29
S_amulet: \x2c
S_food: \x3a
S_potion: \xad
S_scroll: \x3f
S_book: \x2b
S_wand: \xe7
S_vwall: \xba # all walls now use
S_hwall: \xcd # double line graphics
S_tlcorn: \xc9
S_trcorn: \xbb
S_blcorn: \xc8
S_brcorn: \xbc
S_crwall: \xce
S_tuwall: \xca
S_tdwall: \xcb
S_tlwall: \xb9
S_trwall: \xcc
S_ndoor: \xce
S_vodoor: \xce
S_hodoor: \xce
S_room: \xfa # centered dot
S_corr: \xb1
S_litcorr: \xb2
S_upstair: \xf0 # Greek Xi
S_dnstair: \xf0
S_brupstair: \xf0 # Greek Xi
S_brdnstair: \xf0
finish
start: RogueEpyx
Description: rogue level color symbol set like Epyx Rogue
Restrictions: rogue
Handling: IBM
Color: Yes
S_vwall: \xba # all walls now use
S_hwall: \xcd # double line graphics
S_tlcorn: \xc9
S_trcorn: \xbb
S_blcorn: \xc8
S_brcorn: \xbc
S_crwall: \xce
S_tuwall: \xca
S_tdwall: \xcb
S_tlwall: \xb9
S_trwall: \xcc
S_ndoor: \xce
S_vodoor: \xce
S_hodoor: \xce
S_room: \xfa # centered dot
S_corr: \xb1
S_litcorr: \xb2
S_upstair: \xf0 # Greek Xi
S_dnstair: \xf0
S_brupstair: \xf0 # Greek Xi
S_brdnstair: \xf0
S_arrow_trap: \x04 # diamond (cards)
S_dart_trap: \x04
S_falling_rock_trap: \x04
S_squeaky_board: \x04
S_bear_trap: \x04
S_land_mine: \x04
S_rolling_boulder_trap: \x04
S_sleeping_gas_trap: \x04
S_rust_trap: \x04
S_fire_trap: \x04
S_pit: \x04
S_spiked_pit: \x04
S_hole: \x04
S_trap_door: \x04
S_teleportation_trap: \x04
S_level_teleporter: \x04
S_magic_portal: \x04
S_web: \x04
S_statue_trap: \x04
S_magic_trap: \x04
S_anti_magic_trap: \x04
S_polymorph_trap: \x04
S_weapon: \x18 # up arrow
# ^J S_armor: \x0a # Vert rect with o
S_armor: \x5b # default: '['
# ^I S_ring: \x09 # circle with arrow
S_ring: \x3d # default: '='
S_amulet: \x0c # "female" symbol
S_tool: \x28 # default: '('
S_food: \x05 # club (as in cards)
S_potion: \xad # upside down '!'
S_scroll: \x0e # musical note
S_book: \x2b # default: '+'
S_wand: \xe7 # greek tau
S_coin: \x0f # yes it's the same as gems
S_gem: \x0f # fancy '*'
S_rock: \x60
S_ball: \x30
S_chain: \x5f
S_venom: \x2e
S_rock: \x60
S_ball: \x30
S_chain: \x5f
S_venom: \x2e
S_human: \x01
finish
start: RogueWindows
Restrictions: rogue
Handling: IBM
S_weapon: \x29
S_amulet: \x2c
S_food: \x3a
S_potion: \xad
S_scroll: \x3f
S_book: \x2b
S_wand: \xe7
S_vwall: \xba # all walls now use
S_hwall: \xcd # double line graphics
S_tlcorn: \xc9
S_trcorn: \xbb
S_blcorn: \xc8
S_brcorn: \xbc
S_crwall: \xce
S_tuwall: \xca
S_tdwall: \xcb
S_tlwall: \xb9
S_trwall: \xcc
S_ndoor: \xce
S_vodoor: \xce
S_hodoor: \xce
S_room: \xfa # centered dot
S_corr: \xb1
S_litcorr: \xb2
S_upstair: \xf0 # Greek Xi
S_dnstair: \xf0
S_brupstair: \xf0 # Greek Xi
S_brdnstair: \xf0
finish
start: curses
Description: approximation of IBMgraphics using DECgraphics
Restrictions: primary
Handling: DEC
S_vwall: \xf8 # meta-x, vertical rule
S_hwall: \xf1 # meta-q, horizontal rule
S_tlcorn: \xec # meta-l, top left corner
S_trcorn: \xeb # meta-k, top right corner
S_blcorn: \xed # meta-m, bottom left
S_brcorn: \xea # meta-j, bottom right
S_crwall: \xee # meta-n, cross
S_tuwall: \xf6 # meta-v, T up
S_tdwall: \xf7 # meta-w, T down
S_tlwall: \xf5 # meta-u, T left
S_trwall: \xf4 # meta-t, T right
S_ndoor: \xfe # meta-z, centered dot
S_bars: \xfc # meta-|, not-equals sign (was '#')
S_tree: \xe7 # meta-g, plus or minus sign
S_room: \xfe # meta-z, centered dot
S_corr: \xe1 # meta-a, solid block
S_litcorr: \xe1 # meta-a, solid block
S_ice: \xfe # meta-z, centered dot
S_vodbridge: \xfe # meta-z, centered dot
S_hodbridge: \xfe # meta-z, centered dot
S_vbeam: \xf8 # meta-3, vertical rule
S_hbeam: \xf1 # meta-D, horizontal rule
S_sw_ml: \xf8 # meta-3, vertical rule
S_sw_mr: \xf8 # meta-3, vertical rule
S_expl_ml: \xf8 # meta-3, vertical rule
S_expl_mr: \xf8 # meta-3, vertical rule
finish
start: DECgraphics
Description: special line-drawing characters used for walls
Restrictions: primary
Handling: DEC
S_vwall: \xf8 # meta-x, vertical rule
S_hwall: \xf1 # meta-q, horizontal rule
S_tlcorn: \xec # meta-l, top left corner
S_trcorn: \xeb # meta-k, top right corner
S_blcorn: \xed # meta-m, bottom left
S_brcorn: \xea # meta-j, bottom right
S_crwall: \xee # meta-n, cross
S_tuwall: \xf6 # meta-v, T up
S_tdwall: \xf7 # meta-w, T down
S_tlwall: \xf5 # meta-u, T left
S_trwall: \xf4 # meta-t, T right
S_ndoor: \xfe # meta-~, centered dot
S_vodoor: \xe1 # meta-a, solid block
S_hodoor: \xe1 # meta-a, solid block
S_bars: \xfc # meta-|, not-equals (used to be pi)
S_tree: \xe7 # meta-g, plus-or-minus
S_room: \xfe # meta-~, centered dot
S_upladder: \xf9 # meta-y, less-than-or-equals
S_dnladder: \xfa # meta-z, greater-than-or-equals
S_brupladder: \xf9 # meta-y, less-than-or-equals
S_brdnladder: \xfa # meta-z, greater-than-or-equals
S_altar: \xfb # meta-{, pi (used to default to '_')
S_pool: \xe0 # meta-\, diamond
S_ice: \xfe # meta-~, centered dot
S_lava: \xe0 # meta-\, diamond
S_vodbridge: \xfe # meta-~, centered dot
S_hodbridge: \xfe # meta-~, centered dot
S_water: \xe0 # meta-\, diamond
S_vbeam: \xf8 # meta-x, vertical rule
S_hbeam: \xf1 # meta-q, horizontal rule
S_sw_tc: \xef # meta-o, high horizontal line
S_sw_ml: \xf8 # meta-x, vertical rule
S_sw_mr: \xf8 # meta-x, vertical rule
S_sw_bc: \xf3 # meta-s, low horizontal line
S_expl_tc: \xef # meta-o, high horizontal line
S_expl_ml: \xf8 # meta-x, vertical rule
S_expl_mr: \xf8 # meta-x, vertical rule
S_expl_bc: \xf3 # meta-s, low horizontal line
finish
start: MACgraphics
# Description: (pre-OSX: obsolete?)
# Restrictions: primary
Handling: MAC
S_vwall: \xba
S_hwall: \xcd
S_tlcorn: \xc9
S_trcorn: \xbb
S_blcorn: \xc8
S_brcorn: \xbc
S_crwall: \xce
S_tuwall: \xca
S_tdwall: \xcb
S_tlwall: \xb9
S_trwall: \xcc
S_ndoor: \xb0
S_vodoor: \xee
S_hodoor: \xee
S_vcdoor: \xef
S_hcdoor: \xef
S_bars: \xf0 # equivalency symbol
S_tree: \xf1 # plus-or-minus
S_corr: \xb0
S_grave: \xef # same as open door
S_pool: \xe0
finish
# symbols EOF