Superluigieth1 Posted January 21, 2016 I was wondering if you could get the original Doom source code out of the executable itself. I was wondering, because you could get the strings and the basic AI out of DeHackEd. If you could do that, you could most likely get the source out of there. Any thoughts? 0 Share this post Link to post
Gez Posted January 21, 2016 No, you can never get the source code out of an executable (exceptions: quines and interpreted or JIT programs such as Unix shell scripts). You'll lose stuff like variable names, function names (usually), comments, #ifdef'ed out code, whether a constant value was #defined or not, etc. You can, however, if you are good at reverse-engineering and have adequate tools, get all the logic and with efforts and patience recreate source code that is functionally equivalent. 0 Share this post Link to post
Superluigieth1 Posted January 21, 2016 Yeah, I was thinking reverse engineering. I think that's how the Another World source code came out. 0 Share this post Link to post
Maes Posted January 21, 2016 Interesting. According to this website, the reason Another World's reverse engineering (as well as its "easy" porting to many platforms, at the time) was so successful was because the game's logic and cinematic data was based on its own VM (!) to begin with, with very little "heavy" binary stuff. You could say it was a more sophisticated version of the Sierra or Lucasarts/Lucasfilms interpreted VMs. Unfortunately (?), Doom is more oldschool than that, but this approach was later (partially) used in the Quake series and Doom 3. 0 Share this post Link to post
VGA Posted January 21, 2016 What is the point of this thread? We have the source code of Doom! 0 Share this post Link to post
Superluigieth1 Posted January 21, 2016 VGA said:What is the point of this thread? We have the source code of Doom! Linux Doom, silly. I meant the ORIGINAL copy. 0 Share this post Link to post
Quasar Posted January 21, 2016 The DOOM pre-beta has complete Watcom debugging information in it, including the names of every single function and variable in the order they are defined in the binary code. If this had been known when it was released in '94 or '95, while not having the source code or symbols for the release version, we'd have at least had a much better understanding of some of the internals of the engine ;) id could have had all their hard work stolen by unscrupulous people too, so it's a good thing for them. 0 Share this post Link to post
Graf Zahl Posted January 21, 2016 Of course it also has to be said that reverse-engineering a binary into source is exceedingly hard if you got no reference. Back in the day several people did some reverse-engineering of Strife.exe, but just having the Doom source and recognizing some patterns in the code and placing descriptive labels on them immensely helped to get to the desired information. 0 Share this post Link to post
Voros Posted January 21, 2016 Grah beat me. Strife.exe's source code developed just like that. Well maybe the same can be done for Doom, since the Linux source code is availabe. Doesn't mean it will not be a pain in the ass. 0 Share this post Link to post
ABRACADABRA Posted January 21, 2016 does anybody tried to contact Bernd Kreimeier himself? or anybody involved in the beginning of doom legacy? I heard they asked for original source from carmack himself 0 Share this post Link to post
Maes Posted January 21, 2016 Yeah, we do have the Doom Source code but it's no secret that it's missing a hair or two of functionality from what DOOM.EXE actually does, for various reasons. In 99.999% of cases it's probably good enough. If you really want that 6-th "nine" however, that's another matter. Trouble is, the few that do know about those small differences, have chosen or are bound not to speak. For example, the original Boom team also supposedly had access to some "insider information" not present in the Linux Doom release, but I don't know if everything they sneaked in is traceable with comments or SVN changes. I wonder if anybody really bothered checking the original Boom vs Linux Doom, and found out what could have sneaked in. I'm wondering: since Romero has released all those goodies, including the SOURCE CODE to the infamous DMX sound library (which was what prevented a full release all those years), what's preventing him or anyone else with access to THE Source Code, from releasing it? Obviously, DMX (or at least some of its versions) is not a problem anymore... 0 Share this post Link to post
ABRACADABRA Posted January 21, 2016 Maes said:what's preventing him or anyone else with access to THE Source Code, from releasing it? Obviously, DMX (or at least some of its versions) is not a problem anymore... it wasn't really a problem for raven to release their sources 0 Share this post Link to post
Quasar Posted January 21, 2016 ABRACADABRA said:it wasn't really a problem for raven to release their sources Technically, from a legal POV, it could have been. The DMX headers all state that the API is confidential and that the agreement states it cannot be disclosed. That would mean such trivial details as function names and signatures, according to some recent awful court rulings. So if Radek wanted to pick a bone with Raven over it, he could within his legal rights. But, since Raven belongs to Activision now, they have a thousand angry lawyers who would descend upon him like bees; I doubt his recovery would be worth what he'd spend fending them off, and then the entire case might get tossed just on the finding that Radek cannot demonstrate any real and actual loss from the disclosure of a 20 year old API for an OS that nobody runs or - more importantly - develops games for any more. 0 Share this post Link to post
VGA Posted January 22, 2016 I know there are some differences in the screen drawing mode which makes source ports perform worse in DOS, correct? Other than that, Chocolate Doom's development has resulted in all weird edge cases being researched and emulated perfectly, or am I missing something. Other than the DOS port problems, what could be gained from the 1.9 source? The executable itself is runnable through a high degree of emulation and always will be. 0 Share this post Link to post
printz Posted January 22, 2016 Maes said:I'm wondering: since Romero has released all those goodies, including the SOURCE CODE to the infamous DMX sound library (which was what prevented a full release all those years), what's preventing him or anyone else with access to THE Source Code, from releasing it? Obviously, DMX (or at least some of its versions) is not a problem anymore... Where is the DMX source code? I can't find it with Google. 0 Share this post Link to post
chungy Posted January 22, 2016 Maes said:For example, the original Boom team also supposedly had access to some "insider information" not present in the Linux Doom release, but I don't know if everything they sneaked in is traceable with comments or SVN changes. I wonder if anybody really bothered checking the original Boom vs Linux Doom, and found out what could have sneaked in. Besides that Boom predates SVN (and AFAIK nobody has the CVS tree used for it), it would be pretty easy to make that comparison yourself: https://github.com/Doom-Utils/historic-ports/commits/boom 0 Share this post Link to post