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 }