ps2dev / gsKit

gsKit is a C interface to the PS2 Graphics Synthesizer
Other
103 stars 27 forks source link

init_screen: Set TA0 alpha to 0, instead of the full 0x80 #63

Closed F0bes closed 1 year ago

F0bes commented 1 year ago

When the texture format is CT16 and TCC = 1, the GS will do a look-up into TEXA to determine the output alpha. The previous behaviour made it so when A = 0 OR A = 1 in the input texel, the output alpha would be the full 0x80. This is kind of a footgun (I've only found this behaviour due to a developer running into an issue with alpha blending). It's assumable that if your alpha is 0, you would want no output, and that's what the PR achieves.

If this PR creates an issue where you get no texture output, you should either fix your input texture alpha, or manually set TEXA to your desired (and probably hacky :^) ) value.