void do_colorlist(CHAR DATA *ch, char argument)
{
int k, r, g, b;
char buf[MAX_STRING_LENGTH], colour[MAX_STRING_LENGTH];
send_to_char("Colours\r\n————————–\r\n", ch);
k = 0;
for (r = 0; r < 6; r++)
{
for (g = 0; g < 6; g++)
{
for (b = 0; b < 6; b++)
{
sprintf(colour, "F%d%d%d", r, g, b);
snprintf(buf, MAX_STRING_LENGTH, "%s%s%s", ColourRGB(ch->desc, colour), colour, ++k % 6 == 0 ? "\tn\r\n" : " ");
page_to_char(buf, ch);
}
}
}
return;
}
// Many thanks to Igor van den Hoven for the following excellent map,
// which has been converted back into text strings and encoded as a
// multi-dimensional Javascript array.
const rgb_map = [
[
[ "BLACK", "BLUE", "BLUE", "BLUE", "BRBLUE", "BRBLUE" ],
[ "GREEN", "CYAN", "CYAN", "BLUE", "BRBLUE", "BRBLUE" ],
[ "GREEN", "CYAN", "CYAN", "CYAN", "BRBLUE", "BRBLUE" ],
[ "GREEN", "GREEN", "CYAN", "CYAN", "CYAN", "BRCYAN" ],
[ "BRGREEN", "BRGREEN", "BRGREEN", "CYAN", "BRCYAN", "BRCYAN" ],
[ "BRGREEN", "BRGREEN", "BRGREEN", "BRCYAN", "BRCYAN", "BRCYAN" ]
],
[
[ "RED", "MAGENTA", "MAGENTA", "BLUE", "BRBLUE", "BRBLUE" ],
[ "YELLOW", "GRAY", "BLUE", "BLUE", "BRBLUE", "BRBLUE" ],
[ "YELLOW", "GREEN", "CYAN", "CYAN", "BRBLUE", "BRBLUE" ],
[ "GREEN", "GREEN", "CYAN", "CYAN", "CYAN", "BRCYAN" ],
[ "BRGREEN", "BRGREEN", "BRGREEN", "CYAN", "BRCYAN", "BRCYAN" ],
[ "BRGREEN", "BRGREEN", "BRGREEN", "BRCYAN", "BRCYAN", "BRCYAN" ]
],
[
[ "RED", "MAGENTA", "MAGENTA", "MAGENTA", "BRBLUE", "BRBLUE" ],
[ "YELLOW", "RED", "MAGENTA", "MAGENTA", "BRBLUE", "BRBLUE" ],
[ "YELLOW", "YELLOW", "WHITE", "BLUE", "BRBLUE", "BRBLUE" ],
[ "YELLOW", "YELLOW", "GREEN", "CYAN", "CYAN", "BRBLUE" ],
[ "BRGREEN", "BRGREEN", "BRGREEN", "CYAN", "BRCYAN", "BRCYAN" ],
[ "BRGREEN", "BRGREEN", "BRGREEN", "BRGREEN", "BRCYAN", "BRCYAN" ]
],
[
[ "RED", "RED", "MAGENTA", "MAGENTA", "MAGENTA", "BRMAGENTA" ],
[ "RED", "RED", "MAGENTA", "MAGENTA", "MAGENTA", "BRMAGENTA" ],
[ "YELLOW", "YELLOW", "RED", "MAGENTA", "MAGENTA", "BRBLUE" ],
[ "YELLOW", "YELLOW", "YELLOW", "WHITE", "BRBLUE", "BRBLUE" ],
[ "YELLOW", "YELLOW", "YELLOW", "BRGREEN", "BRCYAN", "BRCYAN" ],
[ "BRYELLOW", "BRYELLOW", "BRGREEN", "BRGREEN", "BRCYAN", "BRCYAN" ]
],
[
[ "BRRED", "BRRED", "BRRED", "MAGENTA", "BRMAGENTA", "BRMAGENTA" ],
[ "BRRED", "BRRED", "BRRED", "MAGENTA", "BRMAGENTA", "BRMAGENTA" ],
[ "BRRED", "BRRED", "BRRED", "MAGENTA", "BRMAGENTA", "BRMAGENTA" ],
[ "YELLOW", "YELLOW", "YELLOW", "BRRED", "BRMAGENTA", "BRMAGENTA" ],
[ "BRYELLOW", "BRYELLOW", "BRYELLOW", "BRYELLOW", "BRWHITE", "BRWHITE" ],
[ "BRYELLOW", "BRYELLOW", "BRYELLOW", "BRYELLOW", "BRWHITE", "BRWHITE" ]
],
[
[ "BRRED", "BRRED", "BRRED", "BRMAGENTA", "BRMAGENTA", "BRMAGENTA" ],
[ "BRRED", "BRRED", "BRRED", "BRMAGENTA", "BRMAGENTA", "BRMAGENTA" ],
[ "BRRED", "BRRED", "BRRED", "BRRED", "BRMAGENTA", "BRMAGENTA" ],
[ "BRYELLOW", "BRYELLOW", "BRRED", "BRRED", "BRMAGENTA", "BRMAGENTA" ],
[ "BRYELLOW", "BRYELLOW", "BRYELLOW", "BRYELLOW", "BRWHITE", "BRWHITE" ],
[ "BRYELLOW", "BRYELLOW", "BRYELLOW", "BRYELLOW", "BRWHITE", "BRWHITE" ]
]
];
const greyscale = [
"GRAY", "GRAY", "GRAY", "GRAY", "GRAY", "GRAY",
"GRAY", "GRAY", "GRAY", "GRAY", "GRAY", "GRAY",
"WHITE", "WHITE", "WHITE", "WHITE", "WHITE", "WHITE",
"BRWHITE", "BRWHITE", "BRWHITE", "BRWHITE", "BRWHITE", "BRWHITE"
];
Rarva: "(I worked as a coder professionally for 9 years…Stock ROM code made me cry at how it was badly designed)"
Why don't you ask that chap to code this trivial function for you?
It is not because something is trivial that it is not annoying to code (especially string manipulation in C). And I did not asked anybody to code for me, I asked if anybody already coded it and wanting to share it.
But it seems like some people prefer to be smartass than to share code…