Difference between revisions of "ZDoom"
From DoomWiki.org
[checked revision] | [checked revision] |
(move to Git) |
(fix substitution of new infobox parameters (from RestlessRodent's documentation?)) |
||
(26 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
{{InfoboxSourcePort | {{InfoboxSourcePort | ||
|title = ZDoom | |title = ZDoom | ||
− | |logo = [[ | + | |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]], [[ | + | |developer = [[Randy Heit]], [[Christoph Oelckers (Graf Zahl)]], [[Braden Obrzut (Blzut3)]] |
− | |baseparent = [[ATB Doom]], [[ | + | |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 = | + | |status = Discontinued |
− | |platform = Windows, Linux, Solaris, | + | |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 = | + | |website = https://zdoom.org/ |
|repotype = {{wp|Git (software)|Git}} | |repotype = {{wp|Git (software)|Git}} | ||
|repourl = [https://github.com/rheit/zdoom/ GitHub] | |repourl = [https://github.com/rheit/zdoom/ GitHub] | ||
− | |||
}} | }} | ||
+ | '''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. | ||
− | + | 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. | |
− | + | Development ceased in January 2017, further development being restricted to [[GZDoom]] and [[QZDoom]]. | |
==Features== | ==Features== | ||
− | * | + | * Implementation of [[Heretic]], [[Hexen]], and [[Strife]]'s editing features, including [[ACS]], [[hub]]s, terrain effects, the Hexen map format, and more. |
− | + | * Support for almost all of [[Boom]]'s editing features. | |
− | * Support for | + | * Support for several [[MBF]] extensions, including friendly monsters and loading [[DeHackEd]] patches from within [[WAD]] files. |
− | * Support for several | ||
* Support for [[UDMF]]. | * Support for [[UDMF]]. | ||
* Support for [[FraggleScript]] with permission of [[Simon Howard (Fraggle)]]. | * Support for [[FraggleScript]] with permission of [[Simon Howard (Fraggle)]]. | ||
+ | * A large array of extensions to [[ACS]], including new operations, functions, and a more advanced bytecode format. | ||
* Support for all [[Doom engine]] games. | * Support for all [[Doom engine]] games. | ||
− | * Removal of most [[vanilla Doom]] | + | * Removal of most [[vanilla Doom]] [[Static limits|limitations]]. |
− | * High screen resolutions | + | * High screen resolutions, with optimizations for modern processors. |
− | * [[Translucency]] | + | * [[Translucency]] in regular, additive, subtractive, and reverse subtractive varieties. |
* A [[console]]. | * A [[console]]. | ||
* Additional control options including crosshairs, [[free look]], [[jumping]], [[swimming]], 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. | ||
− | * Choice of | + | * Choice of multiple MIDI devices, including [[OPL emulation]], [[DMXGUS|Gravis Ultrasound emulation]], [[TiMidity]]++ and [[FluidSynth]] among others. |
− | * Many supported sound and image formats | + | * Many supported sound and image formats (see {{zdoomwiki|title=supported data formats}} for a complete listing). |
− | * | + | * 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. |
− | * [[DECORATE]] | + | * [[DECORATE]] — a simple yet powerful [[content definition language]] for [[actor]]s, states, [[weapon]]s, [[Artifact|inventory]], and more. |
− | * | + | * UDP Internet and LAN networking inherited from [[Linux Doom]]. |
* Walking over/under monsters and other things. | * Walking over/under monsters and other things. | ||
* Runs under Windows 98, [[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 floor]]s, [[3D middle texture]]s, [[slope]]s and [[colored lighting]]. | + | * [[Portal]]s, [[3D floor]]s, [[3D middle texture]]s, [[slope]]s and [[colored lighting]]. |
* [[Decal]]s on walls for scorch marks and blood splatter. | * [[Decal]]s on walls for scorch marks and blood splatter. | ||
* Support for custom player skins compatible with [[Doom Legacy]]. | * Support for custom player skins compatible with [[Doom Legacy]]. | ||
− | * A [[chasecam]] and many [[camera]] effects, including [[Duke Nukem]]-style security [[camera]] | + | * 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. |
− | * Support for using features of every | + | * 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 loading resources directly from ZIP (.pk3) or 7z (.pk7) files, making the use of the traditional | + | * 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 games== | ==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 | |
− | ** Chex Quest 3 | + | * The Adventures of Square |
− | + | * Chex Quest 3 | |
− | + | * Hacx v1.2 or v2.0 | |
− | In addition, ZDoom offers aliases | + | * Harmony |
+ | 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. | ||
==Ports based on recent versions of ZDoom== | ==Ports based on recent versions of ZDoom== | ||
Line 70: | 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 81: | Line 87: | ||
==External links== | ==External links== | ||
− | *[ | + | *[https://zdoom.org/ ZDoom.org] |
− | *[ | + | *[https://forum.zdoom.org/ ZDoom Forums] |
− | * | + | *{{Zdoomwiki|Main Page|ZDoom Wiki|linkonly=yes}} |
− | * | + | *{{Zdoomwiki|ZDoom version history|ZDoom version history|linkonly=yes}} |
− | *[ | + | *Compiled development builds [https://devbuilds.drdteam.org/zdoom/ for Windows] and [https://devbuilds.drdteam.org/zdoom-mac/ for Mac] at [[DRD Team]] |
− | + | *[https://github.com/doomtech/zdoom-old ZDoom source repository for historical ZDoom releases] | |
− | *[https://github.com/ | + | *[irc://irc.esper.net/zdoom ZDoom IRC channel] (considered deprecated) |
− | *[irc://irc.esper.net/zdoom ZDoom IRC channel] | + | *[https://forum.zdoom.org/viewtopic.php?f=48&t=54921 ZDoom Official Discord Server] |
==Sources== | ==Sources== | ||
Line 95: | 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=[[ | + | {{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 00:49, 19 March 2018
ZDoom | |
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.
Contents
Features
- Implementation of Heretic, Hexen, and Strife's editing features, including ACS, hubs, terrain effects, the Hexen map format, and more.
- Support for almost all of Boom's editing features.
- Support for several MBF extensions, including friendly monsters and loading DeHackEd patches from within WAD files.
- Support for UDMF.
- Support for FraggleScript with permission of Simon Howard (Fraggle).
- A large array of extensions to ACS, including new operations, functions, and a more advanced bytecode format.
- Support for all Doom engine games.
- Removal of most vanilla Doom limitations.
- High screen resolutions, with optimizations for modern processors.
- Translucency in regular, additive, subtractive, and reverse subtractive varieties.
- A console.
- Additional control options including crosshairs, free look, jumping, swimming, and crouching configurable via Quake-style key bindings.
- Choice of multiple MIDI devices, including OPL emulation, Gravis Ultrasound emulation, TiMidity++ and FluidSynth among others.
- Many supported sound and image formats (see supported data formats at the ZDoom wiki for a complete listing).
- 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.
- DECORATE — a simple yet powerful content definition language for actors, states, weapons, inventory, and more.
- UDP Internet and LAN networking inherited from Linux Doom.
- Walking over/under monsters and other things.
- Runs under Windows 98, NT, XP, Linux and Mac OS X.
- Support for Doom Connector and Player Connector network games.
- Portals, 3D floors, 3D middle textures, slopes and colored lighting.
- Decals on walls for scorch marks and blood splatter.
- Support for custom player skins compatible with Doom Legacy.
- A chasecam and many camera effects, including Duke Nukem-style security camera and Unreal-style skyboxes. Cameras can replace the player view, allowing for scripted cutscenes or alternative gameplay, such as 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 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
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
- ZDoom.org
- ZDoom Forums
- ZDoom Wiki
- ZDoom version history
- Compiled development builds for Windows and for Mac at DRD Team
- ZDoom source repository for historical ZDoom releases
- ZDoom IRC channel (considered deprecated)
- ZDoom Official Discord Server
Sources
- This article incorporates text from the open-content ZDoom documentation project article ZDoom.
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 |