The rest of this post remains unchanged as of writing this.
Original post contents:
Hey there,
I think it's a good (albeit belated) time to introduce you to the following, at least if you aren't yet aware of this: https://bitbucket.or...ver-recreation/
To summarize, the above repository covers modifications of open source games, with attempts to recreate original old EXEs byte-by-byte. Sometimes it's more successful, while other times it's less. A few examples:
- For most Wolfenstein 3D and Spear of Destiny EXEs, with the right tools, you may now faithfully recreate the original EXEs from the 90s, byte-by-byte. There may be this or that EXE for which only the very first few bytes (in the EXE header) differ.
- For Rise of the Triad, I had less luck, and there are also technical limitations due to the usage of Watcom 10.0b (from the 10.0(x) series), but I believe it's *very* close.
Now, let's get to the following. Note that I consider this code recreation *partial*, hence you'll find it in a "bonus" subdirectory. In particular:
- This covers game code only.
- This does *not* cover engine code, audio library code* or closed-source libraries. Original binary OBJ and LIB files are used for these.
Basically, I'm talking about the game code (and no other code piece) of Duke Nukem 3D!
These EXEs are now covered in the "duke3d" directory (bonus/duke3d) within my repository:
- Duke Nukem 3D: Atomic Edition v1.5, up to differences described below (possibly hidden under "Spoiler" tags).
- The following EXEs originally built by Matt (recreated byte-by-byte): NAM/NAPALM Full Version 1.0, WW2GI Full Version 1.0 and EDuke 2.00.23 (the original binary EDuke release from the year 2000 mostly known as "EDuke 2.0").
Note that for any comparison you might be making, there should *not* be any (originally) unofficial patch applied, like the removal of copy protection. Digital releases (e.g., Steam and GOG.COM) may be impacted, too.
For Duke3D v1.5, use Watcom C 10.0 and *not* any other version; Not even 10.0a or 10.0b.
For any of Matt's EXEs, use Watcom C 10.6a (and no other version).
For a little background behind the beginning of all of this, I'll quote myself (with any possible minor diff) from the RGB Classic Games forums (https://www.classicd....php?f=3&t=1410):
Some more details regarding Duke Nukem 3D, quoting from a recent RGB forums post with a few changes (https://www.classicd...hp?p=8406#p8406):
* In fact, this isn't entirely accurate. I've modified the Apogee Sound System sources so you can more-or-less recreate v1.1. However, you'll still prefer to use the existing AUDIO_WF.LIB file, if only due to unused gaps between C string literals and more being filled with contents differing from the original. As in the case of the game code, this might be related to the Watcom C v10.0(x) series.