Why don't extend nick's color support ... 
// tremfusion implementation 
// q_math.c
...
const vec4_t g_color_table[MAX_CCODES] =
{
	{0.00000f, 0.00000f, 0.00000f, 1.00000f},	// 0 standard colors
	{1.00000f, 0.00000f, 0.00000f, 1.00000f},	// 1 |
	{0.00000f, 1.00000f, 0.00000f, 1.00000f},	// 2 v
	{1.00000f, 1.00000f, 0.00000f, 1.00000f},	// 3
	{0.00000f, 0.00000f, 1.00000f, 1.00000f},	// 4
	{0.00000f, 1.00000f, 1.00000f, 1.00000f},	// 5
	{1.00000f, 0.00000f, 1.00000f, 1.00000f},	// 6 ^
	{1.00000f, 1.00000f, 1.00000f, 1.00000f},	// 7 |
	{1.00000f, 0.50000f, 0.00000f, 1.00000f},	// 8
	{0.60000f, 0.60000f, 1.00000f, 1.00000f},	// 9
	{1.00000f, 0.00000f, 0.00000f, 1.00000f},	// a Rainbow
	{1.00000f, 0.13239f, 0.00000f, 1.00000f},	// A |
	{1.00000f, 0.26795f, 0.00000f, 1.00000f},	// b |
	{1.00000f, 0.37829f, 0.00000f, 1.00000f},	// B v
	{1.00000f, 0.50000f, 0.00000f, 1.00000f},	// c
	{1.00000f, 0.60633f, 0.00000f, 1.00000f},	// C
	{1.00000f, 0.73205f, 0.00000f, 1.00000f},	// d
	{1.00000f, 0.84990f, 0.00000f, 1.00000f},	// D
	{1.00000f, 1.00000f, 0.00000f, 1.00000f},	// e
	{0.86761f, 1.00000f, 0.00000f, 1.00000f},	// E
	{0.73205f, 1.00000f, 0.00000f, 1.00000f},	// f
	{0.62171f, 1.00000f, 0.00000f, 1.00000f},	// F
	{0.50000f, 1.00000f, 0.00000f, 1.00000f},	// g
	{0.39367f, 1.00000f, 0.00000f, 1.00000f},	// G
	{0.26795f, 1.00000f, 0.00000f, 1.00000f},	// h
	{0.15010f, 1.00000f, 0.00000f, 1.00000f},	// H
	{0.00000f, 1.00000f, 0.00000f, 1.00000f},	// i
	{0.00000f, 1.00000f, 0.13239f, 1.00000f},	// I
	{0.00000f, 1.00000f, 0.26795f, 1.00000f},	// j
	{0.00000f, 1.00000f, 0.37829f, 1.00000f},	// J
	{0.00000f, 1.00000f, 0.50000f, 1.00000f},	// k
	{0.00000f, 1.00000f, 0.60633f, 1.00000f},	// K
	{0.00000f, 1.00000f, 0.73205f, 1.00000f},	// l
	{0.00000f, 1.00000f, 0.84990f, 1.00000f},	// L
	{0.00000f, 1.00000f, 1.00000f, 1.00000f},	// m
	{0.00000f, 0.86761f, 1.00000f, 1.00000f},	// M
	{0.00000f, 0.73205f, 1.00000f, 1.00000f},	// n
	{0.00000f, 0.62171f, 1.00000f, 1.00000f},	// N
	{0.00000f, 0.50000f, 1.00000f, 1.00000f},	// o
	{0.00000f, 0.39367f, 1.00000f, 1.00000f},	// O
	{0.00000f, 0.26795f, 1.00000f, 1.00000f},	// p
	{0.00000f, 0.15010f, 1.00000f, 1.00000f},	// P
	{0.00000f, 0.00000f, 1.00000f, 1.00000f},	// q
	{0.13239f, 0.00000f, 1.00000f, 1.00000f},	// Q
	{0.26795f, 0.00000f, 1.00000f, 1.00000f},	// r
	{0.37829f, 0.00000f, 1.00000f, 1.00000f},	// R
	{0.50000f, 0.00000f, 1.00000f, 1.00000f},	// s
	{0.60633f, 0.00000f, 1.00000f, 1.00000f},	// S
	{0.73205f, 0.00000f, 1.00000f, 1.00000f},	// t
	{0.84990f, 0.00000f, 1.00000f, 1.00000f},	// T
	{1.00000f, 0.00000f, 1.00000f, 1.00000f},	// u
	{1.00000f, 0.00000f, 0.86761f, 1.00000f},	// U
	{1.00000f, 0.00000f, 0.73205f, 1.00000f},	// v
	{1.00000f, 0.00000f, 0.62171f, 1.00000f},	// V
	{1.00000f, 0.00000f, 0.50000f, 1.00000f},	// w ^
	{1.00000f, 0.00000f, 0.39367f, 1.00000f},	// W |
	{1.00000f, 0.00000f, 0.26795f, 1.00000f},	// x |
	{1.00000f, 0.00000f, 0.15010f, 1.00000f},	// X Rainbow
	{0.75000f, 0.75000f, 0.75000f, 1.00000f},	// y Grey
	{0.50000f, 0.50000f, 0.50000f, 1.00000f},	// Y |
	{0.25000f, 0.25000f, 0.25000f, 1.00000f},	// z Grey
	{1.00000f, 0.50000f, 1.00000f, 1.00000f},	// Z
};
...