This is an old revision of the document!
Many terminals can support a 256 colors mode, which replaces the standard 16 colors (or rather, 8 plus a brightness bit) with a set of 256 ones.
This is tempting, especially as most Unix terminals do support that extension. Too bad, there are technical issues that turn making this into a default into a not so good idea.
And what would be the benefit of 256 colors ? No, I'm serious. I can easily easily distinguish all the 16 colors of DCSS. With 256 colors, I would probably have to examine monsters quite often. Unless you plan to use them strictly for decorations, in which case DCSS might end up looking cluttered like Dwarf Fortress. Can I have a proof of concept first ? A few screenshots would suffice. — b0rsuk 2010-09-09 06:11256 colours is certainly not obviously a win, but a few new distinguished colours could help. A current issue is the dark gray elf floor – having one extra shade of “medium gray” there would be quite good. Some vault makers would like to use it for non-important variation (like the colouring of trees); here it would be necessary to be quite careful not to hide important information. — rob 2010-09-09 09:25
This page is here to document the issues.
The problem is that this extension was added with disregard to compatibility. The issues are:
There's a popular script you can use for testing: [http://www.frexx.de/xterm-256-notes/data/256colors2.pl].
While, as per the above, having 256 colors by default, or using them in vaults/etc is a bad idea, we may allow players to use them in their config files.
Thus, I'm certainly not rushing to implement this. Let's concentrate on Unicode support instead, as that works on all supported platforms (aside for bugs in Crawl), can be autodetected, and so on.
Actually, since I'll need to alter the way DGL passes terminal codes to/from the client anyway (to implement charset conversions), adding a 256 color filter might be doable. Detecting new ncurses is also ok (trivial with autoconf, doable with a hack with our current makefiles). Due to detection woes, the colours would have to be explicitely enabled in the config file, but this is also not a show stopper.
There would be two major things to do: replacing every single function and variable that passes colors to use a wide type that can handle both foreground and background, and elemental colors on top (a good piece of legwork), and dealing with places that pass additional flags like branding. I have no clue about the latter. — KiloByte 2011-01-19 13:45