First post, by vetz
- Rank
- l33t
As some of you may know Descent source code has been released since 1998. I decided I wanted to play around with it, but since my coding skills are limited, especially in C I'm putting a disclaimer that I have used AI assistance here. Still, the build I have now is working fine for me in DOSBOX, but I don't know enough of the minute details of the game to tell if there are other issues. Disclaimer: I did this patch for my own use as I want to use the original DOS version of Descent and not one of the modern source ports. It was not with initial intent to release, but I got so good results that I thought others may have a usecase for it.
This requires Descent registered fully patched to 1.5 version gamefiles.
FPS LIMITER
-----------
-maxfps <N> Frame rate cap (5-150)
Descent has an issue with running too fast on quicker CPUs. To prevent this, set a limit you desire. Recommended 60 or 70 (depending on monitor)
You can see your FPS during gameplay with -showfps flag
PHYSICS FIX for Homing missile
-----------
- Homing missile tracking decoupled from framerate
- Updates at ~30Hz regardless of render FPS (to match the "community standard" with behaviour at around 30 fps)
- Staggered per-missile for smooth visual appearance
- Original behavior preserved at <= 30 FPS
Cockpit HUD in 640x400 SVGA
-----------
- Scales up the cockpit HUD from 320x200 to also work in 640x400 (-640x400 flag)
- Uses the hi-res fonts from D2
BENCHMARK MODE
-----------
-benchmark (captures avg/min/1% low FPS during demo playback, writes BENCH.LOG in the game directory)
DESCENT BENCHMARK RESULTS========================Frames: 3058Total time: 95.90 secAverage FPS: 31.89Minimum FPS: 7.361% low FPS: 16.86Average frametime: 31.35 msWorst frametime: 135.78 ms1% low frametime: 59.31 msRenderer: Software
In DOSBOX-X I sometimes notice sound clipping when playing demos, especially if CPU cycles is set high. I did some testing to the mixer and buffer, but I'm not 100% if it's making an effect, but I left it in there.
- Volume clamping to prevent mixer overflow/clipping
- Higher sample rate (22050 Hz) and larger DMA buffer (8192)
As the source is being compiled with Open Watcom 2.0 I added /5r to optimization for Pentium CPUs.