20130420
[gdash.git] / include / palette2c.c
blob05856c9e36b4ff572405fb3c406855673b638c5a
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 i=fread(pal, 1, 768, fp);
28 if (i!=768) {
29 fprintf(stderr, "Could not read 768 bytes from file %s!\n", argv[1]);
30 return -1;
32 fclose(fp);
34 for(i=0; i<256; i++) {
35 if (i%8==0)
36 printf("\n");
37 if (i%16==0)
38 printf("/* %x */\n", i/16);
39 printf("0x%02x%02x%02x, ", pal[i*3], pal[i*3+1], pal[i*3+2]);
41 if (pal[i*3]<rmin)
42 rmin=pal[i*3];
43 if (pal[i*3+1]<gmin)
44 gmin=pal[i*3+1];
45 if (pal[i*3+2]<bmin)
46 bmin=pal[i*3+2];
48 if (pal[i*3]>rmax)
49 rmax=pal[i*3];
50 if (pal[i*3+1]>gmax)
51 gmax=pal[i*3+1];
52 if (pal[i*3+2]>bmax)
53 bmax=pal[i*3+2];
55 printf("\n");
56 printf("/* r: %d-%d, g: %d-%d, b: %d-%d */\n", rmin, rmax, gmin, gmax, bmin, bmax);
58 return 0;