A Game Boy (Color) emulator for Windows, based on GEST v1.1.1 by TM, with added support for unlicensed mappers, Unicode filenames, screenshots and some other stuff.
When rendering to a 32-bit surface, the output pixel values are correctly shifted by three bits to the left compared to 15-bit surfaces, but the lower three bits are not filled. As a result, White is displayed as RGB #f8f8f8 instead of the correct #ffffff.
When rendering to a 16-bit surface, the output may have a greenish tint in simple frame mixing mode, or alternate annoying between a reddish and a greenish tint in GB extra frame mixing mode.
This commit fills the three LSB bits during 32-bit rendering, and adjusts the frame-mixing code accordingly. As a side benefit, 16-bit frame mixing no longer has varying greenish tints either, and the frame mixing code becomes more readable.
There are two issues in the rendering code:
This commit fills the three LSB bits during 32-bit rendering, and adjusts the frame-mixing code accordingly. As a side benefit, 16-bit frame mixing no longer has varying greenish tints either, and the frame mixing code becomes more readable.