Editing Eternity Engine

From Eternity Wiki
Jump to navigationJump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 11: Line 11:


Now it has [[Universal Doom Map Format|UDMF]] support and a dynamic weapon and inventory system. It supports linked portals for full room-over-room gameplay. Current major goals for the engine include completing support for [[Doom Wiki:Heretic|Heretic]].
Now it has [[Universal Doom Map Format|UDMF]] support and a dynamic weapon and inventory system. It supports linked portals for full room-over-room gameplay. Current major goals for the engine include completing support for [[Doom Wiki:Heretic|Heretic]].
==Getting started==
You can download Eternity either from [https://www.doomworld.com/forum/25-eternity/ Doomworld] (as official releases) or from [https://devbuilds.drdteam.org/eternity/ DRDTeam] (as "beta quality" development builds, which in practice are generally stable, and may be needed for some modding features listed on this wiki).
Eternity's goal that makes it different from feature ports such as [[Doom Wiki:GZDoom|GZDoom]] is demo compatibility similar to that of [[Doom Wiki:PrBoom+|PrBoom+]], kept specifically to ensure that every new feature we add fits seamlessly with what exists so far, and that we don't stray from the bases made so far in the DOOM gameplay.
Support for [[Doom Wiki:Heretic|Heretic]] is growing, though still under way. While we don't support vanilla Heretic demos for playback yet, a possibility exists in the horizon.
===Playing Eternity===
When run directly, Eternity tries to find the DOOM, DOOM 2 or Final DOOM megawads in some standard locations. If it can't find them, it will let you know. If it finds several of them, it will start with a picker screen, letting you choose.
On [[Wikipedia:Windows|Windows]] you can use the drag-and-drop feature of Explorer by moving WADs and PKEs into Eternity's executable. Or you can use Powershell or Command Prompt in a manner similar to starting [[Doom Wiki:Vanilla Doom|vanilla DOOM]]. See [[list of command line parameters]]. For more advanced cases, you can use [[GFS]] files to quickly load multiple files and settings together.
The [[Wikipedia:macOS|macOS]] version of Eternity also comes with a visual dialog-box launcher, hiding the complexity behind starting a terminal.
For advanced technical stuff, cheating and testing maps, Eternity has a [[console]] similar to [[Wikipedia:Quake|Quake's]].
====Loading main game WADs====
Eternity looks for the main game WADs (IWADs), e.g. doom2.wad, at these locations:
* IWAD file paths in user/system.cfg;
* the -iwad command-line parameter;
* the [[Doom Wiki:Environment variables|'''DOOMWADDIR''' or '''DOOMWADPATH''' environment variables]];
* the IWAD in the working directory;
* the IWAD file under the appropriate game folder of the base directory, which can be found using the -game parameter.
====Loading Master Levels for DOOM II====
Eternity offers a menu for conveniently loading each WAD from the Master Levels. To start the Master Levels:
# Start Eternity with DOOM II;
# Go to the Options menu, under the Game Files section, select WAD Options;
# Under the Master Levels section, you may need to specify Master Levels Dir to the path with the WADs;
# Once the path is configured, enter Play Master Levels.
Once the Master Levels Dir is configured, entering New Game from the menu will give you the choice to start the Master Levels.
===Making mods for Eternity===
The editors [[Doom Wiki:Doom Builder X|Doom Builder X]], [[Doom Wiki:GZDoom Builder|GZDoom Builder]], [[Doom Wiki:Eureka|Eureka]] and [[Doom Wiki:SLADE|SLADE]] have Eternity level editing support of varying degrees. For [[UDMF]] (modern advanced format) you can use Doom Builder X, GZDoom Builder or SLADE. However, if you lack access to a UDMF-capable editor or don't want the complexity it brings, you can also use the classic DOOM format, combined with [[ExtraData]]
For general modding, Eternity relies on [[EDF]], its own content definition language. For level definitions in particular it uses [[EMAPINFO]]. Eternity also has growing support for some lumps from [[Doom Wiki:GZDoom|GZDoom]] and [[Doom Wiki:Hexen|Hexen]] such as [[ANIMDEFS]], thus increasing the support for cross-port mods.
Eternity can load [[PKE]] archives, not just [[Doom Wiki:WAD|WADs]]. It can also load unarchived folders structured the same as PKE archives (you can use the -file command-line parameter on folders), facilitating project work. You can use powerful editors such as [[Wikipedia:Visual Studio Code|Visual Studio Code]] on such folders to edit your EDF modifications.
See [[Editing reference|all editing reference]] to get started on modding.


==Major Features==
==Major Features==
Line 71: Line 30:


==Releases==
==Releases==
A complete list of Eternity's release history follows. You can find most of these releases on the [https://www.doomworld.com/forum/25-eternity/ Doomworld Eternity forum], on the [https://github.com/team-eternity/eternity/releases GitHub Eternity repository] and the older releases on the [http://eternity.mancubus.net/ee-old/ Eternity Mancubus website]. Most of the releases are Windows only, but the most recent ones are also available on macOS.
A complete listing of Eternity's release history follows. See also the [[Eternity Engine#Development builds|development builds]] below.
 
For finer grained non-official releases, see also the [[Eternity Engine#Development builds|development builds]] below.


===Version 3.29===
===Version 3.29===
Line 128: Line 85:


===Version 4.00===
===Version 4.00===
* [https://www.doomworld.com/forum/topic/99957-eternity-engine-40000-v%C3%B6lusp%C3%A1/ 4.00.00] "Völuspá" - March 17, 2018
* {{Latest}} "Völuspá" - March 17, 2018
 
===Version 4.01===
* [https://www.doomworld.com/forum/topic/117429-eternity-engine-40100-tyrfing/ 4.01.00] "Tyrfing" - October 13, 2020
 
===Version 4.02===
* [https://www.doomworld.com/forum/topic/119425-eternity-engine-40200-forseti/ 4.02.00] "Forseti" - January 27, 2021


==Cross-platform development==
==Cross-platform development==
Eternity is built by using the [[Wikipedia:CMake|CMake]] utility. You can download the Eternity [[Wikipedia:source code|source code]] from [[Wikipedia:GitHub|GitHub]] and execute CMake. Eternity's source code repository, as well as the latest releases, are located [https://github.com/team-eternity/eternity/ here].
For [[Wikipedia:Windows|Windows]], Eternity has a [[Wikipedia:Visual Studio|Visual Studio]] project. For [[Wikipedia:macOS|macOS]], it has an [[Wikipedia:Xcode|Xcode]] project. For other platforms (most notably [[Wikipedia:Linux|Linux]]), Eternity can be compiled by using the [[Wikipedia:CMake|CMake]] utility. You can download the Eternity [[Wikipedia:source code|source code]] from [[Wikipedia:GitHub|GitHub]] and execute CMake.


==Development builds==
==Development builds==
Please note that all contributions to Eternity Wiki are considered to be released under the GNU Free Documentation License 1.2 (see Eternity Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)