Doom Legacy

From DoomWiki.org

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, 2 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.

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