Lontahv wrote:But it would be near impossible without disassembly.
There are more factors to it though.
Actually, while helpful, disassembly and decompilation are things it could have been done without. As Nadnerb suggests, It also made use of guesswork and the Cobbs wiki(though frequently somewhat off). None of this, however, enables you to handle the most difficult part: attempting to reconstruct the intended behavior of a class in an earlier implementation, which may require more details than the later implementation. For example, I recall people saying that it would be impossible due to the differing physics simulators. That was the hardest problem to overcome, but there was also the major problem of drastic changes to the animation system, including Quaternion compression. In order to do these things, it requires knowledge of how physics simulators typically operate, how Quaternions behave( so as to come up with a compression scheme yourself and compare), and similar things. While it certainly wasn't as hard as, say, grokking set topology, it's more involved that a naive analysis would suggest.