Difference between revisions of "Eternity Engine"

From DoomWiki.org

[checked revision][checked revision]
m (Features: List all CPUs supported for Linux)
m (grammar)
(35 intermediate revisions by 13 users not shown)
Line 1: Line 1:
: ''This page is about the [[source port]]. For other uses, see [[Eternity]].''
 
 
{{InfoboxSourcePort
 
{{InfoboxSourcePort
 
|name = The Eternity Engine
 
|name = The Eternity Engine
Line 8: Line 7:
 
|caption = The engine showing linked wall and floor portals.
 
|caption = The engine showing linked wall and floor portals.
 
|standard = [[Boom]] Compatible
 
|standard = [[Boom]] Compatible
|developer = [[James Haley (Quasar)]], [[Stephen McGranahan (SoM)]]
+
|developer = [[James Haley (Quasar)]], [[Stephen McGranahan (SoM)]], [[Max Waine (Altazimuth)]], [[Ioan Chera (printz)]], [[Team Eternity]]
 
|baseparent = [[SMMU]]
 
|baseparent = [[SMMU]]
|released = 3.29 (2001-01-08)
+
|initialversion = 3.29
|programming language = [[Wikipedia:C++ (Programming Language)|C++]]
+
|initialdate = 2001-01-08
 +
|programming language = {{wp|C++}}
 
|status = Active
 
|status = Active
 
|platform = Cross-Platform
 
|platform = Cross-Platform
Line 20: Line 20:
 
|ircchannel = [irc://irc.oftc.net/noteternityenginerelated OFTC #noteternityenginerelated]
 
|ircchannel = [irc://irc.oftc.net/noteternityenginerelated OFTC #noteternityenginerelated]
 
}}
 
}}
 
+
{{gendisambigabout|the [[source port]]|other uses|Eternity}}
The '''Eternity Engine''' is a [[Wikipedia:GPL|GPL]] [[source port]] maintained by [[James "Quasar" Haley]] and [[Stephen "SoM" McGranahan]]. It was originally meant to power the Eternity [[total conversion]], but after the project went on hiatus, eventually being cancelled on the 15th of June 2006, the engine became the prime focus. The engine is based on [[Smack My Marine Up]] (SMMU) by [[Simon "Fraggle" Howard]].  
+
The '''Eternity Engine''' is a {{wp|GNU General Public License|GPL}} [[source port]] currently maintained by [[Max Waine (Altazimuth)]] and [[Ioan Chera (printz)]]. Previously [[Stephen "SoM" McGranahan]] and [[James "Quasar" Haley]] also worked on the port, providing the ''Cardboard renderer'' and general stability to Eternity, respectively. It was originally meant to power the [[Eternity TC|Eternity]] [[total conversion]], but after the project went on hiatus, eventually being cancelled on the 15th of June 2006, the engine became the prime focus. The engine is based on [[SMMU|Smack My Marine Up]] (SMMU) by [[Simon "Fraggle" Howard]].  
  
 
The engine now boasts a host of new features, both gameplay related and editing related, all while maintaining backward compatibility with the original engine.
 
The engine now boasts a host of new features, both gameplay related and editing related, all while maintaining backward compatibility with the original engine.
  
Projects developed for the port include [[Mordeth]], [[Doom Millennium]] and [[Vaporware]].  
+
Projects developed for the port include [[Mordeth]], [[Doom Millennium]], [[Vaporware]] and [[Heartland]].  
  
 
==Features==
 
==Features==
Line 32: Line 32:
 
* [[BOOM]], [[MBF]] and partial [[SMMU]] support (excluding [[FraggleScript]]).
 
* [[BOOM]], [[MBF]] and partial [[SMMU]] support (excluding [[FraggleScript]]).
 
* A [[console]].
 
* A [[console]].
* [[EDF]] - Eternity Definition Files - [[content definition language]] for new projectiles and monsters, with weapons planned for future releases.
+
* Support for the [[DEHEXTRA]] standard.
 +
* [[EDF]] - Eternity Definition Files - [[content definition language]] for new projectiles, monsters, and weapons.
 
* [[MAPINFO#Eternity Engine|EMAPINFO]] for defining properties of levels such as names, secret exits, music, etc.
 
* [[MAPINFO#Eternity Engine|EMAPINFO]] for defining properties of levels such as names, secret exits, music, etc.
* [[ENDOOM]] and animated start up screen support  
+
* [[ENDOOM]] and animated start up screen support.
 
* [[ExtraData]], a text-based [[map format]] extension allowing use of [[Hexen]] and custom editing features in the Doom map format.
 
* [[ExtraData]], a text-based [[map format]] extension allowing use of [[Hexen]] and custom editing features in the Doom map format.
 
* [[GFS]] - Game File Script - a way to add large numbers of files in a clean, safe manner.
 
* [[GFS]] - Game File Script - a way to add large numbers of files in a clean, safe manner.
* High screen resolutions, widescreen support, and [[render to texture]] capability.
+
* High screen resolutions, [[widescreen]] support, [[uncapped framerate]], and [[render to texture]] capability.
* "Managed mission pack" support for [[Master Levels]] and [[No Rest for the Living]], allowing their maps to be loaded and played without conflict with normal Doom II levels.
+
* "Managed mission pack" support for [[Master Levels]] and [[No Rest for the Living]], allowing their maps to be loaded and played at runtime from the main menu.
 
* [[MUSINFO]] support.
 
* [[MUSINFO]] support.
 
* [[PNG]]-format graphics support.
 
* [[PNG]]-format graphics support.
 +
* [[UDMF]] support, with the "Eternity" namespace.
 +
* [[UMAPINFO]] support (Development builds)
 
* Render-only [[slope]]s.
 
* Render-only [[slope]]s.
 
* Rendering [[portal]]s which can be used to create [[skybox]]es and fake 3D architecture. Linked portals allow objects to pass through them, as well.
 
* Rendering [[portal]]s which can be used to create [[skybox]]es and fake 3D architecture. Linked portals allow objects to pass through them, as well.
 
* [[3D middle texture]]s, which cause 2S linedefs to clip objects using the height of their middle texture. Within the range of the texture's height, the lines are effectively solid and block players, monsters, and projectiles. Below or above, objects can pass freely.
 
* [[3D middle texture]]s, which cause 2S linedefs to clip objects using the height of their middle texture. Within the range of the texture's height, the lines are effectively solid and block players, monsters, and projectiles. Below or above, objects can pass freely.
* Runs under Windows (95 through 8), Linux (x86, x86-64, and ARM), BSD OSes, and Mac OS X.
+
* Runs under Windows (95 through 10 x86 & x64), Linux (x86, x86-64, and ARM), BSD OSes, and macOS.
 
* [[Translucency]], regular and additive.
 
* [[Translucency]], regular and additive.
 
* Walking over/under monsters and other things.
 
* Walking over/under monsters and other things.
Line 53: Line 56:
 
The Eternity Engine started development in 1998, based on [[Boom]]. The codebase then switched to [[MBF]] and finally to [[SMMU]]. The first public release of the Eternity Engine was 3.29 beta 1 on January 8, 2001.
 
The Eternity Engine started development in 1998, based on [[Boom]]. The codebase then switched to [[MBF]] and finally to [[SMMU]]. The first public release of the Eternity Engine was 3.29 beta 1 on January 8, 2001.
  
[[FraggleScript]] was removed in version 3.31, to be replaced by [[Wikipedia:Pawn (programming language)|Small]]. Due to Small's lack of x64 portability, however, it was deprecated in version 3.37. It will be replaced by the upcoming [[Aeon]] application extension API.
+
[[FraggleScript]] was removed in version 3.31, to be replaced by Small. Due to Small's lack of x64 portability, however, it was deprecated in version 3.37. It will be replaced by the upcoming [[Aeon]] application extension API.
  
==Source==
+
==See also==
*{{wikipedia|title=Doom source port}}
+
* [[rorEternity]]
*''Text has also been taken from the Team Eternity Software homepage (See "External links")''
 
  
 
==External links==
 
==External links==
*[http://eternity.youfailit.net Eternity Wiki]
+
* [http://eternity.youfailit.net/ Eternity Wiki]
*[http://www.doomworld.com/vb/eternity/ Eternity subforum] on [[Doomworld forums]]
+
* [https://www.doomworld.com/forum/25-eternity/ Eternity subforum] on [[Doomworld forums]]
*[http://www.doomworld.com/eternity/ Team Eternity Software homepage] (outdated; read the wiki and forums for latest updates)
+
* [https://www.doomworld.com/eternity/ Team Eternity Software homepage] (outdated; read the wiki and forums for latest updates)
*[https://github.com/team-eternity/eternity Eternity git repository] ([https://github.com/team-eternity/eternity.git git clone URL]), hosted by github
+
* [https://github.com/team-eternity/eternity Eternity git repository] hosted by github
*[http://svn.drdteam.org/eternity/ Compiled SVN builds] for Windows at [[DRD Team]]
+
* [https://devbuilds.drdteam.org/eternity/ Compiled SVN builds] for Windows at [[DRD Team]]
*[irc://irc.oftc.net/noteternityenginerelated Eternity IRC channel]
+
* [irc://irc.oftc.net/noteternityenginerelated Eternity IRC channel]
 +
 
 +
==Sources==
 +
* {{wikipedia|title=List of Doom source ports}}
 +
* ''Text has also been taken from the Team Eternity Software homepage (See "External links")''
 +
 
  
 
{{s-start}}
 
{{s-start}}
Line 73: Line 80:
 
{{s-non|reason=Active}}
 
{{s-non|reason=Active}}
 
{{s-end}}
 
{{s-end}}
 +
{{featured article}}
 
[[Category:Boom compatible]]
 
[[Category:Boom compatible]]
 
[[Category:Doom ports]]
 
[[Category:Doom ports]]
 +
[[Category:MBF-compatible]]
 +
[[Category:Eternity Engine|*]]
 
[[Category:Limit removing source ports]]
 
[[Category:Limit removing source ports]]
 
[[Category:Source ports]]
 
[[Category:Source ports]]
[[Category:Eternity Engine|*]]
+
[[Category:UDMF]]

Revision as of 16:52, 23 January 2022

The Eternity Engine
File:Eewiki.gif
Eternityengine-vapordemo.png

The engine showing linked wall and floor portals.

Standard Boom Compatible
Codebase SMMU
Developer(s) James Haley (Quasar), Stephen McGranahan (SoM), Max Waine (Altazimuth), Ioan Chera (printz), Team Eternity
Initial release 3.29 (2001-01-08, 23 years ago)
Latest release 4.02.00 (2021-01-27, 3 years ago)
Development status Active
Written in C++
Target Platform Cross-Platform
Available in English (United States)
License GNU General Public License v3+
Source Repository

(git)

github.com
IRC Channel OFTC #noteternityenginerelated
This article is about the source port. For other uses, see Eternity.

The Eternity Engine is a GPL source port currently maintained by Max Waine (Altazimuth) and Ioan Chera (printz). Previously Stephen "SoM" McGranahan and James "Quasar" Haley also worked on the port, providing the Cardboard renderer and general stability to Eternity, respectively. It was originally meant to power the Eternity total conversion, but after the project went on hiatus, eventually being cancelled on the 15th of June 2006, the engine became the prime focus. The engine is based on Smack My Marine Up (SMMU) by Simon "Fraggle" Howard.

The engine now boasts a host of new features, both gameplay related and editing related, all while maintaining backward compatibility with the original engine.

Projects developed for the port include Mordeth, Doom Millennium, Vaporware and Heartland.

Features

  • ACS, including many of ZDoom's enhancements to the language.
  • Additional control options including crosshairs, free look, jumping, and flying configurable via Quake-style key bindings.
  • BOOM, MBF and partial SMMU support (excluding FraggleScript).
  • A console.
  • Support for the DEHEXTRA standard.
  • EDF - Eternity Definition Files - content definition language for new projectiles, monsters, and weapons.
  • EMAPINFO for defining properties of levels such as names, secret exits, music, etc.
  • ENDOOM and animated start up screen support.
  • ExtraData, a text-based map format extension allowing use of Hexen and custom editing features in the Doom map format.
  • GFS - Game File Script - a way to add large numbers of files in a clean, safe manner.
  • High screen resolutions, widescreen support, uncapped framerate, and render to texture capability.
  • "Managed mission pack" support for Master Levels and No Rest for the Living, allowing their maps to be loaded and played at runtime from the main menu.
  • MUSINFO support.
  • PNG-format graphics support.
  • UDMF support, with the "Eternity" namespace.
  • UMAPINFO support (Development builds)
  • Render-only slopes.
  • Rendering portals which can be used to create skyboxes and fake 3D architecture. Linked portals allow objects to pass through them, as well.
  • 3D middle textures, which cause 2S linedefs to clip objects using the height of their middle texture. Within the range of the texture's height, the lines are effectively solid and block players, monsters, and projectiles. Below or above, objects can pass freely.
  • Runs under Windows (95 through 10 x86 & x64), Linux (x86, x86-64, and ARM), BSD OSes, and macOS.
  • Translucency, regular and additive.
  • Walking over/under monsters and other things.
  • Work-in-progress support for Heretic, Hexen, and Strife.
  • ZIP support compatible with ZDoom, with a recommended extension of .pke.

History

The Eternity Engine started development in 1998, based on Boom. The codebase then switched to MBF and finally to SMMU. The first public release of the Eternity Engine was 3.29 beta 1 on January 8, 2001.

FraggleScript was removed in version 3.31, to be replaced by Small. Due to Small's lack of x64 portability, however, it was deprecated in version 3.37. It will be replaced by the upcoming Aeon application extension API.

See also

External links

Sources

  • This article incorporates text from the open-content Wikipedia online encyclopedia article List of Doom source ports.
  • Text has also been taken from the Team Eternity Software homepage (See "External links")


Source code genealogy
Based on
SMMU
Eternity Engine Active