1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Fix BMP loader incorrectly interpreting color table size

Color table should exist for images with bit count <= 8. Importing 16-bit
BMP images could also likely have a color table but they're not currently
supported in Godot.
This commit is contained in:
Andrii Doroshenko (Xrayez)
2019-07-17 01:43:33 +03:00
parent 22c843b0c4
commit d5c5aabbf2

View File

@@ -257,8 +257,8 @@ Error ImageLoaderBMP::load_image(Ref<Image> p_image, FileAccess *f,
if (bmp_header.bmp_info_header.bmp_bit_count <= 8) { if (bmp_header.bmp_info_header.bmp_bit_count <= 8) {
// Support 256 colors max // Support 256 colors max
color_table_size = 1 << bmp_header.bmp_info_header.bmp_bit_count; color_table_size = 1 << bmp_header.bmp_info_header.bmp_bit_count;
}
ERR_FAIL_COND_V(color_table_size == 0, ERR_BUG); ERR_FAIL_COND_V(color_table_size == 0, ERR_BUG);
}
PoolVector<uint8_t> bmp_color_table; PoolVector<uint8_t> bmp_color_table;
// Color table is usually 4 bytes per color -> [B][G][R][0] // Color table is usually 4 bytes per color -> [B][G][R][0]