Mercurial > hg > dmlib
comparison 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 |
comparison
equal
deleted
inserted
replaced
564:2dbe70d40481 | 566:d400e32b62d9 |
---|---|
70 }, | 70 }, |
71 { | 71 { |
72 "IFF ILBM file", "lbm", TRUE, FALSE, | 72 "IFF ILBM file", "lbm", TRUE, FALSE, |
73 FFMT_IMAGE , IMGFMT_ILBM, | 73 FFMT_IMAGE , IMGFMT_ILBM, |
74 }, | 74 }, |
75 | 75 { |
76 "Bitplaned RAW (intl/non-intl) image file", "raw", FALSE, TRUE, | |
77 FFMT_IMAGE , IMGFMT_RAW, | |
78 }, | |
76 { | 79 { |
77 "IFFMaster RAW image file", "araw", FALSE, TRUE, | 80 "IFFMaster RAW image file", "araw", FALSE, TRUE, |
78 FFMT_IMAGE , IMGFMT_ARAW, | 81 FFMT_IMAGE , IMGFMT_ARAW, |
79 }, | 82 }, |
80 | 83 |
1017 | 1020 |
1018 case IMGFMT_PCX: | 1021 case IMGFMT_PCX: |
1019 if (info) dmMsg(2, "%s output.\n", spec->paletted ? "Indexed 8bpp" : "24bit RGB"); | 1022 if (info) dmMsg(2, "%s output.\n", spec->paletted ? "Indexed 8bpp" : "24bit RGB"); |
1020 return dmWritePCXImage(filename, image, spec); | 1023 return dmWritePCXImage(filename, image, spec); |
1021 | 1024 |
1025 case IMGFMT_RAW: | |
1022 case IMGFMT_ARAW: | 1026 case IMGFMT_ARAW: |
1023 { | 1027 { |
1024 FILE *fp; | 1028 FILE *fp; |
1025 char *dataFilename, *fext, *tmpFilename = dm_strdup(filename); | 1029 char *dataFilename, *fext, *tmpFilename = dm_strdup(filename); |
1026 | 1030 |
1055 palID[i] = tolower(palID[i]); | 1059 palID[i] = tolower(palID[i]); |
1056 else | 1060 else |
1057 palID[i] = '_'; | 1061 palID[i] = '_'; |
1058 } | 1062 } |
1059 | 1063 |
1060 fprintf(fp, | 1064 if (iformat == IMGFMT_ARAW) |
1065 { | |
1066 fprintf(fp, | |
1061 "%s_width: dw.w %d\n" | 1067 "%s_width: dw.w %d\n" |
1062 "%s_height: dw.w %d\n" | 1068 "%s_height: dw.w %d\n" |
1063 "%s_nplanes: dw.w %d\n" | 1069 "%s_nplanes: dw.w %d\n" |
1064 "%s_ncolors: dw.w %d\n" | 1070 "%s_ncolors: dw.w %d\n" |
1065 "%s_palette:\n", | 1071 "%s_palette:\n", |
1067 palID, image->height, | 1073 palID, image->height, |
1068 palID, spec->nplanes, | 1074 palID, spec->nplanes, |
1069 palID, image->ncolors, | 1075 palID, image->ncolors, |
1070 palID); | 1076 palID); |
1071 | 1077 |
1072 dmWriteIFFMasterRAWPalette(fp, image, 1 << optSpec.nplanes, NULL, NULL); | 1078 dmWriteIFFMasterRAWPalette(fp, image, 1 << optSpec.nplanes, NULL, NULL); |
1073 | 1079 |
1074 fprintf(fp, | 1080 fprintf(fp, |
1075 "%s: incbin \"%s\"\n", | 1081 "%s: incbin \"%s\"\n", |
1076 palID, filename); | 1082 palID, filename); |
1083 } | |
1084 else | |
1085 { | |
1086 fprintf(fp, | |
1087 "%s_width: dw.w %d\n" | |
1088 "%s_height: dw.w %d\n" | |
1089 "%s_nplanes: dw.w %d\n", | |
1090 palID, image->width, | |
1091 palID, image->height, | |
1092 palID, spec->nplanes); | |
1093 } | |
1077 | 1094 |
1078 fclose(fp); | 1095 fclose(fp); |
1079 dmFree(palID); | 1096 dmFree(palID); |
1080 } | 1097 } |
1081 | 1098 |
1082 if (info) dmMsg(2, "%d bitplanes, %s interleave.\n", spec->nplanes, spec->interleave ? "with" : "without"); | 1099 if (info) dmMsg(2, "%d bitplanes, %s interleave.\n", spec->nplanes, spec->interleave ? "with" : "without"); |
1083 return dmWriteIFFMasterRAWImage(filename, image, spec); | 1100 return dmWriteRAWImage(filename, image, spec); |
1084 } | 1101 } |
1085 | 1102 |
1086 default: | 1103 default: |
1087 return DMERR_INVALID_DATA; | 1104 return DMERR_INVALID_DATA; |
1088 } | 1105 } |