20100212
[gdash.git] / util / palette2c.c
blobea8fa69e23c92d737b3be14c3b8ef18d05b3bb64
1 #include <stdio.h>
3 int main(int argc, char *argv[])
5 FILE *fp;
6 unsigned char pal[768];
7 int i;
8 int rmin=255, rmax=0, gmin=255, gmax=0, bmin=255, bmax=0;
10 if (argc!=2) {
11 printf("Usage: %s <filename>\n", argv[0]);
12 return 1;
15 fp=fopen(argv[1], "rb");
16 if (!fp) {
17 printf("Cannot open %s!\n", argv[1]);
18 return 2;
20 fseek(fp, 0, SEEK_END);
21 if (ftell(fp)!=768) {
22 printf("File %s should be 768 bytes in size!\n", argv[1]);
23 fclose(fp);
24 return 3;
26 fseek(fp, 0, SEEK_SET);
27 fread(pal, 1, 768, fp);
28 fclose(fp);
30 for(i=0; i<256; i++) {
31 if (i%8==0)
32 printf("\n");
33 if (i%16==0)
34 printf("/* %x */\n", i/16);
35 printf("0x%02x%02x%02x, ", pal[i*3], pal[i*3+1], pal[i*3+2]);
37 if (pal[i*3]<rmin)
38 rmin=pal[i*3];
39 if (pal[i*3+1]<gmin)
40 gmin=pal[i*3+1];
41 if (pal[i*3+2]<bmin)
42 bmin=pal[i*3+2];
44 if (pal[i*3]>rmax)
45 rmax=pal[i*3];
46 if (pal[i*3+1]>gmax)
47 gmax=pal[i*3+1];
48 if (pal[i*3+2]>bmax)
49 bmax=pal[i*3+2];
51 printf("\n");
52 printf("/* r: %d-%d, g: %d-%d, b: %d-%d */\n", rmin, rmax, gmin, gmax, bmin, bmax);
54 return 0;