This is a WIP version, for the reasons explained in the previous post.
Here's a list of the changes, from the top of my head:
• I've tried implementing PNG support again, but the PNG libraries keeps crashing ntdll.dll for some unknown reason.
• Several changes were made to start fixing the per-span Z-fighting in the BSP renderer, but I had to backtrack them due to a texture offset bug in rotated BSP entities while in overdraw mode. I'm still trying to track down what causes this texture offset bug.
• Several BSP rendering cleanups and small optimizations. There's likely a lot more to cleanup and reorganize before I can finally find what's causing the bug mentioned above.
• Implemented an work-in-progress pseudo-deviance algorithm to smooth out the edges of the raytraced dynamic lights. It's enabled by default, and you can configure its intensity by setting the developer cvar to values between 0 (fully enabled) and 1 (disabled).
This pseudo-deviance is still largely unoptimized, and doesn't work at the edges of the surfaces. It slows down the rendering considerably because it's retracing many rays many times, but it can be optimized a lot when I get the time to look into it again.
Thanks to all paying patrons for your support, it means a lot to me and my family.