early on, the problem they had was they couldn't seem to decide on an engine. one month they're using the unreal engine- the next their using the quake II engine. It was almost as if one person went up to the project lead and said, "hey, this engine is really cool, I think we should rewrite all the code we've written for our current equally proficient engine to use this other one for a negative net gain because we'll need to license it and pay for another 500 man hours on top of those already used creating the code I propose to replace.". Later on, it was basically:
"well, the person that wrote that is gone, and even though his comments clearly state the expected inputs and outputs, I think it would be on the safe side if we re-wrote it completely. I always found him to be a bit shifty, never know what might be left in here."
"Sir... it's a Swap() routine..."
"All the more reason! now get to rewriting it! While your at it, make it so we use the Source engine, chop chop. shouldn't be too hard, we're almost done."