OSDN Git Service

refresh wwww
[proj16/16.git] / 16 / scrasm / GENPAL.C
diff --git a/16/scrasm/GENPAL.C b/16/scrasm/GENPAL.C
new file mode 100755 (executable)
index 0000000..f913ae0
--- /dev/null
@@ -0,0 +1,51 @@
+#include <stdio.h>\r
+#include <string.h>\r
+#include <memory.h>\r
+#include <stdlib.h>\r
+\r
+#define COLORS  256\r
+#define PALNAME "Diagonal"\r
+#define FILENAME "%s.PAL"\r
+char    fn[100] = FILENAME;\r
+typedef unsigned char BYTE;\r
+typedef unsigned short int WORD;\r
+typedef struct COLOR {\r
+        BYTE    r,g,b;\r
+        } COLOR, far *LPCOLOR;\r
+\r
+void main()             /* int argc, char *argv[]) */\r
+        {\r
+        FILE    *fp;\r
+        int     i;\r
+        int     colors = COLORS;\r
+        COLOR   c;\r
+        int     r,dr,g,dg,b,db;\r
+\r
+        sprintf(fn,FILENAME,PALNAME);\r
+        fp = fopen(fn,"wb");\r
+        if (!fp) {\r
+                printf("Couldn't open %s for write.\n",fn);\r
+                exit(1);\r
+                }\r
+\r
+        r=0;    dr=2;\r
+        g=0;    dg=3;\r
+        b=0;    db=5;\r
+        for (i = 0; i < colors; i++) {\r
+                c.r = (BYTE)r;  r+=dr;\r
+                if (r > 63) { r = 63; dr = -dr; }\r
+                 else if (r < 0) { r = 0; dr = -dr; }\r
+                c.g = (BYTE)g;  g+=dg;\r
+                if (g > 63) { g = 63; dg = -dg; }\r
+                 else if (g < 0) { g = 0; dg = -dg; }\r
+                c.b = (BYTE)b;  b+=db;\r
+                if (b > 63) { b = 63; db = -db; }\r
+                 else if (b < 0) { b = 0; db = -db; }\r
+                fwrite(&c, sizeof(c),1, fp);\r
+                printf("Palette %d\r",i);\r
+                }\r
+        fclose(fp);\r
+        printf("All done!    \n");\r
+        exit(0);\r
+        }\r
+\1a
\ No newline at end of file