https://bugs.winehq.org/show_bug.cgi?id=42740
--- Comment #4 from Johannes wine@sagagames.de --- I adjusted the Wine-specific check to be applied to old Wine versions only.
Reading the documentation, it does indeed seem like we really should use a 1-bit bitmap for the mask. Doing so makes the icons show up correctly as well. However, even modern Windows does not seem to be too strict about this API contract and just accepts any bit depth for the alpha mask.
Just to be clear what OpenMPT does / did: For creating the 1-bit mask, it sets the alpha channel of all pixels in the mask to 255, and depending on whether the pixel corresponding to the mask entry should be drawn or not, it sets the remaining three bytes to 255 or 0.
Windows just ignores the alpha channel (or expects it to be 255), only taking the actual pixel value (zero/non-zero) into account. But Wine seems to ignore the entire mask no matter if the alpha channel is set to 0 or 255 for any of the mask pixels. I think Wine needs to use the mask no matter which bit depth it has, and probably also ignore the alpha channel of the mask.