X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/4d1c91362ed7719a1371ad977afd95f79821974f..9bc1032f0879cf57b478adad15a3d1a6c2e34a70:/src/lbximg.c diff --git a/src/lbximg.c b/src/lbximg.c index c761c17..085e191 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."); @@ -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" : "",