From 5cf95b4fc01c8fac394ea96765a7c0928e581b6e Mon Sep 17 00:00:00 2001 From: "K. Lange" Date: Fri, 4 May 2018 13:16:22 +0900 Subject: [PATCH] Fix alpha handling resulting in no images with 24-bit bmp --- apps/cat-img.c | 1 + lib/graphics.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/cat-img.c b/apps/cat-img.c index dbdb51be..216b7d42 100644 --- a/apps/cat-img.c +++ b/apps/cat-img.c @@ -86,6 +86,7 @@ int main (int argc, char * argv[]) { while (optind < argc) { sprite_t * image = calloc(sizeof(sprite_t),1); load_sprite(image, argv[optind]); + image->alpha = ALPHA_EMBEDDED; sprite_t * source = image; diff --git a/lib/graphics.c b/lib/graphics.c index 9754fb44..060dff22 100644 --- a/lib/graphics.c +++ b/lib/graphics.c @@ -401,7 +401,7 @@ void load_sprite(sprite_t * sprite, char * filename) { if (bpp == 24) { color = (bufferb[i + 3 * x] & 0xFF) + (bufferb[i+1 + 3 * x] & 0xFF) * 0x100 + - (bufferb[i+2 + 3 * x] & 0xFF) * 0x10000; + (bufferb[i+2 + 3 * x] & 0xFF) * 0x10000 + 0xFF000000; } else if (bpp == 32) { if (bufferb[i + 4 * x] == 0) { color = 0x000000;