New upstream version 3.1.1
[xfishtank.git] / pcfshtofish / pcfshtofish.c
diff --git a/pcfshtofish/pcfshtofish.c b/pcfshtofish/pcfshtofish.c
deleted file mode 100644 (file)
index d20e7fb..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-#include <stdio.h>
-
-#define MAXCOLORS 256
-#define        DEFAULT_NAME    "fish"
-
-struct rgb_color {
-    unsigned int red, green, blue;
-};
-
-
-void
-ReadFshColors(ifp, colrs)
-FILE *ifp;
-struct rgb_color *colrs;
-{
-    int i;
-    int val, val2;
-
-    for (i = 0; i < 132; i++) {
-       val = fgetc(ifp);
-    }
-
-    for (i = 0; i < 16; i++) {
-       val = fgetc(ifp);
-       colrs[i].blue = val;
-       val = fgetc(ifp);
-       colrs[i].green = val;
-       val = fgetc(ifp);
-       colrs[i].red = val;
-       val = fgetc(ifp);
-    }
-}
-
-
-unsigned char *
-ReadFshData1(ifp)
-FILE *ifp;
-{
-    unsigned char *data;
-    int i, j, indx;
-    int val, val2;
-
-    data = (unsigned char *) malloc(64 * 64);
-    for (j = 63; j >= 0; j--) {
-       indx = 64 * j;
-       for (i = 0; i < 32; i++) {
-           val = fgetc(ifp);
-           val2 = (val >> 4) & 0x0f;
-           data[indx] = (unsigned char) val2;
-           indx++;
-           val2 = val & 0x0f;
-           data[indx] = (unsigned char) val2;
-           indx++;
-       }
-    }
-    return (data);
-}
-
-
-unsigned char *
-ReadFshData2(ifp)
-FILE *ifp;
-{
-    unsigned char *data;
-    int i, j, indx;
-    int val, val2;
-
-    for (i = 0; i < (16 * 32); i++) {
-       val = fgetc(ifp);
-    }
-
-    data = (unsigned char *) malloc(64 * 64);
-    for (j = 63; j >= 0; j--) {
-       indx = 64 * j;
-       for (i = 0; i < 32; i++) {
-           val = fgetc(ifp);
-           val2 = (val >> 4) & 0x0f;
-           data[indx] = (unsigned char) val2;
-           indx++;
-           val2 = val & 0x0f;
-           data[indx] = (unsigned char) val2;
-           indx++;
-       }
-    }
-    return (data);
-}
-
-
-struct rgb_color
- *
-MapColors(data1, colrs1, data2, colrs2, width, height, Cnt)
-unsigned char *data1;
-struct rgb_color *colrs1;
-unsigned char *data2;
-struct rgb_color *colrs2;
-int width, height;
-int *Cnt;
-{
-    int i, j;
-    int fcnt, indx;
-    int Mapping[MAXCOLORS];
-    unsigned char *ptr;
-    struct rgb_color *fcolrs;
-
-    fcolrs = (struct rgb_color *) malloc((MAXCOLORS + 1) * sizeof(struct rgb_color));
-
-    fcnt = 0;
-    ptr = data1;
-    for (i = 0; i < (width * height); i++) {
-       indx = (int) *ptr;
-       for (j = 0; j < fcnt; j++) {
-           if ((fcolrs[j].red == colrs1[indx].red) &&
-               (fcolrs[j].green == colrs1[indx].green) &&
-               (fcolrs[j].blue == colrs1[indx].blue)) {
-               break;
-           }
-       }
-       if (j == fcnt) {
-           fcolrs[j].red = colrs1[indx].red;
-           fcolrs[j].green = colrs1[indx].green;
-           fcolrs[j].blue = colrs1[indx].blue;
-           Mapping[indx] = j;
-           fcnt++;
-           if (fcnt > MAXCOLORS) {
-               fprintf(stderr, "Error: cannot use more than %d colors in your fish\n",
-                       MAXCOLORS);
-               exit(1);
-           }
-       }
-       ptr++;
-    }
-    ptr = data1;
-    for (i = 0; i < (width * height); i++) {
-       indx = (int) *ptr;
-       *ptr = (unsigned char) (Mapping[indx]);
-       ptr++;
-    }
-
-    ptr = data2;
-    for (i = 0; i < (width * height); i++) {
-       indx = (int) *ptr;
-       for (j = 0; j < fcnt; j++) {
-           if ((fcolrs[j].red == colrs2[indx].red) &&
-               (fcolrs[j].green == colrs2[indx].green) &&
-               (fcolrs[j].blue == colrs2[indx].blue)) {
-               break;
-           }
-       }
-       if (j == fcnt) {
-           fcolrs[j].red = colrs2[indx].red;
-           fcolrs[j].green = colrs2[indx].green;
-           fcolrs[j].blue = colrs2[indx].blue;
-           Mapping[indx] = j;
-           fcnt++;
-           if (fcnt > MAXCOLORS) {
-               fprintf(stderr, "Error: cannot use more than %d colors in your fish\n",
-                       MAXCOLORS);
-               exit(1);
-           }
-       }
-       ptr++;
-    }
-    ptr = data2;
-    for (i = 0; i < (width * height); i++) {
-       indx = (int) *ptr;
-       *ptr = (unsigned char) (Mapping[indx]);
-       ptr++;
-    }
-
-    for (i = 0; i < fcnt; i++) {
-       fcolrs[i].red = fcolrs[i].red * 256;
-       fcolrs[i].green = fcolrs[i].green * 256;
-       fcolrs[i].blue = fcolrs[i].blue * 256;
-    }
-    for (i = fcnt; i < 16; i++) {
-       fcolrs[i].red = 0;
-       fcolrs[i].green = 0;
-       fcolrs[i].blue = 0;
-    }
-
-    if (fcnt < 16) {
-       fcnt = 16;
-    }
-    *Cnt = fcnt;
-    return (fcolrs);
-}
-
-
-main(argc, argv)
-int argc;
-char *argv[];
-{
-    FILE *ifp;
-    FILE *ofd;
-    int i, j, cnt, fcnt;
-    struct rgb_color colrs1[MAXCOLORS];
-    struct rgb_color *fcolrs;
-    unsigned char *data1, *data2;
-    int width, height;
-    char outfile[256];
-    char *outname;
-
-    ifp = NULL;
-    if (argc > 1) {
-       ifp = fopen(argv[1], "r");
-    }
-    if (ifp == NULL) {
-       ifp = stdin;
-    }
-
-    width = 64;
-    height = 64;
-    ReadFshColors(ifp, colrs1);
-    data1 = ReadFshData1(ifp);
-    data2 = ReadFshData2(ifp);
-
-    fcolrs = MapColors(data1, colrs1, data2, colrs1, width, height, &fcnt);
-
-    if (argc > 2) {
-       outname = argv[2];
-    } else {
-       cnt = 0;
-       if (argc > 1) {
-           while ((argv[1][cnt] != '.') && (argv[1][cnt] != '\0')) {
-               cnt++;
-           }
-       }
-       if (cnt == 0) {
-           outname = (char *) malloc(strlen(DEFAULT_NAME) + 1);
-           strcpy(outname, DEFAULT_NAME);
-       } else {
-           outname = (char *) malloc(cnt + 1);
-           strncpy(outname, argv[1], cnt);
-           outname[cnt] = '\0';
-       }
-    }
-    sprintf(outfile, "%s.h", outname);
-
-    ofd = fopen(outfile, "w");
-    if (ofd == NULL) {
-       fprintf(stderr, "Error:  cannot open (%s) for writing\n", outfile);
-       exit(1);
-    }
-
-    fprintf(ofd, "#define %s_width\t\t%d\n", outname, width);
-    fprintf(ofd, "#define %s_height\t\t%d\n", outname, height);
-    fprintf(ofd, "#define %s_colors\t\t%d\n", outname, fcnt);
-    fprintf(ofd, "#define %s_back\t\t%d\n", outname, (int) data1[0]);
-    fprintf(ofd, "int\t%s_reds[] = {", outname);
-    for (i = 0; i < fcnt; i++) {
-       if (i == (fcnt - 1)) {
-           fprintf(ofd, "%d};\n", fcolrs[i].red);
-       } else {
-           fprintf(ofd, "%d, ", fcolrs[i].red);
-       }
-    }
-    fprintf(ofd, "int\t%s_greens[] = {", outname);
-    for (i = 0; i < fcnt; i++) {
-       if (i == (fcnt - 1)) {
-           fprintf(ofd, "%d};\n", fcolrs[i].green);
-       } else {
-           fprintf(ofd, "%d, ", fcolrs[i].green);
-       }
-    }
-    fprintf(ofd, "int\t%s_blues[] = {", outname);
-    for (i = 0; i < fcnt; i++) {
-       if (i == (fcnt - 1)) {
-           fprintf(ofd, "%d};\n", fcolrs[i].blue);
-       } else {
-           fprintf(ofd, "%d, ", fcolrs[i].blue);
-       }
-    }
-    fprintf(ofd, "unsigned char\t%s_rasterA[] = {\n", outname);
-    for (i = 0; i < (width * height); i++) {
-       fprintf(ofd, "0x%02x,", data1[i]);
-    }
-    fprintf(ofd, "};\n");
-    fprintf(ofd, "unsigned char\t%s_rasterB[] = {\n", outname);
-    for (i = 0; i < (width * height); i++) {
-       fprintf(ofd, "0x%02x,", data2[i]);
-    }
-    fprintf(ofd, "};\n");
-
-    fclose(ofd);
-
-    exit(0);
-}
This page took 0.013762 seconds and 4 git commands to generate.