Issue: Overlay tiles with a blank background color ("c0?") inherit the background color of any tile underneath it.
Versions Affected: v2.51 s1 to v2.93
Introduced in Version: v2.51 s1
Operating System: DOS, Windows, more than likely others…
Further Details
Alright, so. There's a… "feature"? "Bug"? In MegaZeux v2.51 s1. Starting very specifically with that version, any overlay with a background value of 0 will inherit the background value of whatever it passes over. I honestly remember this from a long time ago (probably around the time these were first being released) and I'm pretty sure I assumed it was intentional. I might've even commented on it somewhere, but I have no idea. Regardless, it was a thing that I accepted.
While discussing bugs and issues with the modern version of MegaZeux with someone, I brought to their attention that in "classic" MegaZeux, overlays will always maintain their selected colors regardless of what they pass over. For example, if an overlay with a back background passes over a tile with a yellow background, the overlay will keep its lack of background color. In mentioning this, I genuinely surprised them as they forgot that wasn't the standard behavior for the original MegaZeux. They also mentioned it's been around since v2.51 s1. So, I did some research.
Upon looking through the change log for 2.51 s1, I noticed that it doesn't mention the new overlay behavior anywhere. In fact, s1 doesn't even have a Help File! I checked s3 as well, and… that one doesn't even mention anything earlier than s2! Finally, I checked the manual's change logs. Again, no mention of the changed overlay behavior in s1… but I did find this under s3's changes:
Quote
* Fixed overlay transparency weirdness. Now, background of lower layer will ALWAYS show through if background of overlay is 0
This tells me that JZig was aware of it, and apparently there was some kind of bug involving not inheriting the background color, but they fixed it? Weird.
Anyway, it was recommended to me that I file this as a bug report, so here I am. Researching this, I have to wonder if this change was genuinely intentional and why it was undocumented. And why just the background? Why not make c?0 symbols inherit foreground colors, too? Seems odd…
Relevant Screenshots


An overlay of c00 double-pipe characters (205 / $CD) rendering over a rainbow background in MegaZeux v2.51 and v2.51 s1
Note: The upper-leftmost tile with a blue background is the player.
This post has been edited by Joseph Collins: 21 January 2024 - 10:22 AM