vt_tiledata is a patch used on NAO that adds extra escape codes into the data stream, mainly intended for graphical frontends. The name vt_tiledata comes from the boolean option used on NAO.
Original patch, called Telnet Tiles, was made by Justin Hiltscher. That patch only sent one type of escape code, the version NAO uses adds some extra codes.
All of the escape codes are in the format ESC [ N z, where N can be one or more positive integer values, separated by semicolons, For example ESC [ 0 ; 120 z.
NAO uses the following codes:
- ESC [ 0 ; n z: Start a glyph (aka a tile) number n.
- ESC [ 1 z: End a glyph.
- ESC [ 2 ; n z: Select a window n to output to.
- ESC [ 3 z: End of data. NetHack has finished sending data to you, and is waiting for your input.
Whenever NetHack outputs anything, it will first output the select window code. Whenever NetHack outputs a tile, it will first output the start glyph code, then the escape codes for color and the glyph character itself, and then the end glyph code.
Currently the escape codes are supported by EbonHack, Soiled, and webhack.webhook.org. Some terminal emulators do not like unknown escape codes - For example gnome-terminal prints these escape codes on the screen.