Further to my first post here:
Descent source code compiles with Watcom C++, for DOS.
Descent II source code compiles with Watcom C++, for DOS.
Quake and Quake II source code Quake II compiles with MS VC++ 6.0 for Windows. There's also a
.NET port--maybe that's more like what you had in mind with Crystal.