I read what the author wrote on the KeeperFX page, but I'm really curious about a little more detail...
"Instead, I've learned binary formats of EXE and DLL files, and modified the Dungeon Keeper executable file to become a DLL."
"With my new DLL, I was able to create very simple executable file which may be used as complete code to run the game. Now I'm incrementally rewriting DK; functions which are not yet rewritten are called from the DLL, so the project functions like whole game, even though it wasn't completely rewritten yet."
How does one modify an executable like this?
Did the author find a way to see best-guesses of the original source code, and fix/add to it that way?
Is there a thorough explanation somewhere on how this type of thing is done in full? I'm very familiar with C++ but I've never seen a project like this.