Hi. My proposal is that you implement 32-bit color support in the software renderer. You won't have to write the code - I've done it for you. You just need to adapt it to the HL25 codebase.
The necessary code is available in the following commits (in order):
barspinoff/BarsTech_goldsrc_compatible_public@0e84aa1
barspinoff/BarsTech_goldsrc_compatible_public@8f19450
barspinoff/BarsTech_goldsrc_compatible_public@9602380
By the way. I've changed z-buffer checks, now object distance is coded in 32 bits instead of 16 so TRANSOBJECTS such as ladders in crossfire map no more disappearing. This improvement also should work with current 16bpp renderer.
Please be understanding.
Sincerely, barspinoff