Its like the game skips checking for a bitmask if it finds a png in the bitmap field.. even if that PNG is a PNG24 that doesnt even have an alpha channel. (in which case the entire image is assumed to be opaque)

This is probably an easier temporary fix while waiting for the png alpha support to get fixed, unless thats easily fixable.

0xabcdef 12 Aug 2018:

According to the source, skipping the bitmask is exactly what happens when there's a PNG

		//	Different paths depending on file type. JPEG and BMP files need a
		//	separate mask file, so we need separate code.
		//
		//	NOTE: If we don't have an image filename, we expect to have a mask.

		CString sType = pathGetExtension(sImageFilename);
		if (sImageFilename.IsBlank() || strEquals(sType, CONSTLIT("jpg")) || strEquals(sType, CONSTLIT("bmp")))
			{
			if (error = LoadImageFileAndMask(sImageFilename, sMaskFilename, pImage, bPreMult, retsError))
				return error;
			}

		//	PNG files have a built-in mask.

		else if (strEquals(sType, CONSTLIT("png")))
			{
			if (error = LoadPNGFile(sImageFilename, pImage, retsError))
				return error;
			}