ZDoom version history
This page tracks the evolution of ZDoom by listing the main features of each version.
1998
- 1.11 (March 6)
- Build | Source
- Initial release, based on the NTDoom and ATB Doom. The version numbering follows from the Doom source code version numbering of 1.10.
- Works under both Windows 95 and NT 4.0, although it works best under Win95.
- Limited support for the Pause key. It works with some keyboards on some machines.
- Supports any resolution compatible with your DirectDraw drivers.
- Look up/down à la Heretic.
- Translucency for selected objects.
- Has a console with most of the functionality of Quake's. The only significant missing feature is Tab-completion.
- Notarget cheat.
- Command to kill all monsters in a level or yourself.
- Can play MUS, MIDI, and MOD music.
- Selected sounds are played in surround sound.
- Doors that need keys to open are highlighted on the automap.
- Automap now shows various statistics in addition to the level name.
- True keybindings. Bind any key to any command or sequence of commands.
- Intermission screen can now display your stats using absolute values rather than percentages.
- A new more general demo format.
- 1.12 (April 7)
- Build | Source
- Some visual enhancements were made such as centering the menus and drawing borders around the status bar in higher resolutions.
- Console commands can now be specified on the command line.
- Removed some of Doom's limits such as VisPlanes, VisSprites, and 2S HOM.
- Rewrote some of the inner loops in assembly. (There was some assembly in 1.11, but it never got used.)
- New CVARs relating to mouse movement. (invertmouse, m_pitch, m_yaw, etc.)
- Mouse movement doesn't get sluggish in high resolutions.
- Automap colors are customizable.
- Automap overlay and rotation are available.
- Eight crosshairs.
- Shoot up/down.
- Alt-Tab and Pause work properly on all machines now.
- The +jump command now works.
- 25% and 75% translucency levels in addition to 50%. The translucency tables now get saved to disk, too, so they only need to be calculated once instead of every time the game is run.
- The console font is now editable.
- Near complete support for DeHackEd patches. (Only monster infighting and changing a few minor text strings are not supported.)
- Sky height and position is now fixed for high resolutions. (It still wraps if you look up, but at least now if you look straight ahead, it never will.)
- Weapon sprite is always drawn at the correct location. (It was being drawn too low in some resolutions like 400x300.)
- New options menu, which includes a key configuration screen.
- Stealth monsters.
- New full-screen HUD.
- And a few other things not worth mentioning separately.
- 1.13 (May 26)
- Release thread | Build
- Fixed some major bugs (that crashed the game) and other lesser bugs that were just annoying.
- 3-D collisions for walking under and standing on other things.
- The status bar can be scaled to the full width of the screen.
- The screen mode can be selected from a menu inside the game.
- ZDoom can run in a window on the desktop.
- Better DeHackEd support. Only a few text replacements are not supported. Everything else works (including monster infighting which I haven't seen in any other port).
- New features for level designers (see editing.txt for details):
- Specification of next and secret maps on a per-map basis.
- Specify sky texture on a per-map basis.
- Use any lump in a wad as music for a map.
- Give maps a custom name without using a DeHackEd patch.
- Maps can be named anything (not just E?M? or MAP??).
- Place any messages of any length between any two maps.
- Hexen-style fog (of any color).
- Ambient sounds — either point like Quake or global like Heretic and Hexen.
- Automatic use of DeHackEd patches in PWADs.
- No more
tutti-frutti for short textures of certain heights. - zdoom.wcf file for use with WadAuthor.
- Rocket jumping. (One very important note about this: You need to be *in the air* when your rocket explodes for rocket jumping to work. This is different from Quake, and I will probably rewrite it for the next release.)
- Dynamic palette flashes.
- Supports stretching skies for freelook.
- Larger freelook range.
- Added tab-completion to the console.
- zdoom.cfg is now the name of the default configuration file since Doom Legacy decided to start using config.cfg.
- French language support. (Set language CVAR to "french".)
- Player obituaries.
- Unlimited ammo cheat (use g_unlimitedammo cvar).
- 1.14 (July 22)
- Release thread | Build | Source
- Bugs fixed:
- The bunny scroller at the end of E3M8 no longer crashes the game.
- The IDKFA cheat gives the proper amount of armor again.
- Demo recording works again.
- Telefragging works again.
- Picking up the invulnerability sphere displays the correct colors now.
- DeHackEd patches containing text replacements no longer crash the game.
- Printing a string containing "%s" to the console and then changing the video mode will no longer crash the game.
- Chat mode finally works again.
- If MIDAS can't initialize, you can still play the game but without sound.
- Pistol and chaingun sounds no longer cut out when there are lots of zombie men shooting their pistols at you.
- Mouse input should no longer be so jerky under Windows NT.
- The crosshair is finally accurate for aiming.
- Autoaim is properly remembered each time you start ZDoom.
- Switches in the Ultimate Doom that aren't also in the shareware Doom properly change their appearance when switched.
- New features:
- Players can choose their own colors and names. (Player setup menu is included).
- 8-player support (untested but should work).
- Miscellaneous internal code changes have been borrowed from the Boom source. (This does *not* mean that ZDoom supports Boom levels yet.)
- Cheats, chat messages, and gamestate changes are now recorded in demos.
- Single-player demos recorded with ZDoom are generally smaller than before.
- Quake 2-style deathmatch flags.
- Cheats (optionally) work in multiplayer games.
- Mode X is now supported under Win95, so all the machines that couldn't run ZDoom in 320x200 before should be able to now.
- Fewer conditions result in error messages that quit the game. (If you have Heretic, try this: Start ZDoom with -file heretic and go to the console and type "map E1M1".)
- Keys can repeat in the console.
- The console and chat mode now use the localized keymap set with the Keyboard control panel.
- Messages at the top of the screen now break along between words instead of in the middle of them.
- Added -config command line parameter.
- Added -fastdemo command line parameter.
- Added new screenshot command. (bound to "Print Screen" key by default)
- Added Quake-like +showscores command. (bound to "\" key by default)
- Aliases are now saved in the config file.
- Added support for multiple pitched sounds like in very old version of Doom. (Use the snd_pitched cvar to turn it on and off.)
- 1.14a (July 27)
- Release thread | Build | Source
- Bugfix release.
- Bugs fixed are:
- No more crashing about freeing a pointer without ZONEID when changing levels.
- Skies wider than 256 pixels are drawn correctly.
- Monsters' heights are once again the same as they were in id's original Doom, so certain areas work properly again.
- Monsters shouldn't teleport into each other anymore.
- Improved support for international keyboards.
- The skill level chosen for a new game is no longer ignored if the new game is started while a demo is playing.
- Cosmetic changes:
- No more "sv_gravity changed to...", "skill changed to...", etc. messages in single player games.
- Activating the player setup menu automatically stops any playing demos, since it doesn't work properly while they play.
- Barrels don't go flying away when exploding anymore.
- Added def_patch cvar to automatically load a DeHackEd patch each time the game is started.
- ZDoom savegames now use the name zdoomsv?.dsg instead of doomsav?.dsg.
- This version also includes some preliminary Boom support as I started integrating some of the Boom source code with ZDoom:
- Medusa fix.
- Openings limit removed.
- Removed limit on switches and animations.
- Added support for Boom-like ANIMATED and SWITCHES lumps in PWADs.
- Added support for Boom-style scrollers (including conveyors).
- Added partial deep water support.
- 1.16 (December 22)
- Release thread | Build | Source
- Bug fixes:
- No more limit on size of savegames or demos.
- Screen resolutions above 320x200 are now the proper brightness (they were too bright before.)
- Improved the brightness of the console font.
- Bullet puffs can show up on the floor and ceiling and not just walls.
- Missile weapons can trigger gun activation lines.
- Barrels now bounce around as much as they did in original Doom. (They were too "inert" in 1.14.)
- If a demo is being recorded, quitting the game normally will save the demo to disk. (Previously, you had to use the stop command to do this.)
- New features for players:
- Proper support for Boom maps.
- Mouse wheel support and weapnext/weapprev commands.
- Doublebindings.
- Better analog joystick support.
- 180 degree turn command for keyboarders.
- Damage done by a rocket to its shooter is configurable and defaults to the original Doom behavior.
- User-configurable gender. (Even though I don't have any new player sounds, at least the obituaries are gender-aware. :-)
- Teamplay mode.
- New CVAR to disable manual aiming of the BFG to prevent someone from shooting it at the floor and quickly triggering tracer damage before.
- Maps no longer need to have as many deathmatch starts as there are players in a deathmatch game.
- Support for Doom Legacy skins.
- Rewrote the MIDI/MUS code so that it has a working volume control.
- Many more console commands and CVARs.
- New features for editors:
- Proper support for Boom maps.
- Obituaries are configurable with a .bex patch.
- Monster paths
- Colored lighting
- Fog can be applied to only part of a level instead of all of it.
- Per-sector gravity settings.
- Support for up to 256 ambient sounds (as opposed to the limit of 64 in earlier versions).
- Sector damage adjustable from between 0-255 points of damage.
- Changeable camera views.
- The following editing features that were introduced in Hexen are also available in ZDoom:
- Most line specials take arguments that modify their behavior.
- ACS scripting.
- Hubs.
- Earthquakes.
- Dormant monsters.
- Trigger events to happen on monster deaths.
- "Waggling" floors.
- Pillar builders.
- Push activation lines (walking into a wall can trigger an event).
- Thing spawning (e.g. for traps/gifts).
1999
January 6 of this year saw the first release of the Raven Software source code.
- 1.17 (February 17)
- Release thread | DOS build
- Bug fixes:
- Multiplayer games with monsters do not crash.
- Player corpses do not levitate and then fall down when a player respawns in multiplayer games.
- Using togglemap outside of a game will not crash.
- Monsters stop attacking their target once it is dead.
- EV_StopPlat() does not get stuck in an infinite loop if there are moving platforms.
- Partially invisible players are drawn the proper colors (instead of green) if r_drawfuzz is 0.
- If you are invisible, so are your muzzle flashes.
- Trying to execute a non-existent script will not crash.
- Using a ChangeCamera special from an open script will not crash.
- The FloorAndCeiling_RaiseByValue and FloorAndCeiling_LowerByValue now behave like Hexen's.
- Using -loadgame from the command line works.
- Fixed a memory leak during generation of the translucency tables.
- In high resolutions, weapon sprites meet the bottom of the screen.
- Sounds will not cut out mysteriously when there is no reason for them to do so.
- Sounds will also not be stopped immediately when a thing is removed, so explosion sounds will play to their full length.
- Things can make more than one sound at once.
- The deathmatch scoreboard is aligned properly at high resolutions.
- Spynext and spyprev work properly instead of leaving the status bar "lagging behind" the player being viewed.
- The light-amp does not disable colored lighting.
- The sky gets
inverted when using the invulnerability powerup. - Implemented better z-checking code (from Heretic/Hexen).
- Pain elementals will spawn one lost soul at a time instead of two inside of each other.
- Bex patches that use thing mnemonics really do work now, and unknown bit messages aren't generated for regular DeHackEd patches.
- Linedef type 134 for regular Doom/Boom maps requires a red key for activation (it was being improperly translated to require a blue one).
- Monsters can activate secret lines when they cross them. (See Doom II MAP08).
- The player extreme death sound is used.
- When a player leaves a network game, their body is removed instead of being left empty.
- 0-length sounds are treated as empty sounds instead of sounds 4 gigs long.
- Skins that replaced player sounds with sounds in the IWAD work.
- Muzzle flashes do not light up foggy areas, and fullbright sprites stay shrouded in fog.
- Alphanumeric keys no longer automatically repeat on the console.
- Wads such as gothicdm2 that used new flats in addition to the ones in the IWAD with the regular doom.exe work.
- New features:
- New features interesting for wad authors:
- Polyobjects.
- Sound sequences.
- WAVE files can be used as sound lumps without converting them to DMX's format first.
- A sky can be specified to not be stretched even if it is shorter than 200 pixels.
- Sparks.
- Particle fountains.
- Parallax skies.
- Some new DeHackEd thing flags from Hexen (bobbing, reflective, etc.).
- 1.17a (February 21)
- Release thread
- Mostly minor bug fixes, released because Herian 2 needed some of those fixes. There are a few new features, however:
- If you have a skins/ directory in the same directory as zdoom.exe, every wad file in it will be automatically loaded when the game starts. This way, you don't have to load your skins by hand to use them.
- New formatting options for text printed using ACS.
- A code pointer to make monsters fire a railgun.
- 1.17b (March 17)
- Release thread
- Some minor bug fixes over 1.17 and 1.17a. It also loads faster because the sprite dimensions are not cached until they are actually needed. There are also some other internal changes in preparation for supporting Heretic and Hexen, but those don't affect the user yet.
- 1.17b1 (March 19)
- Release thread
- Bugfix release.
- 1.17c (May 5)
- Release thread | Build | Source
- Fixed game saving crashes on maps with wind/current effects.
- In Boom deep water sectors, the underwater light and fog colors can now be set independently of the area above water.
- Added nojump, allowjump, nofreelook, and allowfreelook keywords for use in MAPINFO lumps to control jumping and free look.
- The random number seed now changes each time you run the program.
- 1.18 test 1 (June 30)
- Release thread
- Tweaked the optimized renderer for fifth-generation processors.
- Added the following specials:
- Added an additional parameter to the Transfer_Heights special.
- Switched to the OpenPTC library for display.
- Converted lots of code to an object-oriented C++ architecture.
- 1.18 test 2 (July 1)
- Release thread
- Fixed vertical aim clipping (BFG works again).
- Fixed monster wandering.
- Maps with mapthings of type 0 no longer generate warning messages.
- Crushers that do no damage no longer act as if they inflict pain to actors.
- The alias command lists aliases again.
- Aliases are saved to the config file again.
- 1.18 test 3 (July 2)
- Release thread
- Removed unnecessary display mode switches.
- Created a DCanvas class to encapsulate most 2D rendering.
- 1.18 test 4 (July 3)
- Release thread
- Fixed the "Bad DCanvas::CopyRect" problem introduced in test3.
- Fixed sound sequences that should not be cut off when stopped (such as the standard doors).
- 1.18 test 5 (July 6)
- Release thread
- Fixed a potential infinite loop that was introduced in 118test1.
- Delayed the initial execution of CVAR callbacks.
- Added Heretic's
anti-aliased Wu line drawer to the automap.
- 1.18 test 6 (July 10)
- Release thread
- Rewrote the
Wu line drawer to look better (especially in overlay mode). - Stretched skies now get stretched horizontally as well as vertically.
- Did an initial integration of the Cajun Bot 0.71 code.
- Rewrote the
- 1.18 test 7 (July 12)
-
- Fixed handling of maps with scrolling walls.
- Single player works again. In test 6, all games were considered either coop or deathmatch.
- Disabled the bot thinking code in single player games, so you don't suffer a performance hit when not using bots.
- Added some performance counters accessible through the stat command.
- 1.18 test 8 (July 20)
- Release thread
- Fixed a crash problem with the "burn" screen wipe.
- Fixed a crash problem with playing non-assigned sound sequences.
- Fixed a crash problem related to trying to shutdown the music subsystem twice.
- If you try to add more coop bots than there are coop starts, the extra bot leaves quietly instead of ending the game.
- Weapondrop is now a "server" CVAR, which it should have been in the first place.
- Changed the nodetable file format to be more compact.
- Bots can now be recorded in demos.
- Bots work in multiplayer games. Still buggy. Spawning bots can cause consistency failures, and they can start spinning wildly.
- 1.18 test 9 (August 9)
- Release thread
- Fixed the "wild" bot spinning problem.
- Commands like changemap that could make network games go out of sync should work properly now. The reason they would do that is closely related to the reason that the bots would start spinning.
- Finished the serializer. Now savegames work. Hubs don't, because I haven't written the player travelling code yet.
- Various other code cleanup.
- 1.18 test 10 (August 14)
- 1.18 (September 5)
- Release thread
- Replaced the older Cajun 0.71 with Cajun 0.97.
- Fixed handling of status bar faces with skins that provide them.
- Added swimmable water.
- Messages printed to the middle of the screen also print to the console.
- Skill and other server CVARs get saved in savegames again.
- Added liquid texture warping.
- Bad MAPINFO lumps generate error messages instead of hanging.
- Realized that it's impossible to guarantee that all object pointers will be valid without some effort, so FArchive saves DObject objects as NULL objects now instead of aborting with an error.
- Added the built-in ACS functions LocalAmbientSound, ActivatorSound, and SetLineMonsterBlocking.
- Added a thing that does nothing but count toward the number of secrets.
- Added a fly mode.
- Finally implemented the +moveup and +movedown commands.
- 1.18a (September 12)
- Release thread
- Bugfix release.
- Fixed liquid warping temporarily stopping when changing levels.
- +/-mlook commands do not generate unknown command messages.
- Fixed support for maps with >10 deathmatch starts. Thanks to Roman Hatsiev.
- Fixed support for the special "maps" EndGame? in MAPINFO lumps.
- Teleport destination (no gravity) now works as intended.
- Hopefully fixed savegame problems.
- Bots are restored from savegames.
- Fixed keyboard turning speed when -dup is used.
- Network commands get executed only once when -dup is used.
- In sectors with damaging floors and swimmable deep water, the damage will also be applied while the player is swimming and not just when the player is on the ground.
- 1.18b (September 15)
- Release thread | Build | Source
- Bugfix release.
- Fixed crash when saving games with more than 1024 objects.
- Fixed crash when loading a game without starting a new one first.
- Reduced the size and frequency of pregame network packets, under the assumption that problems people were having using 1.18 on the Internet are a result of limited modem bandwidth.
- 1.19 (November 24)
- Release thread | Source/Linux build release thread | Source
- First official Linux build.
- DeHackEd patches that set an actor's death sound to 0 without removing the A_Scream call no longer crash.
- Fixed sync problems when playing with bullet puffs as particles vs as sprites.
- Fixed friction when walking on the bottom of swimmable water.
- Added Jeffrey Cuenco's fixes to get -host and -join command line parameters to work properly.
- Fixed Boom generalized locked doors so that the open/close type will actually close.
- Added pointer tracking and cleanup. This should fix the occasional crashes when saving games and various other anomalies.
- 1.20 (November 25)
- Release thread
- Bugfix release.
- 1.21 (November 26)
- Release thread | Build | Source
- Bugfix release.
- Fixed problems with thinkers removing themselves and causing other thinkers to not get a chance to think.
- Added hud_scale CVAR
- 1.22 (November 12)
- Release thread | Windows build | Linux build | Windows source | Linux source
- Scroll_Texture_Both and TranslucentLine specials can now be used from ACS.
- Fixed compiler-dependent CVAR ordering during netgame arbitration.
- Fixed certain polyobject movement combinations that would not stop even though they were supposed to.
- Did some cleanup for Alpha processors.
2000
June 20 of this year saw the public release of the Build source code.
- 1.23 Beta (May 10)
- Release thread
2001
- 1.23 Beta 19 (March 9)
- Release thread
- Added new camera types.
- Added string localization.
- Added decals.
- Added slopes.
- Added skyboxes.
- 1.23 Beta 20 (March 11)
- Release thread
- 1.23 Beta 23 (April 9)
- Release thread
- 1.23 Beta 24 (April 12)
- Release thread
- 1.23 Beta 25 (August 15)
- Release thread
- Linux build now uses SDL
- 1.23 Beta 28 (September 17)
- Release thread
- Added a few decal-related CVARs.
- 1.23 Beta 28a (December 13)
- Release thread
2002
- 1.23 Beta 33 (February 5)
- Release thread | Linux build | Source
- Many fixes and rendering optimization.
- Increased Heretic/Hexen support
- Improved decals.
- Added support for the Bloodbath announcer
- Added underwater reverb effect.
- Added Line_Horizon effect.
- Added scripted marines and several ACS enhancements.
- Added support for DeePsea's tall patches.
- Added slope things.
- Changed license for original ZDoom source code to a "BSD-ish one".
- 2.0 Beta 13 (August 27)
-
- Further increased Heretic/Hexen support.
- Added PNG support for screenshots. Savegames are actually PNG files now.
- Added internal nodebuilder, made it polyobject-aware.
- Added SNES SPC music support.
- Added a loader for Build maps.
- Added support for double- and quadruple-resolution flats (128x128 and 256x256).
- Added ACS libraries.
- Added support for up to 8 mouse buttons.
- Added the very first version of DECORATE.
- Removed MBF's torque simulation because of the problems it caused.
- 2.0.21 (December 10)
- 2.0.22 (December 11)
- 2.0.23, 2.0.24 (December 12)
- 2.0.25 (December 13)
- 2.0.26, 2.0.27 (December 19)
- 2.0.28 (December 24)
- 2.0.29 (December 28)
2003
- 2.0.30 (January 1)
- 2.0.32, 2.0.33 (January 2)
- 2.0.34 (January 3)
- 2.0.35 (January 8)
- 2.0.36 (January 10)
- 2.0.37 (January 23)
- 2.0.38 (January 24)
- 2.0.39 (February 2)
- 2.0.40 (February 8)
- 2.0.41 (February 10)
- 2.0.42 (February 12)
- 2.0.43 (April 8)
- 2.0.44 (April 9)
- 2.0.45 (April 9)
- 2.0.46 (April 14)
- 2.0.47 (April 26)
- Release thread | Build
- 2.0.47i (June 9)
- Build
- 2.0.47j (July 7)
- 2.0.47l (July 21)
- 2.0.47o (August 5)
- 2.0.47p (August 6)
- 2.0.48 (October 23)
- 2.0.49, 2.0.50 (October 26)
- 2.0.51 (October 30)
- 2.0.52 (October 31)
- 2.0.53 (November 16)
- 2.0.54, 2.0.55 (November 23)
- 2.0.56 (November 25)
- 2.0.57 (November 26)
- 2.0.58, 2.0.59 (December 7)
- 2.0.60 (December 8)
2004
- 2.0.61 (January 22)
- 2.0.62 (February 7)
-
- Added modern DECORATE support.
- 2.0.63 (February 10)
- Build | Source
- Added custom monsters to DECORATE.
- 2.0.64 (June 8)
- 2.0.90 (October 21)
-
- Added Strife support and new inventory system
- 2.0.91 (October 22)
- 2.0.92 (October 31)
- 2.0.93 (November 3)
- 2.0.94 (November 19)
- 2.0.95 (December 24)
- Changelog
- Added camera textures to ANIMDEFS and SetCameraToTexture
- Improved console tab completion, added Ctrl-X shortcut to clear the console's command line
- Several Hexen and Strife fixes
- Merged in Jim's ACS character array printing support.
- Added the polymost clipper.
- Added support for 16:10 and 5:4 aspect ratios and letterboxing.
- Added static local variables, Log, SetAmmoCapacity and GetAmmoCapacity to ACS.
- 2.0.96 (December 25)
- Build | Source | Changelog
- Added TITLEMAP
2005
- 2.0.97 (September 28)
- Release thread | Build | Source
- Bugfix release.
- The LANGUAGE lump is now text-based.
- Added IMF music format support.
- Ported SetActorAngle and BLOCK_RAILING from the ZDoom Community Build.
- Added Polymost visualization code from Build.
- Gave DONTMORPH flag to Cyberdemon, SpiderMastermind, AlienSpectre1, Crusader, Programmer, and Inquisitor.
- Made Puffy and projectiles spawned by A_LastZap deal no damage.
- Teleport_NewMap can now be used within a TITLEMAP in order to make it possible to use different maps as the title map.
- Merged in Graf Zahl's Caverns of Darkness patch.
- Added Polymost wireframe mode.
- Added writeopl console command.
- UsePuzzleItem can now be a thing's special.
- Missiles with negative damage now give you health.
- 2.0.98 (November 3)
- Release thread | Build | Source
- Bugfix release.
2006
February 16 of this year saw the first commit to the SVN repository.
- 2.1.0r204 (June 21)
- Release thread | Build | Source
- Added several things from ZDoom Community Build (unofficial 2.0.96x) and GZDoom, including custom DECORATE weapons.
- 2.1.1r226 (June 25)
- Release thread | Build | Source
- Bugfix release.
- 2.1.2r257 (July 17)
- Release thread | Build | Source
- Added custom player classes.
- Added "replaces" keyword for DECORATE.
- IWAD selection box now remembers the last choice.
- Added A_RadiusThrust to DECORATE.
- Added ThingCountName and SpawnSpotFacing to ACS.
- Changed additive scroller options into a compatibility flag.
- 2.1.3r265 (July 18)
- Release thread | Build | Source
- Bugfix release.
- Sounds can be specified by full path now in SNDINFO and S_SKIN.
- DECORATE replacement is more universal.
- Added NecroMage's submission for bitwise/shift assignment operators for ACS. (Requires ACC 1.42+.)
- Changed PlayAttacking2 to always use the melee state instead of different implementations per player and hard coding it to MissileState+1. Also changed PlayAttacking for the HereticPlayer to use the same animation as PlayAttacking2. Now the special handling for Heretic in the FireWeapon functions can be removed.
- 2.1.4r273 (July 29)
- Release thread | Build | Source
- Added partial emulation of Boom's TRANMAP by analyzing such lumps and extrapolating translucency level from them. This does not work for non-translucency effects that can be achieved with TRANMAPs.
- Added a queryiwad_key cvar to control which key can force the IWAD selection box to appear. It can be either "shift" or "control". Any other value will disable its functionality.
- 2.1.5r321 (September 2)
- Release thread | Build | Source
- New ACS functions: GetPlayerInfo, ChangeLevel, SectorDamage, ReplaceTextures
- New DECORATE functions: A_PlaySoundEx, A_StopSoundEx
- The vid_nowidescreen cvar can be used to disable widescreen aspect ratio correction.
- A_SpawnDebris and A_SpawnItem can optionally transfer the caller's color translation to the newly spawned item.
- New morphing artifacts can be created by subclassing the MorphProjectile and MorphedMonster classes.
- A_FireCustomMissile has a new parameter: Previously it always aimed straight ahead and altered the projectile's angle according to the resulting direction. If the 6th parameter is 1 now it will aim at the specified angle directly.
- Users can now define their own text colors, and there are several new standard ones.
- The fourth parameter of Polyobj_StartLine and the fifth parameter of Polyobj_ExplicitLine now set the line's ID.
- DECORATE explosion parameters are no longer considered deprecated.
- Calling Radius_Quake, Thing_Activate, or Thing_Remove with a TID of 0 now operates the activator.
- Strife's PhosphorousFire now does completely thrustless damage.
- An actor's damage in DECORATE can now be specified as an expression that is evaluated each time it needs to do damage. To do this, enclose it within parentheses, and the normal Doom damage calculation will be bypassed.
- Passing a negative script number to the puke console command now runs the script with ACS_ExecuteAlways instead of ACS_Execute.
- Polyobjects defined with Polyobj_ExplicitLine are no longer limited to 64 segs.
- Starting a new game or reloading an old one no longer resets the chasecam.
- The automap background is now a regular texture.
- Added support for many image formats for use as textures: PNG, JPEG, PCX, TGA, DDS.
- Numerous bugfixes.
- 2.1.6r346 (October 2)
- Release thread | Build | Source
- Scaled 2D images are supported.
- Dehacked max health usage defaults to consistency with other (Boom) ports.
- A font parameter was added to A_Print.
- Quoted strings in DECORATE can no longer span multiple lines without using the escape character (\) at the end of each line. This makes it easier to spot places where you unintentionally left off a closing quote and got an error several lines later.
- A new writeini console command can be used to save the ini at any time, with any file name.
- If the ini is write-protected when you quit, an error dialog now opens to let you know your settings could not be saved and gives you the opportunity to unprotect it.
- Multiple stat displays can be enabled at once.
- Several bugfixes.
- 2.1.7r365 (October 31)
- Release thread | Build | Source
- Alias commands can now do parameter substitution. If you have %x, where x is some number, in an alias command, it will be replaced by the appropriately numbered parameter passed when the alias is used, with %0 being replaced by the name of the alias itself.
- A new MapMarker actor has been added that you can use to mark points of interest on the automap. If its first argument is zero, the map marker itself appears on the automap, otherwise it is drawn on top of any actor with a TID matching that argument. If the second argument is one, then the map marker will only be appear if the player has previously seen the sector it is in. You can use Thing_Activate and Thing_Deactivate on markers to turn them on and off. To make custom markers, all you need to do is subclass MapMarker with DECORATE.
- Added the SetActorPitch ACS command to set an actor's pitch.
- You can pass multiple jump targets to the A_Jump DECORATE function, and it will choose one of them at random if it jumps.
- Using a TID of 0 with Thing_Deactivate, SetActorAngle, Thing_Spawn*, Thing_Projectile*, and Thing_Move will now operate on the activator.
- The fifth argument for Line_SetIdentification can be used to set the high byte of the line ID.
- Added a CameraHeight DECORATE property for actors.
- Added special death states for projectiles hitting actors. If missiles hit a non-bleeding actor, they try the Crash state first. If that doesn't exist or the actor is bleeding, they try the XDeath state next. If they hit anything else or neither of the two states are defined, they use the normal death state.
- Added a PIERCEARMOR DECORATE flag for projectiles.
- The morphme console command can be given an optional argument to specify which class to morph into.
- Miscellaneous bugfixes.
2007
No release this year.
2008
- 2.2.0r748 (February 15)
- Release thread | Build | Source
- This is the final version of ZDoom to fully support Windows 95 since later versions switched to FMOD Ex.
- Added custom damage types, with monsters being able to have different custom pain chances, custom damage factors, and custom death sequence for each damage type. Also, damage-specific player pain and death sounds.
- Custom damage color for palette flashes per player class.
- Custom state labels. New states can be defined in DECORATE.
- The SBARINFO lump for creating status bar and other HUDs.
- Skill definition in MAPINFO, with many properties.
- Most thing functions treat a TID of 0 as the activator now.
- Support for ENDOOM screens and the graphical or semi-graphical screens from Heretic, Hexen and Strife.
- Several things backported from Skulltag, including powerups and flags for increased port compatibility:
- Drain, HighJump and Regeneration runes as powerups and used specific player sounds for their sound effects.
- PowerQuadDamage and PowerQuarterDamage as more customizable PowerDamage and PowerProtection. These new powerups allow free customization of the damage modification per damage type by inheriting from these classes and setting specific values. Such derived damage/protection powerups will be considered as separate powers so that for example a QuadDamage and a DoubleDamage item can be stacked which would result in 8x damage.
- Armor.MaxBonus and Armor.MaxBonusMax properties to create armor bonuses that increases the max amount that can be given by other armor items.
- Custom F1 help screen MAPINFO option
- Added REDMAP and GREENMAP palette blends.
- Imported SAME_SPAWN_SPOT DM flag
- Pickup sprite for the pistol.
- Imported r_maxparticles CVAR.
- New Direct3D code for better Vista support.
- Autoload sections in the ini.
- GZDoom's alternate HUD.
- Custom blood on an actor-by-actor basis into DECORATE.
- Smart autoaim code to prevent the targeting of friendly monsters.
- New NOBLOODDECALS flag that prevents bleeding actors from spawning blood decals.
- Customizable border textures. They are defined with the MAPINFO keyword 'bordertexture' and are settable per map.
- Custom label support for A_Chase and A_VileChase
- Player.RunHealth property to expose the StrifePlayer's behavior of not being able to run when its health is below 10.
- Customizable gravity per actor
- New summonfoe console command, which is analogous to summonfriend but forces the summoned creature to be hostile instead.
- Added two new MAPINFO flags to control what actor activates impact lines: MissileShootersActivateImpactLines (the current behavior) and MissilesActivateImpactLines (the original Hexen behavior).
- More player water sounds: *dive (head goes below water), *surface (your head goes back above water), *gasp (getting air back after starting to drown)
- Using "*" with ACS's music commands will play the level's default music set in MAPINFO
- Two new CVARs (win_x and win_y) that keep track of the window position when not playing in fullscreen mode
- Key bindings can now be printed with ACS
- INVENTORY.KEEPDEPLETED flag for inventory items to keep them in the player's inventory even when they have been used up. If the item also has an inventory bar icon, it will be drawn darkened while it is depleted.
- INVENTORY.IGNORESKILL flag for ammo that prevents the given quantity from being modified by the skill level
- Player.AttackZOffset for PlayerPawn. This is the offset from the center of the player at which their attacks are fired and scales according to their crouched height.
- Added a new SetActorState ACS function.
- CANUSEWALLS flag which allows a monster to activate 'use' specials like doors. This flag is on by default for any monster, which was the previous behavior.
- Thing_Stop action special.
- New FORCERADIUSDMG flag that allows exploding items to hurt boss monsters.
- New USESPECIAL flag that allows using things to execute their specials.
- Compatibility option to restore the original behavior of the Invisibility powerup
- Telefrag option added to A_SpawnItemEx.
- Added option to A_Chase that prevents the monster from moving.
- New allowrespawn MAPINFO option.
- New scoreboards.
- New A_LookEx function.
- Customizable teams through the TEAMINFO lump.
- New take console command to do the opposite of give.
- UseInventory/UseActorInventory ACS functions.
- New A_CustomBulletAttack aimfacing parameter
- New A_PlaySoundEx attenuation parameter.
- Automap markers are stored in savegames now.
- 'No respawn' DM flag which prevents a player from respawning after they have died.
- 'Keep frags gained' DM flag which allows you to choose whether you want to reset the frags of each player next level or not.
- Sector_Outside sector type which forces outside fog regardless of ceiling texture.
- User-defined crosshairs in the Display options menu. See xhairs.txt in zdoom.pk3.
- Generic log display that can show Strife's log messages in all games regardless of the current game, active status bar and HUD mode.
- Support for stenciling actors with RenderStyle property.
- .TXT files can now be loaded by simply dragging-and-dropping them on top of zdoom.exe.
- 'Ice' translation is accessible from DECORATE.
- Teamplay MAPINFO option.
- ACS script type RETURN. These are executed by players who return to a map they've previously been to.
2009
- 2.3.0r1455 (March 1)
- Release thread | Build | Source
- Universal Doom Map Format (UDMF) support.
- New garbage collector to improve performances on resource-intensive maps.
- Sound uses FMOD Ex instead of FMOD. Among the benefits, reverbs can now work on any sound card, not just those that support EAX.
- SPC is now a first-class music format that no longer requires an external DLL to play.
- Support for Vavoom's vertex height things and Eternity Engine's 3D middle textures.
- Linked sectors, to ensure that multiple sectors can move consistently in sync.
- TEXTURES lump for text-based texture definitions.
- MD5-based recognition of maps that require certain compatibility options to work (e.g.,
Strain map 7 which relied on the Spechits overflow bug) to apply these settings transparently. - Freedoom, Chex Quest, and Chex Quest 3 are recognized as IWADs and can be selected in the IWAD selection box. New aliases are available for IWADs, too.
- New MAPINFO format (the old is still supported of course) with a more robust syntax.
- Custom map translators for Doom-format maps, which can be specified in MAPINFO.
- Strife dialogues now work in multiplayer.
- Setting up slots for custom weapons no longer requires a KEYCONF lump, the limit of 8 weapons per slot is removed.
- Added the "random spawner" actor, customizable BossEyes, CustomBridge, FastProjectile.
- Many new compatibility options, including one to have projectiles pass through solid decorations.
- More flexible use of lightning in a map.
- The two different crushing modes (Doom and Hexen) are now selectable per action.
- Customizable pickup flash with Inventory.PickupFlash property.
- DeHackEd music name replacement has been restored.
- Rewritten DECORATE parser, more robust and featuring better error reporting. All actors are defined in DECORATE now.
- Functions to handle weapon reloading through DECORATE.
- New ACS functions: GetPlayerInput, Get/SetActorProperty.
- Many actions are now more flexible through optional parameters, for example A_Die can specify damage type to send to a custom Death state, A_KeenDie can affect tags other than 666, A_Fire can specify a vertical offset, and so on.
- Many, many new DMFlags for cooperative plays, such as having to kill all monsters before leaving the map or seeing the other players on the automap.
- Enhanced Strife support.
- Various and sundry bug fixes.
- 2.3.1r1480 (March 15)
- Release thread | Build | Source
- Mostly a bugfix release.
- Fixes the bug that prevented you from switching weapons after respawning in multiplayer.
- Fixes a performance regression introduced in 2.3.0.
- Adds support for zip/pk3 files with LZMA and BZip2 compression. (7-Zip is one program that can create such files.)
- Addresses a few other niggles.
2010
- 2.4.0r2075 (January 1)
- Release thread | Build | Source
- Rewritten archive management code.
- Added support for new archive formats: 7z, Quake PAK, "Shrink" and "Implode".
- Removed loading limit of 65 535 lumps. The archive manager can now handle up to 4 294 967 295 lumps.
- Rewritten mouse and keyboard handling input under Windows.
- Reimplemented and improved support for gamepads and joysticks.
- Added truecolor display of the HUD, menus and other 2D elements outside the game world when using Direct3D on Windows.
- Replaced SNES_SPC with Game Music Emu, greatly increasing the number of supported emulated music formats.
- Added compiling support for
Macintosh systems. - Added IWAD recognition for Ultimate Freedoom, Action Doom 2, Blasphemer and Harmony.
- Added -noautoload, -norun, -stdout, and -warpwipe command line parameters.
- Added save_dir and d3d_antilag console variables.
- Added optional parameters to summon commands, added summonmbf command.
- Added info command to obtain very verbose debugging information on actors.
- Buddha mode
- Added score and ScoreItems.
- Added GameInfo definitions to MAPINFO.
- Changed random seed initialization so that it uses the system's cryptographically secure random number generator, if available, instead of the current time. Also changed the random number generator from Lee Killough's algorithm to the SFMT607 variant of the
Mersenne twister. - Disabled custom DEHSUPP lumps.
- Added 'damage' to the actor variables exported to DECORATE's expression evaluator.
- Added 'frandom' DECORATE function to the expression evaluator, which is like 'random' but for floating point values instead of integers.
- Added Raven color set and dagger-like vector sprite to the automap.
- Added desatured translations.
- SBARINFO: Added the ability to center things with fullscreenoffsets enabled, added underwater stats.
- MAPINFO: Added [no_]grinding_polyobj, resetinventory properties, added EndTitle option for nextmap.
- Added actor replacement to skill definitions.
- Exported many hardcoded values to GameInfo definitions.
- Added Line_SetBlocking and Sector_SetPortal specials.
- Added defaultterrain section to TERRAIN.
- Added new earthquake functions.
- Added user variables.
- DECORATE: Added Species, Activation, PainThreshold, PushFactor, WeaveIndexXY, WeaveIndexZ, Powerup.Strength, Player.MugShotMaxHealth, Inventory.InterHubAmount properties.
- Turned old bounce flags into BounceType property.
- Added DamageFactor handling to Armors.
- Added "BLUEMAP" palette blend for Powerup.Color, and added Powerup.Colormap for custom colormaps.
- Added MOVEWITHSECTOR, NOBOSSRIP, THRUACTORS, THRUSPECIES, DONTSEEKINVISIBLE, FORCEPAIN, NOFEAR, BUMPSPECIAL, STEPMISSILE, NOTELEPORT, NOTRIGGER, AVOIDMELEE, JUMPDOWN, SCREENSEEKER, INVENTORY.PERSISTENTPOWER, WEAPON.AMMO_CHECKBOTH, WEAPON.NOAUTOAIM flags.
- Added A_CheckCeiling, A_MonsterRefire, A_Weave, A_JumpIfTargetInSight, A_ZoomFactor, A_SetAngle, A_SetPitch, A_ScaleVelocity, A_ChangeVelocity, A_SetCrosshair, A_RemoveSiblings, A_RaiseMaster/Children/Siblings, A_Log, A_PrintBold, A_SetArg, A_SetSpecial, A_Blast codepointers.
- Added parameters to A_PodPain, A_MakePod, A_MLightningAttack, A_M_Saw, A_FireCustomMissile, A_FadeOut, A_Explode, A_WeaponReady, A_VileAttack, A_Mushroom, A_SeekerMissile, A_KillChildren/Master/Siblings, A_CustomRailgun and A_RailAttack, added SXF_TRANSFERPOINTERS flag to A_SpawnItemEx and several flags to A_Respawn.
- Imported PowerDoubleFiringSpeed from Skulltag, added PowerInfiniteAmmo.
- PowerProtection and PowerInvisibility can now be used to give certain flags to the player. Other enhancements to PowerInvisibility, such as changing the player's RenderStyle.
- Customizable mage lightning, sapphire wand, and SpawnShot spawn lists.
- ACS: compatibility fix for vanilla Hexen map where script execution order is critical.
- Added GetActorVelX/Y/Z, SetActorVelocity, GetActorViewHeight, SetActivator, SetActivatorToTarget, GetChar, SetSkyScrollSpeed, Get/SetAirSupply, GetArmorType, CheckActorProperty, CheckActorClass, SoundSequenceOnActor/Sector/Polyobj, SpawnSpotForced and SpawnSpotFacingForced.
- Added ML_BLOCKUSE line flag, accessible through UDMF and Line_SetBlocking.
- Improved automatic compatibility with
Hacx, Suspended in Dusk, Community Chest, Doomsday of UAC, Strain, and the Astrostein series. - Compatibility options: added Minotaur footclipped floor fire setting, sprite sorting order, MBF-style A_Mushroom, monster movements affected by terrain, and friendly monsters able to cross blocking lines.
- Added arch-vile "ghost" bug emulation for selected maps only.
- Added several other MBF features, including BetaSkull, A_FireOldBFG, and DeHackEd support of MBF codepointers and actors.
- Repaired accuracy of player behavior in Hexen with regards to jumping and pushing enemies away with attacks.
- Fixed compatibility issues arising with Action Doom.
- Puffs now set their angle to face the originator of the attack.
- Added SoulPriestess' patch to force aspect ratio with vid_aspect.
- Added Spleen's patch to customize railgun performances with r_rail_smartspiral, r_rail_spiralsparsity, and r_rail_trailsparsity.
- UDMF: Added per-tier texture scaling with new sidedef properties and sidedef versions of linedef flags wrapmidtex and clipmidtex.
- Improved sky projection and sky stretching.
- Updated Italian language file.
- A whole lot more.
- 2.4.1r2126 (January 24)
- Release thread | Build | Source
- Bugfix release.
- Floor_Waggle effects are smoother now.
- Negative numbers in the alternate HUD have their minus sign at the right place now.
- Menu option scales better in widescreen resolution.
- Player setup menu looks better in non-Doom games.
- Moving cameras work correctly again.
- Polyobjects glitch a bit less now.
- The internal nodebuilder works correctly now with certain troublesome maps.
- Strife conversations fixed and improved.
- Many nitpicky fixes in Strife (switch sounds, messages, etc.).
- Action Doom 2 and Harmony can now use idclev, and they have their Autoload section in the ini.
- MAPINFO ResetInventory keyword now works as expected.
- The norawinput console variable can be set to true to fix input problems while playing a Windows build through
Wine. - A character input grid is available to play ZDoom with a controller without having to use the keyboard.
- Added GAMEINFO lump so that a mod can specify which IWAD and external resource files it uses.
- 2.5.0r2508 (August 11)
- Release thread | Build | Source
- Enhanced polyobject system, allowing them to move anywhere in the map (like Eternity's "dynasegs") and to give them any arbitrary shape. This is accompanied by new ACS polyobject movement functions.
- Support for uncompressed extended nodes, also supported by Eternity Engine and PrBoom+, to create a new cross-port standard for node storage.
- Support for using Byte Map Fonts.
- Ability to use metadata tags in audio formats to define custom loop points.
- Added support for the MUSINFO lump (from Risen3D and PrBoom+).
- Improved compatibility settings to allow optionally a greater faithfulness to the vanilla Doom and vanilla Heretic behaviors.
- ZMAPINFO as an alias for MAPINFO to avoid compatibility problems with other ports parsing this lump.
- Full rewrite of the SBARINFO system allowing many additional features and options.
- Added support for multi-monitor display.
- default reverbs environment setting in MAPINFO
- Several generalized codepointers to emulate some very specific Heretic and Hexen action functions
- New functions to refine actor behavior through
- Enhanced poison damage system
- Generalized railgun codepointers
- New automap options
- HOM detection system
- New console commands
- The usual bug fixes and minor enhancements.
2011
No release this year.
2012
- 2.6.0r3730 (July 2)
- Release thread | Build | Source
- Added Hacx IWAD support.
- Added text-format Strife conversation system with USDF and ZSDF.
- A textured automap is now available; automap graphics are now externalized.
- Rewritten menu system, which can now be defined with the MENUDEF lump.
- Externalized intermissions to MAPINFO.
- Externalized IWAD detection and gave each IWAD its own independent config section.
- Added FluidSynth and GUS emulator softsynths; fixed issues with TiMidity++.
- Added VOC support and enhanced MIDI playback with support for alternative formats such as XMI and HMI.
- Action specials: Added Ceiling_LowerAndCrushDist and Thing_SetConversation. Added console command to execute specials.
- ACS:
- Increased maximum script number from 999 to 32767.
- Named scripts allow to avoid script number conflicts.
- Added StrCpy, CheckSight, SetActivator, SetPointer functions.
- Added APROP_ScaleX/Y and APROP_Mass actor properties.
- Added temporary dynamic strings variables with StrParam.
- Scripts can now have up to four parameters.
- Added A_CheckFlag, A_FaceMaster, A_FaceTracer, A_RadiusGive, A_SetMass, A_SetScale, A_Warp and A_WolfAttack...
- Enhanced A_AlertMonsters, A_BFGSpray, A_Blast, A_CustomBulletAttack, A_FireBullets, A_GunFlash, A_PainAttack, A_RadiusThrust...
- Added an actor pointer manipulation system with several new codepointers...
- Added DOHARMSPECIES, DONTCORPSE, SEEINVISIBLE and INVENTORY.UNTOSSABLE
- Increased damage type flexibility in several ways with DeathType and PainType.
- Added customizable fléchettes.
- Made accuracy and stamina accessible through DECORATE expressions.
- Added ProjectileKickback, Inventory.RestrictedTo and Inventory.ForbiddenTo class-based properties.
- Backported VisibleToTeam, VisibleToPlayerClass and weapon DropItem feature from Skulltag, and enhanced them.
- Added "Fast" keyword for states and deprecated the unreliable FASTER and FASTMELEE flags.
- Added a secret hint system.
- 3D floors support.
- FraggleScript support.
- Voxel support.
- SBARINFO: Ammo 1/2 capacities added to DrawNumber, support for color names in colored text.
- SNDINFO: Added $musicalias and $attenuation.
- Compatibility: fixed issues with
Eternal Doom, Happy Time Circus, Phobos, vanilla compat, Boom compat, light levels higher than 255, Heretic, Strife, MUSINFO, misnamed UDMF field. - Fixed loading of BMF palettes.
- restart console command.
- Added PALVERS lump.
- Custom IWADs no longer need to include a COLORMAP, as ZDoom will generate one automatically if it is missing.
- Fixed vertical tiling of non-power-of-two textures.
- Fixed blockmap overflows in huge maps with help from Maes and Entryway.
- Joystick support for non-Windows platforms.
- As always, a plethora of bug fixes and minor enhancements.
- 2.6.1r3794 (July 28)
- Release thread | Build | Source
- Added ACS_NamedExecuteWait and NamedScriptWait.
- Added RandomPlayerStarts and UsePlayerStartZ flags for map definitions.
- Solved compatibility issue with Massmouth 2.
- Voxels are now rotated by 90° to match their orientation in Slab6 and Build games.
2013
- 2.7.0r4342 (June 8)
- Release thread | Build | Source
- Added Floor_RaiseAndCrushDoom.
- ACS:
- Made dynamic strings persistent. ACS can now safely generate up to one million new strings.
- Added CheckFont, GetCVarString, GetUserCVar, GetUserCVarString, IsTIDUsed, LineAttack, SetCVar, SetCVarString, SetUserCVar, SetUserCVarString, SpawnDecal, and UniqueTID.
- Added HUD layers, visibility flags, additive blending, and alpha parameter to HudMessage and HudMessageBold.
- Also added HUD message wrapping and clipping with SetHudClipRect and SetHudWrapWidth.
- Added PLAYERINFO_FOV and _DESIREDFOV to GetPlayerInfo.
- Added support for desaturated translations.
- Added Sqrt, FixedSqrt, and VectorLength functions.
- Support for advanced structures from non-ACC compilers.
- Added the ability to retrieve the ReactionTime, Height and Radius properties through GetActorProperty.
- Added CHANGELEVEL_PRERAISEWEAPON to ChangeLevel.
- FLOATBOB things are no longer moved physically when bobbing.
- Added Player.FallingScreamSpeed, Player.GruntSpeed, Weapon.MinSelectionAmmo1, and Weapon.MinSelectionAmmo2.
- Added random state duration and A_SetTics.
- A_Explode's affectsource parameter has been turned into a flag. Plus, added NOTMISSILE flag to A_Explode as well as to A_RadiusThrust.
- A_RadiusThrust can use negative force values.
- Added A_JumpIfTargetInsideMeleeRange, A_JumpIfTargetOutsideMeleeRange, A_SetDamageType, and A_CheckLOF.
- Added INVENTORY.NEVERRESPAWN, INVENTORY.NOSCREENFLASH, POWERSPEED.NOTRAIL, and PLAYERPAWN.CROUCHABLEMORPH.
- Added JLOSF_NOAUTOAIM flag to A_JumpIfTargetInLOS.
- Added WRF_DISABLESWITCH to A_WeaponReady.
- A_Light can use negative values to darken the scene.
- Added NORANDOMPUFFZ flag to A_CustomPunch, A_FireBullets, and A_CustomBulletAttack.
- Added SXF_USEBLOODCOLOR, SXF_CLEARCALLERTID, SXF_MULTIPLYSPEED, SXF_TRANSFERSCALE, SXF_TRANSFERSPECIAL, and SXF_CLEARCALLERSPECIAL flags to A_SpawnItemEx.
- Added the ability to adjust the vertical offset of a rail attack to A_RailAttack and A_CustomRailgun.
- Player-fired seeker missiles' range at which the missiles initially lock-on a tracer can be set via MaxTargetRange actor property.
- ReactionTime added to DECORATE expressions.
- Added NoDelay state flag.
- Added Bounce actor states.
- Fixed few cases of DECORATE definitions inaccuracies for Doom, Heretic, Hexen and Strife actors.
- FONTDEFS: Backported SPACEWIDTH from ECWolf.
- LANGUAGE: Brazilian Portuguese support.
- MAPINFO: Added ForgetState, RememberState, and SpawnWithWeaponRaised flags for map definitions and NoRandomPlayerclass for GameInfo definitions.
- MIDI: FluidSynth now recognize libfluidsynth.dll as a valid alias for fluidsynth.dll, various FluidSynth tweaks and fixes. The OPL emulator now can use either OPL2 or OPL3 emulation, supports full stereo panning and can use up to eight virtual chips.
- Updated foo_DUMB.
- Implemented additive rendering for 3D floors.
- Added
Quake-like no-clipping with noclip2. - Exported the scoreboard text to LANGUAGE.
- The sound system should now precache nearly all sounds used by actor properties and ambient sounds, and the MAPINFO command "PrecacheSounds" can be used to precache other sounds.
- Arbitrary FPS cap with vid_maxfps.
- Increased maximum resolution to 5760×3600.
- Added lightfog property for sidedefs.
- Added support for
Doom 3: BFG Edition's modified IWADs, including No Rest for the Living. - Improved WAD archive code with support for big-endian format and LZSS compression used in several console ports.
- Added ability in UDMF to specify things to spawn by thing specials and Hexen breakable items by names with arg1str, as well as the ability to set initial values to a thing's user variable.
- Added new node format for complex UDMF maps which need fractional precision on node splitters.
- The alternate HUD now features a Berserk indicator and a customizable time display.
- Tweaked scripted marines.
- Added acsprofile console command.
- Weapon slots can be configured from the Customize controls menu.
- Solved compatibility issues with Daedalus: Alien Defense,
Community Chest 3, Nuke Mine, Khorus, Void, the Master Levels, and Claustrophobia 1024. - RandomSpawners now respect nomonsters.
- Added the ability to define mod-specific console variables through the addition of the CVARINFO lump.
- Fixed miscellaneous bugs.
- 2.7.121efe3b (July 3)
- Release thread | Build | Source
Note: this is the first version based on the Git repository; 2.7.0 was the last version based on the SVN repository.
- Added new additive GameInfo keywords: AddCreditPage, AddPlayerClasses, and AddInfoPage.
- Added a new DONTDRAIN flag to mark actors as ineligible for vampirism attacks.
- Compatibility fixes for Ultimate Simplicity map07, Cheogsh map01, Super Sonic Doom map31
- Polyobject mirror numbers can no longer be changed with SetLineSpecial. This was never a supported feature and caused problems for legitimate uses of SetLineSpecial on polyobject lines.
- The powered-up Gold Wand was not puffing on actors.
- Disabled Heretic's punishment cheats when in allcheats mode.
- Objects that explode on death no longer deal the damage they were dealt instead of their own.
- Vampirism attacks now respect damage reduction.
- Demo recording now writes correct user info to demos.
- ACS's PlaySound for looping sounds now works properly when using channel flags.
2014
No release this year.
2015
No release this year.
2016
- 2.8.056359b6 (February 3)
- Release thread | Build | Source
- Frontend
- GOG-installed IWADs are now detected automatically. Steam-installed IWADs are detected on OS X and Linux.
- Improved netcode and added network options menu to configure new features.
- Two new cheats, god2 and buddha2. The player cannot die from telefrag damage with these.
- Added WAD compatibility fixes for over a dozen maps, including Cheogsh 2, XtheaterIII, and the infamous missing yellow keycard on TNT MAP31.
- +warp now works from the command line.
- Added support for standard file paths on Windows.
- Added a user-settable factor for earthquake intensity.
- Automap
- Non-countable monster actors can have their own separate automap color.
- Extended am_cheat with three modes to prevent lines flagged as hidden from being shown on the automap.
- Added separate colors for the various types of 2-sided walls for the overlay automap, as well as colors missing from that mode.
- Actors sprites can be shown on the automap instead of simple triangles when the second, third, fifth or sixth modes of am_cheat console variable are enabled.
- Console
- Added a closemenu console command, so that menu options that close the menu can be added.
- The behavior of auto-loading external DEHACKED lumps can be controlled by setting the dehload console variable.
- Results for console tab-completion are now color-coded; console commands appear blue, console variables green, and aliases red.
- Fixed: the wi_noautostartmap console variable was not sync-safe.
- Added sv_freelook, sv_allowfreelook and sv_nofreelook.
- Building
- Native Cocoa back end for OS X resulting in significant increases in performance over SDL in addition to better overall user experience.
- Added optional support for the OpenAL sound library, allowing for compiling without FMOD.
- Added a new software synthesizer, WildMIDI, and a new OPL core.
- Added support for building with clang.
- Nearly-complete support for ARM devices such as the Raspberry Pi. (Some known bugs remain — in particular, you must set vid_forcesurface to true in zdoom.ini, or ZDoom will instantly segfault.)
- Modding
- Added Ceiling_CrushAndRaiseSilentDist.
- New type of earthquake, can only be accessed with A_QuakeEx or its ACS equivalent, which can replicate the shaking effect seen in many recent games instead of random camera offsets using the QF_WAVE flag. Quakes can now be scaled in, out, or mixed up. Both wave and regular quakes work together.
- Menu's back button and the pause sign can be animated.
- The particle engine is now exposed to modders via the A_SpawnParticle action function and SpawnParticle ACS function.
- Directory-structured archives now support lump filtering, which loads different resources depending on the base game.
- Friction and TERRAIN-based sector damage are now transferred to 3D floors.
- Fixed scaling of textures on 3D floors.
- Overhauled sector types and properties. Sectors have several new UDMF properties.
- Lines and sectors may now have multiple ids/tags via the moreids UDMF property.
checkswitchrange
now correctly prevents players from pressing switches embedded in the floor or ceiling, and works correctly with switches that are part of 3D floors.- Added blockhitscan and transparent line properties, waterzone sector property, and alpha, fillcolor, gravity, health, pitch, renderstyle, roll, scale, scalex, scaley and score thing properties for UDMF.
- ACS:
- Added DropItem, DropInventory, CheckFlag, GetLineActivation, GetMaxInventory, SetLineActivation, GetArmorInfo, GetActorPowerupTics, IsPointerEqual, ChangeActorAngle, ChangeActorPitch, PickActor, SetSectorDamage, QuakeEx, Warp and CanRaiseActor functions.
- Added FHF_NORANDOMPUFFZ flag for LineAttack.
- Added BLOCKF_HITSCAN flag for Line_SetBlocking.
- Added APROP_ViewHeight, APROP_AttackZOffset and APROP_StencilColor ACS actor properties.
- Fixed potential desync with CheckPlayerCamera.
- Fixed: Thing_SetGoal could put an actor's target and goal out of sync.
- GetSectorFloorZ and GetSectorCeilingZ now interpret 0-tag as 'any sector' and return the z-height of whatever sector is at those coordinates.
- Arrays are now supported at the script scope.
- ANIMDEFS:
- Added an optional worldpanning flag for camera textures definitions in order to make camera textures pan in world units instead of texture units.
- Added allowdecals option to animated doors.
- DECORATE:
- Four new keybinds for DECORATE use with weapons (see A_WeaponReady's User states.)
- Sprites now support mirroring via negative scales.
- Added Player.UseRange and Player.AirCapacity player properties.
- Actors can now have extreme death/crash states that are damage type specific.
- New
randompick
andfrandompick
non-action functions. - A_Print, A_PrintBold, and A_Log can now use
$FOO
translation strings. - The following functions have been given additional functionalities: A_AlertMonsters, A_BFGSpray, A_Change/ScaleVelocity, A_CustomPunch, A_SetAngle and A_SetPitch, A_DamageMaster/Children/Siblings, A_KillMaster/Children/Siblings, A_Log, A_Print, A_PrintBold, A_RadiusGive, A_Saw, A_SetScale, A_SetTics, A_SpawnItemEx, A_Teleport, A_VileAttack, A_Warp, A_WeaponReady.
- Added NOFORWARDFALL, NOTONAUTOMAP, RELATIVETOFLOOR, NEVERTARGET, NOTELESTOMP, ALWAYSTELEFRAG, ALLOWPAIN, CAUSEPAIN, DONTTHRUST, BUDDHA, FOILBUDDHA, MIRRORREFLECT, AIMREFLECT, THRUREFLECT, HARMFRIENDS, NOFORWARDFALL, HITTARGET, HITMASTER, HITTRACER, WEAPONSPAWN, INVENTORY.TOSSED, INVENTORY.ALWAYSRESPAWN, INVENTORY.TRANSFER, and INVENTORY.NOTELEPORTFREEZE actor flags.
- MTHRUSPECIES now works with A_BFGSpray and rail attacks.
- Added A_DamageSelf/Target/Tracer, A_Remove/Siblings/Target/Tracer, A_KillTarget/Tracer, A_DropItem, A_SetSpeed, A_SetHealth, A_ResetHealth, A_SetFloatBobPhase, A_SetRoll, A_SetTeleFog, A_GiveTo/TakeFromChildren, A_GiveTo/TakeFromSiblings, A_JumpIfHigherOrLower, A_SetFloatSpeed, A_SetSpecies, A_CheckBlock, A_CheckProximity, and A_QuakeEx action functions.
- Players with the NODAMAGE flag cannot be telefragged anymore, nor can they take any damage via voodoo dolls.
- The amount of health regeneration gained from a PowerRegeneration powerup can be controlled with the Powerup.Strength property.
- Improved the NoDelay state flag reliability.
- Added Subtract render style.
- Different types of gargoyles and golems could infight amongst themselves (original Heretic behavior).
- Added CanRaise and Slow actor state flags.
- LANGUAGE:
- Externalized "New save game" line for save screen, and automap statistics display.
- MAPINFO:
- Custom colors for both modes of the automap can be set on per-mod basis.
- Added SlowMonsters, HealthFactor, NoInfighting and TotalInfighting skill definitions property.
- SBARINFO:
- Extended DrawImage command.
- SNDINFO:
- Fixed incorrect Maulotaur melee attack sound.
- Internals
- Removed Polymost code.
- Vast improvements to movement interpolation.
- Fixed a lot of leaks and garbage collection issues.
- Fixed miscellaneous bugs.
- Frontend
- 2.8.11a9bc53 (February 23)
- Release thread | Build | Source
- #region/#endregion is now supported for text lumps. ZDoom does not do anything with them but ignore them, but this allows editors to treat them however they like.
- Better localizability of the menus.
- Terrain definitions can now be optional.
- Walking into an area with a reverb effect no longer mutes all sound.
- Heretic's time bomb artifacts now spawn in the proper locations.
- Heretic's powered firemace balls once again seek their targets.
- The whirlwind attack used by Heretic's Ironlich sometimes fizzled out immediately.
- Instant sector movement actions are again instant.
- Various other minor fixes.
Post 2.8.1
The following additions are available in Git builds, but never were released officially before ZDoom ceased development.
- The scripting branch was merged, laying the VM groundwork for ZScript.
- DECORATE:
- States:
- Can contain multiple action functions enclosed in braces
if
/else
blocks- return; statement
- Functions:
- Added the following non-action functions: CountInv, GetDistance
- Added the following action functions: A_SetChaseThreshold
- States:
- Portals via Line_SetPortal (visual only; original forum thread)
The final commit to ZDoom was made December 29, 2016. These features would become part of GZDoom releases.
External links
- Sourceforge archive Unofficial mirror for ZDoom versions
- GitHub archive Unofficial repository of pre-SVN source code
This article is issued from Zdoom. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.