In case you decide to pick up your work at some point in the future, here's my final bucket list for the current version of Mark V. Some bugs, some missing features, and a few things that I think would be beneficial to implement.
- BUG: death camera doesn't reset if you quickload at least once, die and press space to restart the level from scratch.
- BUG: game stutters for a few seconds at launch (or every vid_restart), sometimes leaving the audio permanently cracking.
- BUG: parallax skies are noticeably darker than vanilla GLQuake.
- BUG: vid_multisample does nothing.
- BUG: r_bloom makes textures look grainy, maybe the bloom pass is set to nearest neighbor?
- BUG: adaptive FOV is smaller than it should be, I need to set my FOV to about 96 to get the same FOV as 90 in QuakeSpasm and DarkPlaces (using a 16:9 display). Basically FOV 90 should adapt to FOV 106 in 16:9, not 100.
- BUG: TGA alpha mask isn't properly supported, e.g. font replacements have white outlines.
- No protocol 999 support, crashes when loading Orl's maps like Ter Shibboleth or oms3_2.
- Remove the whole "opengl32.dll found" shenanigans, in this day and age it is most likely a graphics wrapper like ReShade, not the 3dfx driver from the original GLQuake package from 20 years ago. Don't make people hex edit your
.exe to get some post-processing effects going on.
- Unlock the OGG support for external music, Mark V already supports it internally, why comment it out on purpose?
- Add optional HUD filtering, nearest neighbor looks bad at non-integer scaling values.
- Add PNG support in addition to TGA.
- Add the "N64 style" minimalistic status bar layout as seen in DirectQ/qbism/RetroQuad/etc. Crazy convenient.
- Add (integer) HUD scaling for the software renderer.Some info on this:
http://forums.insideqc.com/viewtopic.php?f=1&t=5152
https://sourceforge.net/p/uhexen2/discussion/425207/thread/9fb29d84/
- Add alpha/fence texture support for the software renderer.
- Switch the software renderer from 8-bit to 16-bit to have enough colors for colored lights and proper transparent water. This is what RetroQuad is doing. Or Half-Life for that matter.