Frotz assumes that adaptive palette images will be 4-bit PNGs
Frotz fails to use 8-bit PNGs as adaptive palette images:
Non-paletted graphics cannot be adaptive
But the Blorb specification, in the APal section, says that "[a]ny bit depth of PNG is valid (1, 2, 4, or 8 bits per pixel)".
The relevant Frotz code (for SDL) is in sf_images.c
, in loadpng()
:
if (m_adaptiveMode && (color_type == PNG_COLOR_TYPE_PALETTE) && bit_depth <= 4) {
I believe this shouldn't be caring about the bit depth, and when I tried allowing 8-bit images there were no obvious problems, but I didn't exhaustively test it.