X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/4d1c91362ed7719a1371ad977afd95f79821974f..4e74df93acc6594cd8a212c30dc2b429520caef2:/src/lbximg.c diff --git a/src/lbximg.c b/src/lbximg.c index c761c17..6c54b0f 100644 --- a/src/lbximg.c +++ b/src/lbximg.c @@ -172,15 +172,6 @@ static int loadpalette(struct lbx_image *img, struct lbx_imginfo *info, { int i; - /* In no-palette mode, use palette indices for colour. */ - if (!usepalette) { - for (i = 0; i < 256; i++) { - palette[i] = (struct lbx_colour){i,i,i}; - } - - return 0; - } - /* For sanity. */ if (!palf && !info->palettesz && !override) { tool_err(-1, "no palette available."); @@ -189,7 +180,7 @@ static int loadpalette(struct lbx_image *img, struct lbx_imginfo *info, /* Default the palette to a wonderful pink. */ for (i = 0; i < 256; i++) { - palette[i] = (struct lbx_colour){0xff, 0x00, 0xff}; + palette[i] = (struct lbx_colour){0x3f, 0x00, 0x3f}; } /* Read the external palette, if any. */ @@ -237,8 +228,10 @@ int decode(struct lbx_image *img, FILE *palf, FILE *override, char **argv) } } - if (loadpalette(img, &info, palf, override, palette) == -1) { - goto err; + if (usepalette) { + if (loadpalette(img, &info, palf, override, palette) == -1) { + goto err; + } } /* Extract the images, in order. */ @@ -257,7 +250,8 @@ int decode(struct lbx_image *img, FILE *palf, FILE *override, char **argv) mask = lbx_img_getmask(img); - if (!outpng(i, data, mask, img->width, img->height, palette)) { + if (!outpng(i, data, mask, img->width, img->height, + usepalette ? palette : NULL)) { extracted = 1; } } @@ -370,7 +364,7 @@ int main(int argc, char **argv) file = "stdin"; lbx_img_getinfo(img, &info); - printf("%s is %ux%u LBX image, %u frame(s)%s%s\n", + printf("%s is %hux%hu LBX image, %hhu frame(s)%s%s%s\n", file, img->width, img->height, img->frames, info.palettesz ? ", embedded palette" : "", img->chunk ? ", chunked" : "",