Skip to content

Fix software Translucent ASTBlendPixel_8bpp bailing too little without backgrounds

This fixes the bottoms of mountains in the title screen/GreenFlower Zone skybox not being missing in the software renderer. Arid Canyon Zone fences still look fine.

The reason that they should be missing is that those mountains are defined in a TEXTURES lump, and the bottoms of them are of the "Translucent" type, just with 255 / 100% opacity.
Meant-to-be-opaque things should use the "Copy" type instead.

The most versatile/multi-use option is to make it so that "opaque Translucent" patches will only be rendered on top of existing backgrounds. Then you can use one patch as a "mask" for another patch, for example.
For reference, "translucent Translucent" patches only render on existing backgrounds, so this just makes "opaque Translucent" patches match that behaviour.

The OpenGL renderer should be unaffected by this merge request. (This merge request makes software match OpenGL's current behaviour.)

|***Before (Software)|After (Software)**|"Reference" (OpenGL)*| |::|::|::| |Image|Derp|Image|

­

­

Note that when/if this merge request is merged in, edits must be made to srb2.pk3/TEXTURES.gfz:

For the GFSM1R, GFSM2R, GFSM3R, and GFSM4R textures, the bottom halves' alpha style must be changed from "*Translucent*" to "*Copy*" in order for the bottom halves to show up again. (Doing so will also fix them being missing in OpenGL, too.)
Edited by Zwip-Zwap Zapony

Merge request reports