6 unsigned char *colormap;
9 void init_colormgr(void)
11 unsigned int i, r, g, b;
14 cptr = colormap = malloc_nf(256 * 3);
16 for(i=0; i<256; i++) {
23 b |= (b >> 2) | (b >> 4);
25 cptr[0] = r | (r >> 3);
26 cptr[1] = g | (g >> 3);
27 cptr[2] = b | (b >> 2) | (b >> 4);
28 vga_setpalent(i, cptr[0], cptr[1], cptr[2]);
32 shade_lut = calloc_nf(256 * SHADE_LEVELS, sizeof *shade_lut);
35 void load_colormap(int offs, int sz, unsigned char *col, unsigned char *slut)
41 if(sz + offs > 256) sz = 256 - offs;
43 cptr = colormap + offs * 3;
44 sptr = shade_lut + (offs << SHADE_SHIFT);
49 vga_setpalent(offs + i, col[0], col[1], col[2]);
53 for(j=0; j<SHADE_LEVELS; j++) {
54 sptr[j] = (int)slut[j];
61 int find_color(int r, int g, int b)
66 int shade_color(int col, int shade)
68 return LOOKUP_SHADE(col, shade);