From c9ba42fba6756360cf73cb2d1059237f8513fd47 Mon Sep 17 00:00:00 2001 From: Robin Krens Date: Mon, 13 Jun 2022 22:30:24 +0200 Subject: [PATCH] tools: bmp2tiles better warning and error handling --- tools/bmp2tiles/bmp2tiles.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/bmp2tiles/bmp2tiles.c b/tools/bmp2tiles/bmp2tiles.c index c64c252..abc8576 100644 --- a/tools/bmp2tiles/bmp2tiles.c +++ b/tools/bmp2tiles/bmp2tiles.c @@ -37,12 +37,12 @@ int set_info(swan_gfx_t * gfx, SDL_Surface * img) gfx->bpp = img->format->BitsPerPixel; if (gfx->bpp != 8) { - fprintf(stderr, "warning: %d bpp format detected\n", img->format->BitsPerPixel); + fprintf(stderr, "error: %d bpp format detected\n", img->format->BitsPerPixel); return -1; } if (gfx->width % 8 | gfx->height % 8) { - fprintf(stderr, "warning: image not multiple of 16x16 tiles\n \ + fprintf(stderr, "error: image not multiple of 16x16 tiles\n \ width: %d\theight: %d\n", gfx->width, gfx->height); return -1; } @@ -68,6 +68,8 @@ void generate_4bpp_tile(unsigned char *buf, swan_gfx_t * gfx, for (int i = 0; i < TILE_SZ; i+=4) { for (int j = 0; j < 4; ++j) { if (packed) { /* packed format */ + if (ptr[0] >= 8 || ptr[1] >= 8) + fprintf(stdout, "warning: too many colors detected\n"); gfx->outpal[ptr[0]] = (gfx->palette[ptr[0]].r >> 4) << 8 | (gfx->palette[ptr[0]].g >> 4) << 4 | gfx->palette[ptr[0]].b >> 4; @@ -76,6 +78,8 @@ void generate_4bpp_tile(unsigned char *buf, swan_gfx_t * gfx, ptr += 2; } else { /* planar format */ for (int x = 0; x < 8; ++x) { + if (ptr[x] >= 8) + fprintf(stdout, "warning: too many colors detected\n"); buf[i + j] = ptr[x] << j; } } -- 2.7.4