Difference between revisions of "Doom Legacy"

From DoomWiki.org

[checked revision][pending revision]
(add new parameters for initial release info)
(Trivia)
 
(30 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{InfoboxSourcePort
+
{{InfoboxSoftware
 
|title = Doom Legacy
 
|title = Doom Legacy
 
|developer = [[Denis Fabrice (faB)|faB]], [[Thierry Van Elsuwé (Hurdler)|Hurdler]], [[Boris Pereira]], [[Wesley Johnson]]
 
|developer = [[Denis Fabrice (faB)|faB]], [[Thierry Van Elsuwé (Hurdler)|Hurdler]], [[Boris Pereira]], [[Wesley Johnson]]
 
|logo = [[File:Doom Legacy logos.png]]
 
|logo = [[File:Doom Legacy logos.png]]
 
|baseparent = [[DOSDoom|DOSDoom v0.2]]
 
|baseparent = [[DOSDoom|DOSDoom v0.2]]
|programming language = [[Wikipedia:C (Programming Language)|C]]
+
|programming language = {{wp|C (programming language)|C}}
 
|status = Active
 
|status = Active
|initialversion = {{safesubst::{{FULLPAGENAME}}/InitialVersion}}
+
|initialversion = 1.11
|initialdate = {{safesubst::{{FULLPAGENAME}}/InitialDate}}
+
|initialdate = 1998-02-12
 
|platform = Cross-Platform
 
|platform = Cross-Platform
 
|license = {{GPL||2+}}
 
|license = {{GPL||2+}}
Line 14: Line 14:
 
|repotype = Subversion
 
|repotype = Subversion
 
|repourl = [svn://svn.code.sf.net/p/doomlegacy/svn/ SourceForge]
 
|repourl = [svn://svn.code.sf.net/p/doomlegacy/svn/ SourceForge]
}}'''Doom Legacy''' is a [[source port]] available for DOS, Win32, Linux, OS/2, and MacOS, originally written by [[Boris Pereira]] and [[Denis Fabrice (faB)|Denis "faB" Fabris]], maintained by [[Thierry Van Elsuwé (Hurdler)|Thierry "Hurdler" Van Elsuwé]] for a long time, and is now maintained by [[Wesley Johnson]] with a supporting cast of 40 contributors.
+
}}
 +
'''Doom Legacy''' is a [[source port]] available for Windows, Linux, Win32, DOS, OS/2, and [[MacOS|Mac OS X]], originally written by [[Boris Pereira]] and [[Denis Fabrice (faB)|Denis "faB" Fabris]], maintained by [[Thierry Van Elsuwé (Hurdler)|Thierry "Hurdler" Van Elsuwé]] for a long time, and is now maintained by [[Wesley Johnson]] with a supporting cast of 40 contributors.
  
Legacy was originally written as a fork of an early [[DOSDoom]] version introducing [[free look|mouse-look]], [[jump]]ing, a [[console]], 32 player deathmatch, skins, and a native win32 mode. The [[console]] in its entirety was taken from [[Quake]] 1.01, a leaked version of [[Quake]] about one to two years before it was GPLed. Fabris developed a glide front-end, one of the first hardware-accelerated renderers. Hurdler was originally introduced to develop GL support, however as time went by, Hurdler increasingly maintained the project. Fabris, Boris, and Hurdler have now moved on to pastures new.
+
Legacy was originally written as a fork of an early [[DOSDoom]] version introducing [[free look|mouse-look]], [[jump]]ing, a [[console]], 32 player deathmatch, skins, and a native win32 mode. The [[console]] in its entirety was taken from ''[[Quake]]'' 1.01, a leaked version of ''Quake'' about one to two years before it was GPLed. Fabris developed a Glide front-end, one of the first hardware-accelerated renderers. Hurdler was originally introduced to develop GL support; however, as time went by, Hurdler increasingly maintained the project. Fabris, Boris, and Hurdler have since ceased working on the port.
  
[[Boom]] compatibility was introduced later in 2000 by [[Stephen McGranahan (SoM)|Stephen "SoM" McGranahan]], who also introduced Heretic support by merging in code from [[Heretic]]/[[Hexen]]; and [[FraggleScript]] from the port [[SMMU]]. SoM developed some novel modifications, including several varieties of [[3D floor]]s and deep water before settling on the current implementation.
+
[[Boom]] compatibility was introduced later in 2000 by [[Stephen McGranahan (SoM)|Stephen "SoM" McGranahan]], who also introduced Heretic support by merging in code from [[Heretic]]/[[Hexen]], as well as [[FraggleScript]] from the port [[SMMU]]. SoM developed some novel modifications, including several varieties of [[3D floor]]s and deep water before settling on the current implementation.
 +
Support for playing Heretic wads was added sometime before version 1.42, but was completed with the 1.44 and 1.45 versions.
 +
Support for [[Chex Quest]] was also added before 1.42, with support for Chex Quest Newmaps, including the fireflies, completed by version 1.45.
 +
Latest versions support playing [[MBF]] wads, including dogs, and friends.
  
SDL is the primary graphics interface, but still has working X11 interface, and older MacOS, OS2, and DOS interfaces are still present.
+
{{wp|Simple DirectMedia Layer|SDL}} 1.2 is the primary graphics interface, but can also be compiled using SDL 2. A working {{wp|X11}} interface exists and is currently supported. The X11 port has sound device and music device selection from the menus.
 +
Older Mac OS X (PowerPC builds only, up to v1.40), OS2, and DOS interfaces are present as well.
 +
Some supporters have recently done builds on Mac and DOS.
  
 
==Features==
 
==Features==
 
 
* TCP/IP [[multiplayer]] networking (including a master server for Internet game searches).
 
* TCP/IP [[multiplayer]] networking (including a master server for Internet game searches).
 
* Nearly complete [[Boom]] and [[Heretic]] support.
 
* Nearly complete [[Boom]] and [[Heretic]] support.
* [[Wikipedia:OpenGL | OpenGL]] and software rendering (8, 15, 16, 24, 32 bit and native RGB), windowed and fullscreen.
+
* {{wp|OpenGL}} and software rendering (8, 15, 16, 24, 32 bit and native {{wp|RGB}}), windowed and full screen.
 +
* Change the video drawmode from the menus, with separate config options per drawmode, since 1.48.
 
* Higher resolutions.
 
* Higher resolutions.
 +
* [[Widescreen]] support, as stretched, fit to width, or fit to height.
 
* DirectSound 3D.
 
* DirectSound 3D.
* Console with support for key bindings (Quake-style bindings).
+
* [[Console]] with support for key bindings (''[[Quake]]''-style bindings).
 
* [[FraggleScript]] for scripting.
 
* [[FraggleScript]] for scripting.
* [[3D floor]]s (implemented in December 2000 with version 1.31), water (swim, fog, color), and coloured lighting.
+
* [[3D floor]]s (implemented in December 2000 with version 1.31), water (swim, fog, color), and [[colored lighting]].
* Boom colormaps used in OpenGL mode.
+
* Boom [[colormap]]s used in [[palette]], RGB, and in OpenGL drawing modes.
 
* [[Free look]] and [[crosshair]]s.
 
* [[Free look]] and [[crosshair]]s.
* [[Jump]]ing.
+
* [[Jumping]].
 
* 32 Players (including support for custom skins).
 
* 32 Players (including support for custom skins).
* Supports Linux, MacOS and Windows and others.
+
* Supports Linux, Mac OS X (PowerPC builds only, up to v1.40) and Windows and others.
 
* 2 player [[splitscreen]] [[co-op]] or [[deathmatch]].
 
* 2 player [[splitscreen]] [[co-op]] or [[deathmatch]].
* Ability to play Audio CDs during play.
+
* Ability to play Audio CDs during play (SDL1, X11, no longer possible with SDL2).
* Chex game support, blocking Doom graphics.
+
* [[Chex Quest]] game support, which includes blocking Doom graphics.
* Savegame directories with 99 savegames per directory. Savegames record PWAD and command line information.
+
* [[Savegame]] directories with 99 savegames per directory, since 1.44. Savegames record [[PWAD]] and [[command line]] information.
* DEH [[Dehacked]] (and BEX in alpha4).
+
* DEH [[DeHackEd]] (and BEX since 1.44 alpha4).
* New parameterized Fog linedef in Alpha4.
+
* New parameterized [[Fog]] linedef since 1.44 alpha4.
* Simple Launcher invoked when started without command line parameters (alpha5) to allow starting from icon or menu.
+
* [[Friction]] effects, ice and mud, including Boom, Heretic, and advanced Legacy friction effects.
* Advanced game and display modifications enabled in menus.
+
* Simple Launcher invoked when started without command line parameters (1.44 alpha5) to allow starting from icon or menu.
 +
* Advanced game, pickup, and display modifications enabled in menus.  Can blink the status instead of blinking the whole screen.
 +
* [[Marine's Best Friend]] (MBF) support in 1.47, with friends, [[dog]]s, MBF monster behaviors, gradual door light. TOUCHY and BOUNCES object attributes.
 +
* Boom weapon recoil, invulnerable skymap and zerotags controls, since 1.47.
 +
* [[Sprite]]s can have 16 rotations, since 1.47.
 +
* Corona draw controls, and coronas in software draw modes, since 1.48.
 +
* Additional [[deathmatch]] options and more [[coop]] game options.
 +
* [[Bot]]s, as friends or enemies, with selectable strengths.
 +
* Can read [[ZIP|zipped]] WADs directly (Linux only due to libraries).
 +
* [[Skies]] are extended to 240 high, to support free-look.
 +
* Support for [[DeePsea]] [[tall patch]]es.
 +
* Support for [[DeePBSP]] V4 extended nodes, and [[ZDoom]] extended nodes.
 +
* [[UMAPINFO]] support.
 +
* [[Blockmap]] generation option.
 +
* Supports DeHackEd things from Boom, [[PrBoom]] and [[Eternity Engine]].
 +
* Provides a dog sprite wad.
 +
* Supports a second mouse, where the OS allows it.
  
 
==Recent release history==
 
==Recent release history==
 
* 2003: Legacy 2.0, started a re-write in C++. This is designed to improve the tolerance of the code base to new features. Has [[Hexen]] support.
 
* 2003: Legacy 2.0, started a re-write in C++. This is designed to improve the tolerance of the code base to new features. Has [[Hexen]] support.
 +
* 2004: Legacy 1.42, last Legacy version before the port went on a 5 year hiatus. Several ports use Legacy 1.42 as a base because of this ''semi-fixed'' nature
 
* 2009: Legacy 1.44, renewed life in the C code path. Updates and bug fixes to most known problems, with more than 250 patches in 2009-2011 (Rev 778, Rev 845). Actively maintained, current bug reporting and SVN repository on SourceForge.
 
* 2009: Legacy 1.44, renewed life in the C code path. Updates and bug fixes to most known problems, with more than 250 patches in 2009-2011 (Rev 778, Rev 845). Actively maintained, current bug reporting and SVN repository on SourceForge.
* 2012: Legacy 1.44 alpha4 (Rev 999)(2012-12-23) on DoomLegacy home page.
+
* 2012: Legacy 1.44 alpha4 (Rev 999)(2012-12-23) on Doom Legacy home page.
* 2014: Currently available as Legacy 1.44 alpha5 (Rev 1089)(2014-2-16) on DoomLegacy home page.
+
* 2014: Currently available as Legacy 1.44 alpha5 (Rev 1089)(2014-2-16) on Doom Legacy home page.
* 2014: Legacy 1.45 beta1 (2014-05-17) on the DoomLegacy home page.
+
* 2014: Legacy 1.45 beta1 (2014-05-17) on the Doom Legacy home page.
 
* 2016: Legacy 1.46.1 and 1.46.2 released.
 
* 2016: Legacy 1.46.1 and 1.46.2 released.
 
* 2017: Legacy 1.46.3 released.
 
* 2017: Legacy 1.46.3 released.
 +
* 2018: Legacy 1.47.2 released (rev1412).
 +
* 2020: Legacy 1.48.4 released (rev1532).
 +
* 2021: Legacy 1.48.8 released (rev1568).
 +
* 2022: Legacy 1.48.10 released (rev1612).
 +
* 2022: Legacy 1.48.12 released (rev1642).
 +
* 2023: Legacy 1.48.14 released (rev1657,rev1663).
 +
 +
==Notable WADS==
 +
The following wads are notable in using and demonstrating features of Doom Legacy.
 +
* Legacy_3ddemo.wad (demo)
 +
* Rainbowstar.wad  (demo)
 +
* [[Phobia]], Phobia-Age (phobiata.wad) (must play, scripts, coronas, fireflies)
 +
* [[Hi-Tech Hell 2 - Alien Tech|HTH2.wad]] (3dfloors)
 +
* Vacuity.wad (3dfloors)
 +
* [[Twilight Warrior]]
 +
* [[Ni'mRoD - IXNAY on the HOMBRE|Nimrod.wad]]
 +
* icerial2.wad (friction)
 +
* toxdm1.wad (deathmatch)
  
 
==Trivia==
 
==Trivia==
 +
Doom Legacy was the first source port to implement a software water effect, complete with transparency and one-dimensional column warping. Due to the focus on OpenGL rendering, it was unfinished in Doom Legacy and removed in a later release. The [[Sonic Robo Blast 2]] TC re-implemented this feature with two-dimensional warping effects. The inspiration for this effect came from the Amiga game ''{{wp|Alien Breed 3D}}''.
  
Doom Legacy was the first source port to implement a software water effect, complete with transparency and one-dimensional column warping. Due to the focus on OpenGL rendering, it was unfinished in Doom Legacy and removed in a later release. The Sonic Robo Blast 2 TC re-implemented this feature with two-dimensional warping effects. The inspiration for this effect came from the Amiga game Alien Breed 3D.
+
It is accessible in its original form in version 1.28 by typing "dev_water" into the console.
  
It is accessible in its original form in version 1.28 by typing "dev_water" into the console.
+
It was also the first source port to include jumping, beating ZDoom by about three weeks (first version released in Feb 12th, 1998).
  
 
==See also==
 
==See also==
*[[Legacy (IRC channel)|#legacy]], the IRC channel
+
* [[Legacy (IRC channel)|#legacy]], the IRC channel
*[[ReMooD]] a modification of '''Doom Legacy'''
+
* [[ReMooD]], a modification of Doom Legacy
*[[PSP Legacy]] A port for the Sony PlayStation Portable
+
* [[PSP Legacy]], a port for the Sony PlayStation Portable
  
 
==External links==
 
==External links==
  
*[http://doomlegacy.sourceforge.net/ Doom Legacy home page]
+
* [http://doomlegacy.sourceforge.net/ Doom Legacy home page]
*[http://sourceforge.net/projects/doomlegacy SourceForge site]
+
* [https://sourceforge.net/projects/doomlegacy SourceForge site]
*[irc://irc.freenode.net/legacy #legacy IRC Channel]
+
* {{archived link|https://archive.org/details/old-doom-legacy|Repository of old Legacy versions|https://archive.org/details/old-doom-legacy|archive.org}}, consists of the SourceForge repository and a compilation of rare to find Legacy-related files by [[Mike Fredericks (Gokuma)|Gokuma]] and merged together on Archive.org by [[Fraggle]]
*[http://forums.newdoom.com/forumdisplay.php?f=56&referrerid=170 Legacy Forum]
+
* [irc://irc.freenode.net/legacy #legacy IRC Channel]
*[http://doomlegacy.sourceforge.net/docs/ Documentation]
+
* {{archived link|http://forums.newdoom.com/forumdisplay.php?f{{=}}56&referrerid{{=}}170|Legacy Forum|https://web.archive.org/web/20130624045249/http://forums.newdoom.com/forumdisplay.php?f{{=}}56&referrerid{{=}}170|archive.org}}
*[https://www.doomworld.com/mailbag/092998.shtml discussion] about non-hardware accelerated dynamic lighting in a [[Doomworld]] mailbag, 1998-09-29
+
* [http://doomlegacy.sourceforge.net/docs/ Documentation]
 +
* {{archived link|https://www.doomworld.com/mailbag/092998.shtml|discussion|https://web.archive.org/web/20170119115110/http://www.doomworld.com/mailbag/092998.php|archive.org}} about non-hardware accelerated dynamic lighting in a [[Doomworld]] mailbag, 1998-09-29
  
 
{{s-start}}
 
{{s-start}}
Line 88: Line 132:
 
{{s-aft-cond|after=[[Sonic Robo Blast 2]]}}
 
{{s-aft-cond|after=[[Sonic Robo Blast 2]]}}
 
{{s-end}}
 
{{s-end}}
[[Category:Source ports]]
+
 
 +
{{featured article}}
 +
[[Category:Source ports by name]]
 
[[Category:Boom compatible]]
 
[[Category:Boom compatible]]
 
[[Category:Doom ports]]
 
[[Category:Doom ports]]
 +
[[Category:MBF-compatible]]
 
[[Category:Heretic ports]]
 
[[Category:Heretic ports]]
 +
[[Category:OpenGL ports]]
 +
[[Category:Limit removing source ports]]

Latest revision as of 14:43, 29 March 2024

Doom Legacy
Doom Legacy logos.png
Codebase DOSDoom v0.2
Developer(s) faB, Hurdler, Boris Pereira, Wesley Johnson
Initial release 1.11 (1998-02-12, 26 years ago)
Latest release 1.48.14 (2023-12-29, 3 months ago)
Development status Active
Written in C
Target Platform Cross-Platform
License GNU General Public License v2+
Website doomlegacy.sourceforge.net
Source Repository

(Subversion)

SourceForge
IRC Channel Freenode #legacy

Doom Legacy is a source port available for Windows, Linux, Win32, DOS, OS/2, and Mac OS X, originally written by Boris Pereira and Denis "faB" Fabris, maintained by Thierry "Hurdler" Van Elsuwé for a long time, and is now maintained by Wesley Johnson with a supporting cast of 40 contributors.

Legacy was originally written as a fork of an early DOSDoom version introducing mouse-look, jumping, a console, 32 player deathmatch, skins, and a native win32 mode. The console in its entirety was taken from Quake 1.01, a leaked version of Quake about one to two years before it was GPLed. Fabris developed a Glide front-end, one of the first hardware-accelerated renderers. Hurdler was originally introduced to develop GL support; however, as time went by, Hurdler increasingly maintained the project. Fabris, Boris, and Hurdler have since ceased working on the port.

Boom compatibility was introduced later in 2000 by Stephen "SoM" McGranahan, who also introduced Heretic support by merging in code from Heretic/Hexen, as well as FraggleScript from the port SMMU. SoM developed some novel modifications, including several varieties of 3D floors and deep water before settling on the current implementation. Support for playing Heretic wads was added sometime before version 1.42, but was completed with the 1.44 and 1.45 versions. Support for Chex Quest was also added before 1.42, with support for Chex Quest Newmaps, including the fireflies, completed by version 1.45. Latest versions support playing MBF wads, including dogs, and friends.

SDL 1.2 is the primary graphics interface, but can also be compiled using SDL 2. A working X11 interface exists and is currently supported. The X11 port has sound device and music device selection from the menus. Older Mac OS X (PowerPC builds only, up to v1.40), OS2, and DOS interfaces are present as well. Some supporters have recently done builds on Mac and DOS.

Features[edit]

  • TCP/IP multiplayer networking (including a master server for Internet game searches).
  • Nearly complete Boom and Heretic support.
  • OpenGL and software rendering (8, 15, 16, 24, 32 bit and native RGB), windowed and full screen.
  • Change the video drawmode from the menus, with separate config options per drawmode, since 1.48.
  • Higher resolutions.
  • Widescreen support, as stretched, fit to width, or fit to height.
  • DirectSound 3D.
  • Console with support for key bindings (Quake-style bindings).
  • FraggleScript for scripting.
  • 3D floors (implemented in December 2000 with version 1.31), water (swim, fog, color), and colored lighting.
  • Boom colormaps used in palette, RGB, and in OpenGL drawing modes.
  • Free look and crosshairs.
  • Jumping.
  • 32 Players (including support for custom skins).
  • Supports Linux, Mac OS X (PowerPC builds only, up to v1.40) and Windows and others.
  • 2 player splitscreen co-op or deathmatch.
  • Ability to play Audio CDs during play (SDL1, X11, no longer possible with SDL2).
  • Chex Quest game support, which includes blocking Doom graphics.
  • Savegame directories with 99 savegames per directory, since 1.44. Savegames record PWAD and command line information.
  • DEH DeHackEd (and BEX since 1.44 alpha4).
  • New parameterized Fog linedef since 1.44 alpha4.
  • Friction effects, ice and mud, including Boom, Heretic, and advanced Legacy friction effects.
  • Simple Launcher invoked when started without command line parameters (1.44 alpha5) to allow starting from icon or menu.
  • Advanced game, pickup, and display modifications enabled in menus. Can blink the status instead of blinking the whole screen.
  • Marine's Best Friend (MBF) support in 1.47, with friends, dogs, MBF monster behaviors, gradual door light. TOUCHY and BOUNCES object attributes.
  • Boom weapon recoil, invulnerable skymap and zerotags controls, since 1.47.
  • Sprites can have 16 rotations, since 1.47.
  • Corona draw controls, and coronas in software draw modes, since 1.48.
  • Additional deathmatch options and more coop game options.
  • Bots, as friends or enemies, with selectable strengths.
  • Can read zipped WADs directly (Linux only due to libraries).
  • Skies are extended to 240 high, to support free-look.
  • Support for DeePsea tall patches.
  • Support for DeePBSP V4 extended nodes, and ZDoom extended nodes.
  • UMAPINFO support.
  • Blockmap generation option.
  • Supports DeHackEd things from Boom, PrBoom and Eternity Engine.
  • Provides a dog sprite wad.
  • Supports a second mouse, where the OS allows it.

Recent release history[edit]

  • 2003: Legacy 2.0, started a re-write in C++. This is designed to improve the tolerance of the code base to new features. Has Hexen support.
  • 2004: Legacy 1.42, last Legacy version before the port went on a 5 year hiatus. Several ports use Legacy 1.42 as a base because of this semi-fixed nature
  • 2009: Legacy 1.44, renewed life in the C code path. Updates and bug fixes to most known problems, with more than 250 patches in 2009-2011 (Rev 778, Rev 845). Actively maintained, current bug reporting and SVN repository on SourceForge.
  • 2012: Legacy 1.44 alpha4 (Rev 999)(2012-12-23) on Doom Legacy home page.
  • 2014: Currently available as Legacy 1.44 alpha5 (Rev 1089)(2014-2-16) on Doom Legacy home page.
  • 2014: Legacy 1.45 beta1 (2014-05-17) on the Doom Legacy home page.
  • 2016: Legacy 1.46.1 and 1.46.2 released.
  • 2017: Legacy 1.46.3 released.
  • 2018: Legacy 1.47.2 released (rev1412).
  • 2020: Legacy 1.48.4 released (rev1532).
  • 2021: Legacy 1.48.8 released (rev1568).
  • 2022: Legacy 1.48.10 released (rev1612).
  • 2022: Legacy 1.48.12 released (rev1642).
  • 2023: Legacy 1.48.14 released (rev1657,rev1663).

Notable WADS[edit]

The following wads are notable in using and demonstrating features of Doom Legacy.

  • Legacy_3ddemo.wad (demo)
  • Rainbowstar.wad (demo)
  • Phobia, Phobia-Age (phobiata.wad) (must play, scripts, coronas, fireflies)
  • HTH2.wad (3dfloors)
  • Vacuity.wad (3dfloors)
  • Twilight Warrior
  • Nimrod.wad
  • icerial2.wad (friction)
  • toxdm1.wad (deathmatch)

Trivia[edit]

Doom Legacy was the first source port to implement a software water effect, complete with transparency and one-dimensional column warping. Due to the focus on OpenGL rendering, it was unfinished in Doom Legacy and removed in a later release. The Sonic Robo Blast 2 TC re-implemented this feature with two-dimensional warping effects. The inspiration for this effect came from the Amiga game Alien Breed 3D.

It is accessible in its original form in version 1.28 by typing "dev_water" into the console.

It was also the first source port to include jumping, beating ZDoom by about three weeks (first version released in Feb 12th, 1998).

See also[edit]

  • #legacy, the IRC channel
  • ReMooD, a modification of Doom Legacy
  • PSP Legacy, a port for the Sony PlayStation Portable

External links[edit]

Source code genealogy
Based on Name Base for
DOSDoom v0.2 Doom Legacy 1.29 Merged
Doom Legacy 1.29 Doom Legacy 1.42 PSP Legacy
SDL Doom ReMooD
Sonic Robo Blast 2