Mercurial > hg > dmlib
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: