Difference between revisions of "ZDoom"

From DoomWiki.org

[unchecked revision][checked revision]
m (External links: use zdforums template, IRC wikilink)
(34 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 
{{InfoboxSourcePort
 
{{InfoboxSourcePort
 
|title = ZDoom
 
|title = ZDoom
|logo = [[Image:ZDoom_logo.png]]
+
|logo = [[File:ZDoom_logo.png]]
 +
|screenshot = [[File:KDiZD_final_boss.png|200px]]
 +
|caption = Advanced features on display in ''[[Knee-Deep in ZDoom]].''
 
|standard = [[Doom]], [[Boom]], [[Heretic]], [[Hexen]], [[Strife]], [[UDMF]]
 
|standard = [[Doom]], [[Boom]], [[Heretic]], [[Hexen]], [[Strife]], [[UDMF]]
|developer = [[Randy Heit]], [[Graf Zahl]], [[Blzut]]
+
|developer = [[Randy Heit]], [[Christoph Oelckers (Graf Zahl)]], [[Braden Obrzut (Blzut3)]]
|baseparent = [[ATB Doom]], [[NTDoom]]
+
|baseparent = [[ATB Doom]], [[NTDOOM]]
 
|released = 1.11 (1998-03-06)
 
|released = 1.11 (1998-03-06)
 
|programming language = {{wp|C++}}
 
|programming language = {{wp|C++}}
|status = Active
+
|status = Discontinued
|platform = Windows, Linux, Solaris, MacOS X
+
|initialversion = 1.11
 +
|initialdate = 1998-03-06
 +
|platform = Windows, Linux, Solaris, Mac OS X
 
|language = English (US), French, Italian
 
|language = English (US), French, Italian
 
|license = [[Doom Source License]], 3-point BSD, {{zdoomwiki|License|others|linkonly=1}}
 
|license = [[Doom Source License]], 3-point BSD, {{zdoomwiki|License|others|linkonly=1}}
|website = http://zdoom.org/
+
|website = https://zdoom.org/
|repotype = {{wp|Apache Subversion|Subversion}}
+
|repotype = {{wp|Git (software)|Git}}
|repourl = [http://mancubus.net/svn/zdoom/zdoom/ MancuNET] [http://zdoom.org/Changelog changelog]
+
|repourl = [https://github.com/rheit/zdoom/ GitHub]
|ircchannel = [irc://irc.esper.net/zdoom Esper.net #zdoom]
 
 
}}
 
}}
 +
'''ZDoom''' is an advanced [[source port]] with [[Boom]] compatibility; complete support for [[Heretic]], [[Hexen]], [[Strife]], and [[Chex Quest]]; as well as many additional {{Cat|new features}}, including [[slope]]s, [[uncapped framerate]], and z-clipping. It was originally based on a merger of the [[ATB Doom]] and [[NTDOOM]] source ports.
  
'''ZDoom''' is a [[source port]], originally based on [[ATB Doom]] and [[NTDOOM]]. It has since added full support for all commonly-used [[Boom]] additions, [[Heretic]], [[Hexen]], [[Strife]] and [[Chex Quest]]. It has added many additional [[:Category:New features|features]], including [[slope]]s, [[uncapped framerate]], and z-clipping. The source code is maintained by [[Randy Heit]] and [[Christoph Oelckers (Graf Zahl)|Graf Zahl]]. The large number of modding features supported by ZDoom made it the port of choice for several independent game projects, notably [[Foreverhood]], [[Action Doom 2: Urban Brawl]], [[Chex Quest 3]] and [[Harmony]]. ZDoom has also served as a popular codebase to build on, with numerous other source ports derived from it or using portions of its code.
+
The port was maintained by [[Randy Heit]], [[Christoph Oelckers (Graf Zahl)|Graf Zahl]], and [[Braden Obrzut (Blzut3)|Blzut3]]. The large number of editing features supported by ZDoom have made it a port of choice for several independent game projects, notably [[Foreverhood]], [[Action Doom 2: Urban Brawl]], [[Chex Quest 3]], and [[Harmony]]. ZDoom has also served as a popular code base to build upon, with numerous other source ports derived from it or using portions of its code.  Many in the Doom community use [[Wikipedia:Beta testing|development versions]] of the port before they are officially released as stable builds.
  
Many in the Doom community use [[Wikipedia:Beta testing|development versions]] of the port before they are officially released as stable builds.
+
Development ceased in January 2017, further development being restricted to [[GZDoom]] and [[QZDoom]].
  
 
==Features==
 
==Features==
* Support for all of [[Hexen]]'s editing features (including [[ACS]], [[hub]]s, and new map formats).
+
* Implementation of [[Heretic]], [[Hexen]], and [[Strife]]'s editing features, including [[ACS]], [[hub]]s, terrain effects, the Hexen map format, and more.
* Support for most of [[Boom]]'s editing features
+
* Support for almost all of [[Boom]]'s editing features.
* Support for several of [[MBF]]'s editing features, including friendly monsters and loading [[DeHackEd]] patches directly.
+
* Support for several [[MBF]] extensions, including friendly monsters and loading [[DeHackEd]] patches from within [[WAD]] files.
* Support for [[UDMF]]
+
* Support for [[UDMF]].
* Support for all Doom engine games: the various versions of [[Doom]], [[Heretic]], [[Hexen]], [[Strife]], [[Chex Quest]] and even [[Freedoom]] is identified as its own [[IWAD]] rather than being taken for Doom 2: Hell on Earth.
+
* Support for [[FraggleScript]] with permission of [[Simon Howard (Fraggle)]].
* Removal of most [[vanilla Doom]] limits (including the [[visplane overflow]]).
+
* A large array of extensions to [[ACS]], including new operations, functions, and a more advanced bytecode format.
* High screen resolutions (with optimizations for modern processors).
+
* Support for all [[Doom engine]] games.
* [[Translucency]] (regular and additive).
+
* Removal of most [[vanilla Doom]] [[Static limits|limitations]].
 +
* High screen resolutions, with optimizations for modern processors.
 +
* [[Translucency]] in regular, additive, subtractive, and reverse subtractive varieties.
 
* A [[console]].
 
* A [[console]].
* Additional control options including crosshairs, [[free look]], jumping and crouching configurable via [[Quake]]-style key bindings.
+
* Additional control options including crosshairs, [[free look]], [[jumping]], [[swimming]], and [[crouching]] configurable via [[Quake]]-style key bindings.
* [[FMOD]], [[TiMidity++]], [[OPL emulation]], [[GUS]], [[GENMIDI]] and [[FluidSynth]] support.
+
* Choice of multiple MIDI devices, including [[OPL emulation]], [[DMXGUS|Gravis Ultrasound emulation]], [[TiMidity]]++ and [[FluidSynth]] among others.
* More [[music]] and [[sound]] formats: [[Wikipedia:MOD (file format)|MOD]], [[Wikipedia:XM (file format)|XM]], [[Wikipedia:IT (file format)|IT]], [[Wikipedia:S3M (file format)|S3M]], [[Wikipedia:Musical Instrument Digital Interface|MIDI]], [[Wikipedia:Vorbis|OGG Vorbis]], [[Wikipedia:SPC700 sound format|SPC]], [[Wikipedia:Free Lossless Audio Codec|FLAC]] and [[Wikipedia:MP3|MP3]], as well as [[MUS]].
+
* Many supported sound and image formats (see {{zdoomwiki|title=supported data formats}} for a complete listing).
* Support for [[Wikipedia:Portable Network Graphics|PNG]], [[Wikipedia:JPEG|JPG]], [[Wikipedia:Truevision TGA|TGA]] and [[Wikipedia:Direct Draw Surface|DDS]] format images.
+
* Enhanced texture definition lump allowing use of any graphics used by the game as patches, and allowing effects such as scaling, blending, rotating, and mirroring.
* Greatly enhanced texture definition lump allowing scaled textures (for high-resolution), as well as compositing multipatch texture using independent rotation, mirroring, alpha transparency level and either translations or color blending for each patch.
+
* [[DECORATE]] — a simple yet powerful [[content definition language]] for [[actor]]s, states, [[weapon]]s, [[Artifact|inventory]], and more.
* [[DECORATE]] script: a simple yet powerful actor definition language.
+
* UDP Internet and LAN networking inherited from [[Linux Doom]].
* Limited UDP Internet or LAN networking inherited from [[Linux Doom]].
 
 
* Walking over/under monsters and other things.
 
* Walking over/under monsters and other things.
* Runs under Windows 9x, [[Wikipedia:Windows NT|NT]], [[Wikipedia:Windows XP|XP]], [[Wikipedia:Linux|Linux]] and [[Wikipedia:Mac OS X|Mac OS X]].
+
* Runs under Windows 98, [[Wikipedia:Windows NT|NT]], [[Wikipedia:Windows XP|XP]], [[Wikipedia:Linux|Linux]] and [[Wikipedia:Mac OS X|Mac OS X]].
 
* Support for [[Doom Connector]] and [[Player Connector]] network games.
 
* Support for [[Doom Connector]] and [[Player Connector]] network games.
* [[3D middle texture]]s, [[slope]]s and [[colored lighting]].
+
* [[Portal]]s, [[3D floor]]s, [[3D middle texture]]s, [[slope]]s and [[colored lighting]].
* Decals on walls for scorch marks and blood splatter.
+
* [[Decal]]s on walls for scorch marks and blood splatter.
* Support for custom player skins.
+
* Support for custom player skins compatible with [[Doom Legacy]].
* A [[chasecam]].
+
* A [[chasecam]] and many [[camera]] effects, including [[Duke Nukem]]-style security [[camera]] and Unreal-style [[skybox]]es. Cameras can replace the player view, allowing for scripted cutscenes or alternative gameplay, such as mimicking a sidescroller.
* Many camera effects, including Duke Nukem-style security [[camera]] or Unreal-style [[skybox]]es. Cameras can even replace the player view, allowing for scripted cutscenes or alternative gameplay mimicking a sidescroller.
+
* Support for using the features of every [[Doom engine]] game in all of them — for example, a Doom map can feature Strife conversations, Hexen scripting and actors that use Heretic codepointers.
* Support for using features of every supported game in all of them -- for example, a Doom map can feature Strife conversations, Hexen scripting and actors that use Heretic codepointers.
+
* Support for loading resources directly from [[ZIP]] (.pk3) or 7z (.pk7) files, making the use of the traditional WAD file format optional except for map lumps.
* Support for loading resources directly from ZIP (.pk3) or 7z (.pk7) files, making the use of the traditional [[WAD]] file format optional except for map lumps.
 
 
* [[ENDOOM]] and animated start up screen support
 
* [[ENDOOM]] and animated start up screen support
  
==List of supported WAD's and games==
+
==List of supported games==
* [[DOOM1.WAD]] ([[Doom]] [[Shareware]])
+
=== Classic Doom-engine IWADs ===
* [[DOOM.WAD]] ([[Doom]] Registered)
+
* Doom v1.2 or later, including Ultimate Doom
* [[DOOM.WAD]] alias DOOMU.WAD ([[The Ultimate Doom]])
+
* Doom II; development versions even support the modified IWAD included as a bonus with [[Doom 3: BFG Edition]]
* DOOM.WAD alias [[FREEDOOMU.WAD]] (Ultimate [[Freedoom]])
+
* Final Doom
* [[DOOM2.WAD]] ([[Doom II]])
+
* Heretic
* [[TNT.WAD]] ([[Final Doom]] - [[TNT: Evilution]])
+
* Hexen
* [[PLUTONIA.WAD]] ([[Final Doom]] - [[The Plutonia Experiment]])
+
* Strife, including both demo versions
* [[FREEDM.WAD]] ([[Freedoom|FreeDM]])
+
* Chex Quest
* DOOM2.WAD alias [[FREEDOOM.WAD]] (Complete [[Freedoom]])
+
=== Stand-alone mods ===
* [[DOOM2F.WAD]] (French [[Doom II]])
+
* Action Doom II: Urban Brawl
* [[HERETIC1.WAD]] ([[Shareware]] [[Heretic]])
+
* The Adventures of Square
* [[HERETIC.WAD]] (Registered [[Heretic]])
+
* Chex Quest 3
* [[BLASPHEM.WAD]] alias BLASPHEMER.WAD ([[Blasphemer]])
+
* Hacx v1.2 or v2.0
* [[HEXEN.WAD]] alias HEXDEMO.WAD or HEXENDEMO.WAD ([[Hexen]] Demo)
+
* Harmony
* [[HEXEN.WAD]] ([[Hexen]] Full)
+
In addition, ZDoom offers aliases that allow use of free IWAD projects [[Freedoom]] and [[Blasphemer]] as alternatives instead of replacements. See {{zdoomwiki|IWAD|list of supported games}} for further information.
* [[HEXDD.WAD]] ([[Hexen: Deathkings of the Dark Citadel]])
 
* [[STRIFE0.WAD]] ([[Strife]] Teaser)
 
* [[STRIFE1.WAD]] + [[VOICES.WAD]] ([[Strife]] Full)
 
* [[CHEX.WAD]] ([[Chex Quest]])
 
* [[CHEX3.WAD]] ([[Chex Quest 3]])
 
* [[ACTION2.WAD]] ([[Action Doom 2: Urban Brawl]])
 
* [[HARM1.WAD]] ([[Harmony]])
 
* [[HACX.WAD]] ([[Hacx]])
 
* HACX.WAD alias [[HACX2.WAD]] ([[Hacx|Hacx 2.0]])
 
  
 
==Ports based on recent versions of ZDoom==
 
==Ports based on recent versions of ZDoom==
Line 80: Line 75:
 
*[[GZDoom]]
 
*[[GZDoom]]
 
*[[Zandronum]] and its predecessor, [[Skulltag]]
 
*[[Zandronum]] and its predecessor, [[Skulltag]]
 +
*[[QZDoom]], ZDoom's successor
  
 
==Ports based on older versions of ZDoom==
 
==Ports based on older versions of ZDoom==
Line 91: Line 87:
  
 
==External links==
 
==External links==
*[http://zdoom.org/ ZDoom.org]
+
*[https://zdoom.org/ ZDoom.org]
*[http://forum.zdoom.org/ ZDoom Forums]
+
*[https://forum.zdoom.org/ ZDoom Forums]
*[http://zdoom.org/wiki ZDoom Wiki]
+
*{{Zdoomwiki|Main Page|ZDoom Wiki|linkonly=yes}}
*{{zdoomwiki|Version_history|Version history|linkonly=1}}
+
*{{Zdoomwiki|ZDoom version history|ZDoom version history|linkonly=yes}}
*[http://mancubus.net/svn/zdoom/zdoom/ ZDoom subversion repository] ([http://mancubus.net/svn/hosted/zdoom/zdoom/trunk/ trunk checkout]), hosted by MancuNET
+
*Compiled development builds [https://devbuilds.drdteam.org/zdoom/ for Windows] and [https://devbuilds.drdteam.org/zdoom-mac/ for Mac] at [[DRD Team]]
*[http://svn.drdteam.org/zdoom/ Compiled SVN builds] for Windows at [[DRD Team]]
+
*[https://github.com/doomtech/zdoom-old ZDoom source repository for historical ZDoom releases]
*[https://github.com/AlexMax/zdoom-old ZDoom source repository for historical ZDoom releases]
+
*[[Zdoom (IRC channel)|ZDoom IRC channel]]
*[irc://irc.esper.net/zdoom ZDoom IRC channel]
+
*{{zdforums|t=54921|ZDoom Official Discord Server}}
  
 
==Sources==
 
==Sources==
Line 105: Line 101:
 
{{s-start}}
 
{{s-start}}
 
{{s-port}}
 
{{s-port}}
{{s-bef|before=[[ATB Doom]]}}
+
{{s-cond}}
 +
{{s-bef-cond|before=[[ATB Doom]]}}
 
{{s-ttl|rows=6|title=ZDoom}}
 
{{s-ttl|rows=6|title=ZDoom}}
{{s-aft|after=[[bZDoom]]}}
+
{{s-aft-cond|after=[[bZDoom]]}}
{{s-bef|before=[[Heretic]]}}
+
{{s-bef-cond|before=[[Heretic]]}}
{{s-aft|after=[[csDoom]]}}
+
{{s-aft-cond|after=[[csDoom]]}}
{{s-bef|before=[[Hexen]]}}
+
{{s-bef-cond|before=[[Hexen]]}}
{{s-aft|after=[[GZDoom]]}}
+
{{s-aft-cond|after=[[GZDoom]]}}
{{s-bef|before=[[Linux Doom]] 1.10}}
+
{{s-bef-cond|before=[[Linux Doom]] 1.10}}
{{s-aft|after=[[Skulltag]]}}
+
{{s-aft-cond|after=[[Skulltag]]}}
{{s-bef|before=[[NTDoom]]}}
+
{{s-bef-cond|before=[[NTDOOM]]}}
{{s-aft|after=[[ZDaemon]]}}
+
{{s-aft-cond|after=[[ZDaemon]]}}
{{s-bef|before=[[Strife]]}}
+
{{s-bef-cond|before=[[Strife]]}}
{{s-aft|after=[[ZDoomGL]]}}
+
{{s-aft-cond|after=[[ZDoomGL]]}}
 
{{s-end}}
 
{{s-end}}
 +
 +
{{featured article}}
 
[[Category:Source ports]]
 
[[Category:Source ports]]
 
[[Category:ZDoom|*]]
 
[[Category:ZDoom|*]]

Revision as of 12:35, 13 April 2018

ZDoom
ZDoom logo.png
KDiZD final boss.png

Advanced features on display in Knee-Deep in ZDoom.

Standard Doom, Boom, Heretic, Hexen, Strife, UDMF
Codebase ATB Doom, NTDOOM
Developer(s) Randy Heit, Christoph Oelckers (Graf Zahl), Braden Obrzut (Blzut3)
Initial release 1.11 (1998-03-06, 26 years ago)
Latest release 2.8.1 (2016-02-22, 8 years ago)
Development status Discontinued
Written in C++
Target Platform Windows, Linux, Solaris, Mac OS X
Available in English (US), French, Italian
License Doom Source License, 3-point BSD, others
Website https://zdoom.org/
Source Repository

(Git)

GitHub

ZDoom is an advanced source port with Boom compatibility; complete support for Heretic, Hexen, Strife, and Chex Quest; as well as many additional new features, including slopes, uncapped framerate, and z-clipping. It was originally based on a merger of the ATB Doom and NTDOOM source ports.

The port was maintained by Randy Heit, Graf Zahl, and Blzut3. The large number of editing features supported by ZDoom have made it a port of choice for several independent game projects, notably Foreverhood, Action Doom 2: Urban Brawl, Chex Quest 3, and Harmony. ZDoom has also served as a popular code base to build upon, with numerous other source ports derived from it or using portions of its code. Many in the Doom community use development versions of the port before they are officially released as stable builds.

Development ceased in January 2017, further development being restricted to GZDoom and QZDoom.

Features

List of supported games

Classic Doom-engine IWADs

  • Doom v1.2 or later, including Ultimate Doom
  • Doom II; development versions even support the modified IWAD included as a bonus with Doom 3: BFG Edition
  • Final Doom
  • Heretic
  • Hexen
  • Strife, including both demo versions
  • Chex Quest

Stand-alone mods

  • Action Doom II: Urban Brawl
  • The Adventures of Square
  • Chex Quest 3
  • Hacx v1.2 or v2.0
  • Harmony

In addition, ZDoom offers aliases that allow use of free IWAD projects Freedoom and Blasphemer as alternatives instead of replacements. See list of supported games at the ZDoom wiki for further information.

Ports based on recent versions of ZDoom

These ports support most or all of the features listed above.

Ports based on older versions of ZDoom

These ports are not necessarily compatible with recent ZDoom mods.

External links

Sources

Source code genealogy
Based on Name Base for
ATB Doom ZDoom bZDoom
Heretic csDoom
Hexen GZDoom
Linux Doom 1.10 Skulltag
NTDOOM ZDaemon
Strife ZDoomGL