Do you know how long it took me to bring D2X-XL in the shape it has now? I took me five years. I reckon it would take me at least two years to understand the FS2 source code real well and transform it into something that could be worked with more easily. It would need to be reformed from the ground up. When I started to rewrite D2X-XL into classes, it took me around 6 months to finally get every loose end together and deliver an acceptably stable new version - and that is after having worked with the code for over four years already.
I don't want to offend anybody here - please don't take me wrong - just analyze the current state of the FS(2) source code. It looks very much like its creators didn't invent too much new stuff, but simply built on what they had achieved with Descent 1 and 2. Quite a few things look strikingly similar and like Volition more or less expanded on the Descent code (doesn't matter whether they wrote everything from the ground up). Many things seem to have been just hacked in (the particle system is a prime example). The entire code has no good structure, no clean encapsulation. In that regard it resembles the original Descent code: Its makers knew where they wanted to get, and they knew the ins and outs of 3D math, but they didn't know at all about good software design.
If I would start to work on this code, none of you would recognize it after a year. To really bring it up to scratch rendering wise, you would need to completely rewrite the rendering stuff. I bet you could speed up rendering in by least half an order of magnitude that way, and it would also get much easier to put new stuff in.
I on the other side hade hoped that all that had already happened, and that I could half easily plug new stuff into the engine. My particle manager e.g. is encapsulated in a C++ class, but there's no way you'd throw that in the FS2 code and add a few lines of code to make it work.
Adding stencil shadows in the current code is even less feasible. If I understand it right, the D3D interface is from Volition and hasn't been added by you guys here, right? One should have thought that the code would show that by throwing a bunch of faces at the rendering API, and not work face by face, gathering all relevant lights in the process.
I have a pretty harsh verdict for the code Parallax and as I can see, Volition Inc. as well, have produced, and that is that just because you can get such a game to work, doesn't mean you're a good software engineer. Descent 1 and 2 are awful hacks, and FS2 seems to be only marginally less of a hack.
I oculd as well start to mod something like the UT3 engine into Descent 4 - that would probably be less work, as a good modern engine is way better documented and coded.