// Set gamma/brightness corrected palette. // Valid values range between -255 and 255, where 0 is normal. void palette_set_corrected(unsigned char *pal, int gr, int gg, int gb, int br, int bg, int bb){ unsigned char pal2[768]; int i; if(gr<-255) gr = -255; else if(gr>255) gr = 255; if(gg<-255) gg = -255; else if(gg>255) gg = 255; if(gb<-255) gb = -255; else if(gb>255) gb = 255; if(br<-255) br = -255; else if(br>255) br = 255; if(bg<-255) bg = -255; else if(bg>255) bg = 255; if(bb<-255) bb = -255; else if(bb>255) bb = 255; for(i=0; i<256; i++){ pal2[i*3] = gbcorrect(pal[i*3], gr, br); pal2[i*3+1] = gbcorrect(pal[i*3+1], gg, bg); pal2[i*3+2] = gbcorrect(pal[i*3+2], gb, bb); } vga_setpalette(pal2); }
// Set gamma/brightness corrected palette. // Valid values range between -255 and 255, where 0 is normal. void palette_set_corrected(unsigned char *pal, int gr, int gg, int gb, int br, int bg, int bb) { unsigned char pal2[768]; int i; int_min_max(&gr, -255, 255); int_min_max(&gg, -255, 255); int_min_max(&gb, -255, 255); int_min_max(&br, -255, 255); int_min_max(&bg, -255, 255); int_min_max(&bb, -255, 255); for(i = 0; i < 256; i++) { pal2[i * 3] = gbcorrect(pal[i * 3], gr, br); pal2[i * 3 + 1] = gbcorrect(pal[i * 3 + 1], gg, bg); pal2[i * 3 + 2] = gbcorrect(pal[i * 3 + 2], gb, bb); } vga_setpalette(pal2); }