IBMgraphics
IBMgraphics is an option that displays walls as continuous lines rather than as broken dashes, which is the best that plain ASCII can do. It also displays certain dungeon features with distinct symbols, and on some systems makes the Rogue level look more like the Epyx version of Rogue.
IBMgraphics requires a display device that displays code page 437, or a compatible code page. Many users of Microsoft Windows outside the United States have their terminals set to another code page, often code page 850, and this can affect the appearance of some symbols.
Contents
The complete symbol list
Normal dungeon
The complete symbol list for the normal dungeon is found in the array ibm_graphics in drawing.c.[1] The corresponding ASCII symbols are in defsyms.[2] Those symbols affected by IBMgraphics are listed here.
Code point | Usage | Appearance | ASCII |
---|---|---|---|
0xB3 | Vertical wall, beam, explosion | │ | | |
0xC4 | Horizontal wall or beam | ─ | - |
0xDA | Top left corner | ┌ | - |
0xBF | Top right corner | ┐ | - |
0xC0 | Bottom left corner | └ | - |
0xD9 | Bottom right corner | ┘ | - |
0xC5 | Cross wall | ┼ | - |
0xC1 | T-left wall | ┴ | - |
0xC2 | T-down wall | ┬ | - |
0xB4 | T-left wall | ┤ | | |
0xC3 | T-right wall | ├ | | |
0xB0 | Dark corridor | ░ | # |
0xB1 | Lit corridor | ▒ | # |
0xF0 | Iron bars | ≡ | # |
0xF1 | Tree | ± | # |
0xF4 | Fountain | ⌠ | { |
0xF7 | Lava, pool, water | ≈ | } |
0xFA | Room, doorway, ice, open drawbridge | · | . |
0xFE | Open door | ■ | | or - |
Rogue level
Certain objects have their appearance changed in the Rogue level; the array IBM_r_oc_syms governs this.[3] The exact changes are different on Linux than on MS-DOS and its descendants. The list here shows the more complete list used on MS-DOS.
A number of map symbols are also changed[4] and all creatures otherwise appearing as @ instead appear as ☺.[5]
Code point | Usage | Appearance | ASCII |
---|---|---|---|
0xBA | Vertical wall | ║ | | |
0xCD | Horizontal wall | ═ | - |
0xC9 | Top left corner | ╔ | - |
0xBB | Top right corner | ╗ | - |
0xC8 | Bottom left corner | ╚ | - |
0xBC | Bottom right corner | ╝ | - |
0xCE | Cross wall, doors | ╬ | - or + |
0xCA | T-left wall | ╩ | - |
0xCB | T-down wall | ╦ | - |
0xB9 | T-left wall | ╣ | | |
0xCC | T-right wall | ╠ | | |
0x01 | Human, elf | ☺ | @ |
0x04 | Trap, web | ♦ | ^ or " |
0x05 | Food | ♣ | : |
0x0C | Amulet | ♀ | , |
0x0E | Scroll | ♫ | ? |
0x0F | Gold, gems | ☼ | * |
0x18 | Weapon | ↑ | ) |
0x5B | Armor | [ | ] |
0xAD | Potion | ¡ | ! |
0xB1 | Dark corridor | ▒ | # |
0xB2 | Lit corridor | ▓ | # |
0xE7 | Wand | τ | / |
0xF0 | Stairs | ≡ | % |
0xFA | Room | · | . |
Code page compatibility
There are code pages other than 437 that will also display IBMgraphics correctly, because they differ only at code points that are not currently used by NetHack. These include 860 (Portugese), 861 (Icelandic), 862 (Hebrew), and 865 (Nordic), and can be useful when code page 437 is unavailable.
Some other code pages will not quite display IBMgraphics perfectly, but are close enough to be usable when none of the above code pages are available. Some of these are shown in the table below.
For code page 858, use the column for code page 850.
Other known code pages have few of the necessary symbols and are completely unsuitable for IBMgraphics.
Code point | CP437 | CP737 | CP775 | CP850 | CP852 | CP855 | CP857 | CP863 | CP866 | CP869 |
---|---|---|---|---|---|---|---|---|---|---|
0xAD | ¡ | φ | Ł | ¡ | ş | Г | ¡ | ¾ | н | Ι |
0xE7 | τ | ύ | ń | þ | š | у | none | τ | ч | ν |
0xF0 | ≡ | Ώ | - | - | - | - | - | ≡ | Ё | - |
0xF1 | ± | ± | ± | ± | ˝ | ы | ± | ± | ё | ± |
0xF4 | ⌠ | Ϊ | ¶ | ¶ | ˘ | З | ¶ | ⌠ | Ї | χ |
0xF7 | ≈ | ≈ | „ | ¸ | ¸ | э | ¸ | ≈ | ў | ΅ |
0xFA | · | · | · | · | ˙ | Щ | · | · | · | ω |