Editing Doom source code

From DoomWiki.org

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
The '''Doom source code''' was released [[Timeline#1997|December 23, 1997]], initially under a not-for-profit license. Later, permission was granted to re-release the source code under the GNU [[Wikipedia:GPL|GPL]] on [[Timeline#1999|October 3, 1999]].
+
The '''Doom source code''' was released [[Timeline#1997|December 23, 1997]], initially under a not-for-profit license. Later, permission was granted to re-release the source code under the GNU [[Wikipedia:GPL|GPL]] in [[Timeline#1999|October 3, 1999]].
  
 
Before release, the source code was tidied up by [[Bernd Kreimeier]]; the source release includes a changelog of his contributions. Several documentation files are also included. The original plan for the source code release involved a book Kreimeier was to write on the Doom engine; however, due to Doom's decreasing relevance in the gaming community, it was eventually judged not to be a marketable idea, and the project was abandoned. The source code was then released to the public.
 
Before release, the source code was tidied up by [[Bernd Kreimeier]]; the source release includes a changelog of his contributions. Several documentation files are also included. The original plan for the source code release involved a book Kreimeier was to write on the Doom engine; however, due to Doom's decreasing relevance in the gaming community, it was eventually judged not to be a marketable idea, and the project was abandoned. The source code was then released to the public.
Line 47: Line 47:
 
: Callback functions passed to P_BlockThingsIterator (see p_maputl.c)
 
: Callback functions passed to P_BlockThingsIterator (see p_maputl.c)
 
; T_*
 
; T_*
: "[[Thinker]]" functions set to be called each clock [[tic]] for some purpose (eg, moving platforms or flickering lights)
+
: "Thinker" functions set to be called each clock [[tic]] for some purpose (eg, moving platforms or flickering lights)
  
 
A detailed list of files and their purposes can be found in [[Doom source code files]].
 
A detailed list of files and their purposes can be found in [[Doom source code files]].
 
==Doom Classic==
 
''[[Doom 3: BFG Edition]]'' incorporates the "Doom Classic" port allowing to play [[The Ultimate Doom]] and [[Doom II]] on 32- and 64-bit Windows, on the [[Xbox 360]] and on the [[PlayStation 3]]. There are a few changes done to the source code and packaging here. Notably:
 
* Bugs introduced in the LinuxDoom code by Bernd Kreimeier's cleanup and changes are absent
 
* [[MUS|MUS2MIDI]] and [[TiMidity]] are incorporated for MIDI playback, instead of using [[DMX]]
 
* A few [[static limits]] have been raised, notably [[visplane]]s and [[drawseg]]s to accommodate for [[No Rest for the Living]]'s levels
 
* Several #defines have been moved out of their original files and into either Precompiled.h or defs.h (both new files)
 
* The [[Master Levels]] and No Rest for the Living are handled as mission packs like [[TNT: Evilution]] and [[Plutonia]]
 
* The French language file is still present but emptied, French is removed from the language_t enum
 
* The code is available under the GPLv3 or later
 
 
Note: this should not be confused with the iOS port also named [[Doom Classic (iOS)|Doom Classic]].
 
 
== See also ==
 
* [[Doom Source License]]
 
* [[Heretic source code]]
 
* [[Hexen source code]]
 
* [[Strife source code]]
 
* [[Doom 3 source code]]
 
  
 
== External links ==
 
== External links ==
* [https://www.doomworld.com/10years/ports/ports01_1.php Doomworld - 10 years of Doom] - some history of the Doom source release.
+
* [http://www.doomworld.com/10years/ports/ports01_1.php Doomworld - 10 years of Doom] - some history of the Doom source release.
 
* {{idgames|id=8802|title=Doom source code}} (Original [[Licences#Source code release|DOOM Source Licensed]] version)
 
* {{idgames|id=8802|title=Doom source code}} (Original [[Licences#Source code release|DOOM Source Licensed]] version)
 
* {{idgames|id=14576|title=Doom source code}} (Revised [[Licences#GNU_General_Public_License_.28GPL.29|GPL]] version)
 
* {{idgames|id=14576|title=Doom source code}} (Revised [[Licences#GNU_General_Public_License_.28GPL.29|GPL]] version)
* [https://github.com/id-Software/DOOM GitHub repository for Doom]
 
* [https://github.com/id-Software/DOOM-3-BFG/tree/master/doomclassic GitHub repository for Doom Classic]
 
  
 +
==See also==
 +
* [[Heretic/Hexen source code]]
 +
* [[Doom 3 source code]]
 
[[Category:Doom engine]]
 
[[Category:Doom engine]]
 
[[Category:Code]]
 
[[Category:Code]]

All contributions to DoomWiki.org are considered to be released under the CC BY-SA 4.0 International (see Doom Wiki:Copyrights for details). By contributing, you agree to be bound by the Terms of Use.
Your changes will be visible immediately. Please enter a summary of your changes above.

Do not submit copyrighted images or text without permission!

This project is not affiliated with id Software, Raven Software, ZeniMax Media, Bethesda SoftWorks, or any other commercial software developer or publisher. Use of trademarked logos and other protected intellectual property is solely for the purpose of analysis and critical commentary on the identified products and associated fan community activity, and does not imply any endorsement by any of these organizations or their employees, past or present.

Cancel | Editing help (opens in new window)

Template used on this page: