diff --git a/internal/c/parts/video/image/src.c b/internal/c/parts/video/image/src.c index a4585290a..38e0597a6 100644 --- a/internal/c/parts/video/image/src.c +++ b/internal/c/parts/video/image/src.c @@ -186,7 +186,7 @@ static void image_remap_palette(uint8_t *src, int32_t w, int32_t h, uint32_t *sr /// This function loads an image into memory and returns valid LONG image handle values that are less than -1. /// /// The filename of the image -/// Mode: 32=32bpp, 33=hardware acclerated 32bpp or 256=8bpp +/// Mode: 32=32bpp, 33=hardware acclerated 32bpp, 256=8bpp or 257=8bpp without palette remap /// How many parameters were passed? /// Valid LONG image handle values that are less than -1 or -1 on failure int32_t func__loadimage(qbs *f, int32_t bpp, int32_t passed) { @@ -296,9 +296,8 @@ int32_t func__loadimage(qbs *f, int32_t bpp, int32_t passed) { // Copy the palette and then free it memcpy(img[-i].pal, palette, 256 * sizeof(uint32_t)); free(palette); - } else { - // Remap the image palette to QB64 default palette and then free our palette + // Remap the image indexes to QB64 default palette and then free our palette image_remap_palette(pixels256, x, y, palette, palette_256); free(palette); @@ -321,6 +320,7 @@ int32_t func__loadimage(qbs *f, int32_t bpp, int32_t passed) { // Free pixel memory. We can do this because both dr_pcx and stb_image uses free() free(pixels); + // This only executes if bpp is 32 if (isHardware) { auto iHardware = func__copyimage(i, 33, 1); sub__freeimage(i, 1);