diff gfxconv.c @ 566:d400e32b62d9

Add a slightly different raw output format.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 30 Dec 2012 13:18:08 +0200
parents 1993cd341079
children 360b1ad83ed9
line wrap: on
line diff
--- a/gfxconv.c	Thu Dec 20 01:44:01 2012 +0200
+++ b/gfxconv.c	Sun Dec 30 13:18:08 2012 +0200
@@ -72,7 +72,10 @@
         "IFF ILBM file", "lbm", TRUE, FALSE,
         FFMT_IMAGE  , IMGFMT_ILBM,
     },
-
+    {
+        "Bitplaned RAW (intl/non-intl) image file", "raw", FALSE, TRUE,
+        FFMT_IMAGE  , IMGFMT_RAW,
+    },
     {
         "IFFMaster RAW image file", "araw", FALSE, TRUE,
         FFMT_IMAGE  , IMGFMT_ARAW,
@@ -1019,6 +1022,7 @@
             if (info) dmMsg(2, "%s output.\n", spec->paletted ? "Indexed 8bpp" : "24bit RGB");
             return dmWritePCXImage(filename, image, spec);
 
+        case IMGFMT_RAW:
         case IMGFMT_ARAW:
             {
                 FILE *fp;
@@ -1057,7 +1061,9 @@
                             palID[i] = '_';
                     }
 
-                    fprintf(fp,
+                    if (iformat == IMGFMT_ARAW)
+                    {
+                        fprintf(fp,
                         "%s_width: dw.w %d\n"
                         "%s_height: dw.w %d\n"
                         "%s_nplanes: dw.w %d\n"
@@ -1069,18 +1075,29 @@
                         palID, image->ncolors,
                         palID);
 
-                    dmWriteIFFMasterRAWPalette(fp, image, 1 << optSpec.nplanes, NULL, NULL);
+                        dmWriteIFFMasterRAWPalette(fp, image, 1 << optSpec.nplanes, NULL, NULL);
 
-                    fprintf(fp,
+                        fprintf(fp,
                         "%s: incbin \"%s\"\n",
                         palID, filename);
+                    }
+                    else
+                    {
+                        fprintf(fp,
+                        "%s_width: dw.w %d\n"
+                        "%s_height: dw.w %d\n"
+                        "%s_nplanes: dw.w %d\n",
+                        palID, image->width,
+                        palID, image->height,
+                        palID, spec->nplanes);
+                    }
 
                     fclose(fp);
                     dmFree(palID);
                 }
 
                 if (info) dmMsg(2, "%d bitplanes, %s interleave.\n", spec->nplanes, spec->interleave ? "with" : "without");
-                return dmWriteIFFMasterRAWImage(filename, image, spec);
+                return dmWriteRAWImage(filename, image, spec);
             }
 
         default: