I recently stumbled a bit through the resolution switching code of Pod.
You know DisplayMode=6 or =7 starts Pod in 800x600. However, some check when using Alt+F7 doesn't make you able to toggle back to 800x600, just 640x480, which is bad in case you wanna disable the automatic visibility of far away objects.
There's some check whether Pod goes from 512x386 to 800x600 or just 640x480 which I didn't fully grasp yet - probably some hardware check, maybe not all 3Dfx cards supported 800x600 (it checks a value recorded near a hardware query part and if it's bigger than 960000, which would be 800x600x2... 2 being the buffer count maybe? Still, it should be >= and not > then...)
However, I nopped it out, and could toggle back to 800x600 (if Pod was started without DisplayMode=6 or =7, I have to restart it because nGlide doesn't resize the window correctly and crops away a part of the image then). Not sure if you wanna implement in your PodHacks, or rather patch the check to always return true; here's a screenshot of the code:
http://ray.syroot.com/pod/altf7switchingcheck.png The patch to nop out the stupid jump is:
0xA5994 74 1D --> 90 90
In case you wondered, the DisplayMode setting goes through some switches until the final resolution is determined:
Ini -> PodInternalRes -> GrScreenResolution_t
2 -> 8 -> GR_RESOLUTION_640x400
3 -> 8 -> GR_RESOLUTION_640x400
4 -> 7 -> GR_RESOLUTION_512x384
5 -> 7 -> GR_RESOLUTION_512x384
6 -> 9 -> GR_RESOLUTION_800x600
7 -> 9 -> GR_RESOLUTION_800x600
else -> 4 -> GR_RESOLUTION_640x480
It looks like UbiSoft forgot to check the hardware when reading the Ini for the first time (thinking it could never be set to 6 or 7 anyway), thus making that 800x600 at startup possible (and probably failing at calling grSstWinOpen on real 3Dfx PCs which didn't support it).
Here's a test video of it on Skyrace and eviH:
https://youtu.be/khiyNaV2V9s