]> 4ch.mooo.com Git - 16.git/blob - 16/scrasm/GENPAL.C
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / 16 / scrasm / GENPAL.C
1 #include <stdio.h>\r
2 #include <string.h>\r
3 #include <memory.h>\r
4 #include <stdlib.h>\r
5 \r
6 #define COLORS  256\r
7 #define PALNAME "Diagonal"\r
8 #define FILENAME "%s.PAL"\r
9 char    fn[100] = FILENAME;\r
10 typedef unsigned char BYTE;\r
11 typedef unsigned short int WORD;\r
12 typedef struct COLOR {\r
13         BYTE    r,g,b;\r
14         } COLOR, far *LPCOLOR;\r
15 \r
16 void main()             /* int argc, char *argv[]) */\r
17         {\r
18         FILE    *fp;\r
19         int     i;\r
20         int     colors = COLORS;\r
21         COLOR   c;\r
22         int     r,dr,g,dg,b,db;\r
23 \r
24         sprintf(fn,FILENAME,PALNAME);\r
25         fp = fopen(fn,"wb");\r
26         if (!fp) {\r
27                 printf("Couldn't open %s for write.\n",fn);\r
28                 exit(1);\r
29                 }\r
30 \r
31         r=0;    dr=2;\r
32         g=0;    dg=3;\r
33         b=0;    db=5;\r
34         for (i = 0; i < colors; i++) {\r
35                 c.r = (BYTE)r;  r+=dr;\r
36                 if (r > 63) { r = 63; dr = -dr; }\r
37                  else if (r < 0) { r = 0; dr = -dr; }\r
38                 c.g = (BYTE)g;  g+=dg;\r
39                 if (g > 63) { g = 63; dg = -dg; }\r
40                  else if (g < 0) { g = 0; dg = -dg; }\r
41                 c.b = (BYTE)b;  b+=db;\r
42                 if (b > 63) { b = 63; db = -db; }\r
43                  else if (b < 0) { b = 0; db = -db; }\r
44                 fwrite(&c, sizeof(c),1, fp);\r
45                 printf("Palette %d\r",i);\r
46                 }\r
47         fclose(fp);\r
48         printf("All done!    \n");\r
49         exit(0);\r
50         }\r
51 \1a