GZDoom version history

From ZDoom Wiki
Jump to navigation Jump to search

This article is a stub. Please help the ZDoom Wiki by adding to it.

This page tracks the evolution of GZDoom by listing the main features of each version.

By year 2017 · 2018 · 2019
By version 3.0.0 · 3.0.1 · 3.1.0 · 3.2.0 · 3.2.1 · 3.2.3 · 3.2.3 · 3.2.4 · 3.2.5 · 3.3.0 · 3.3.1 · 3.3.2 · 3.4.0 · 3.4.1 · 3.5.0 · 3.5.1 · 3.6.0 · 3.7.0 · 3.7.1 · 3.7.2 · 4.0.0 · 4.1.0 · 4.1.1 · 4.1.2 · 4.1.3


3.0.0cc3ae93 (April 29)
Release thread
  • Scriptable status bars.
  • Scriptable level status screens.
  • Static constant arrays in classes.
  • Support for Doom64-style lighting in the software renderer, with the exception of gradients.
  • Optimization of the scripting VM by removing some always active debug support.
3.0.1bb6015b (May 2)
Release thread
  • Fixed a potential crash when changing the render output in-game and continue playing.
  • Fixed a crash in the software renderer with camera textures.
  • For 32 bit Windows, libsndfile.dll is reverted to the old version due to some incompatibility with the newer one.
  • Cleanup of dynamic light options.
3.1.06875e5b (May 31)
Release thread
  • Support of Strife Veteran Edition's extended single player campaign.
  • Better handling of stereo sounds.
  • PlayerThink code has been exported to scripting.
  • On Windows and macOS, the system's MIDI synth is no longer the default. Instead, FluidSynth and a small soundfont are now included to provide better default playback quality.
  • Translucency on weapon sprites works properly.
  • Some layout fixes with SBARINFO based status bars.
  • Fixed par time display on level summary screen.
  • Fixed loop tag checks for Ogg files.
3.2.0e0d4d9a (October 4)
Release thread
  • zd_extra.pk3 splits off copyright infringing assets, allowing game makers to delete this file and distribute a fully GPL-conforming copy of GZDoom without further changes.
  • Custom IWAD support.
  • Video render scaling (play in 320x200, or any custom resolution).
  • Custom screen shader support.
  • MENUDEF replacements are now merged, allowing GZDoom to easily present new menu features in older mods that include one.
  • A pelothra of fixes and improvements.
3.2.1a4d2fb9 (October 22)
Release thread
  • Fixed applying of height argument in A_Fire() function.
  • Removed all code needed to support macOS earlier than 10.7 Lion.
  • Fixed crash on attempt to register IDs for undefined class.
  • Added vid_cropaspect. This CVAR turns vid_aspect into a letterboxing function that will crop the unused sides of the screen away, instead of stretching it. Requires one of the non-legacy OpenGL framebuffers to work.
  • Remove vid_tft and vid_nowidescreen and associated menu option. Their functionality was supersceded and extended by vid_aspect == 3 (which has the same effect as setting both to true anyhow), and it was mostly just redundant.
  • Fixed: do not interpolate view movements if a key press did not result in any changes.
  • If *nix, add default gzdoom.pk3 directory to File.Search paths.
  • Fixed: inverted color order for post-process textures to BGRA to correctly match the internal texture standard in GZDoom.
  • Added ability to change slider color using MAPINFO's gameinfo.
  • Added startuptype to IWADINFO, allowing to change the game startup screen with custom IWADs.
  • Fixed applying of compatibility settings for IWADs.
  • Fixed a few cases when IWAD was checked by hardcoded index.
  • Fixed arch-vile bleeding when damaging target.
3.2.200b60e5 (December 3)
Release thread
  • Added a new timer code. GZDoom now appears a lot smoother in interpolated frames.
  • Improve speed for ARMv7 processors by setting tuning options to the Cortex-a7 CPU (for Raspberry Pi 2).
  • Several ZScript extensions and fixes.
  • Improved OpenGL profile selection on Linux.
  • Rather than giving version info, GZDoom now displays the name of the game you are currently playing in the window title. This can be disabled via i_friendlywindowtitle.
  • Bug fixes, including some for non-Windows platforms.
3.2.38027369 (December 3)
Release thread
  • Implemented unicode handling in some functions.
  • Improved handling of temporary files on timidity++.
  • Added latch keyword to CVARINFO.
  • Added new grenade and ice shard sprites, removed non-GPL copyrighted assets.
3.2.477a33cc (December 17)
Release thread
  • Added DMG_NO_PAIN for DamageMobj function.
  • Fixed bright sprites in sectors with Doom 64 lighting.
  • Added free space margin, a.k.a. safe frame for automap.
  • Rotating sky and model smoothness fixes.
  • Implemented win_borderless for fake fullscreen in Windows.


3.2.5da85d4f (Januray 4)
Release thread
  • Externalise DCanvas::DrawLine to ZScript.
  • Implemented i_soundinbackground to continue playing sounds and music while in background.
  • OpenGL rendering now continues even when losing focus if not running fullscreen.
  • Added playerrespawn skill flag to allow gameplay mods to retroactively enable player respawns in single player on all maps.
  • Improved Advanced Sound Options menu - added option for FluidSynth chorus, removed fractional part from FluidSynth voices option.
  • Fixed applying of Doom 64 lighting to horizon portals.
  • Particles are now interpolated.
3.3.00a85d65 (March 25)
Release thread
  • Added dynamic spot lights, configurable in the UDMF.
  • Export GetChecksum as part of FLevelLocals in ZScript.
  • Mod-defined aliases no longer permanently change CVARs
  • Add FriendlySeeBlocks actor property that allows a modder to expand the maximum radius that a friendly monster can see enemies.
  • Custom submenus are no longer removed from altered protected menu.
  • Exported S_GetMSLength to ZScript.
  • Added GetRadiusDamage, which returns the raw calculated explosion damage falloff by distance only.
  • Added Screen.getViewWindow function.
  • Exported Trace() interface to ZScript.
  • Added TeleportSpecial as an alias for Teleport in ZScript to deconflict from the Actor.Teleport function.
  • Added Distance(2/3)DSquared functions.
  • Fixed skip_super application for ZScript.
  • Split off the interface part of DHUDMessage.
  • Export sector effect pointers and fix missing pointer assignment on Lighting effect creation.
  • Made left button down event available to UI event handler.
  • Exported Inventory.AltHUDIcon field to ZScript.
  • Add WorldLinePreActivated to override line activation.
  • Add DI_MIRROR flag to statusbar image drawing.
  • Enable string and float user_ properties in UDMF things.
  • Added in-game reverb editor using the menu system.
  • Improved French translations.
  • Fixed 'precise' rendering in OpenGL.
  • New Materials Shader system to allow textures to show new properties such as glossiness and specularity, affected by dynamic lights, or with PBR, reflecting their direct surroundings.
  • New rocket smoke sprites by Talon1024.
  • Import Timidity++ into GZDoom directly.
  • Added light definition for megasphere.
  • Fixed midtex nowrap clipping bug when 3d floors are in view (Software Renderer).
  • Improved profilethinkers in various ways.
  • Add variables am_unexploredsecretcolor and am_ovunexploredsecretcolor to mark undiscovered secrets differently in the automap.
  • Added support for ADLMIDI and OPNMIDI libraries.
3.3.12d0e837 (April 1)
Release thread
  • Better handling of defaults with some ZScript/DECORATE functions.
  • Many bug fixes since 3.3.0.
3.3.2dd5a673 (April 12)
Release thread
  • Fixed detection of .ipk7 custom IWADs.
  • Restored vanilla behavior of lightning for original Hexen.
  • Added loading of ZSDF lumps by full paths.
  • Disabled the survey code.
  • Export P_ActivateLine to ZScript (along with constants for activation type).
  • Increased size of the savegame comment area.
3.4.0d9b6a8b (June 7)
Release thread
  • Enable #include support in MODELDEF files.
  • Removed DirectDraw and Direct3D backends, removed unaccerated SDL framebuffer backend.
  • Reorganization of 2D and 3D rendering code in preparation for Vulkan in the future, performance improvements on newer hardware.
  • CVAR that handles it is now vid_rendermode - vid_renderer, swtruecolor, and r_polyrender have been removed and combined into new CVAR.
  • Added a lightsizefactor command to GLDEFS.
  • Allow animated title pics.
  • Add support for Unreal Engine 1 vertex mesh format.
  • Added LevelLocals vec2/3Offset(Z) functions for portal-aware offsetting without needing actors.
  • Add OnGiveSecret virtual function on Actor for customizing behavior of secret finding.
  • BLOCKASPLAYER flag: treat non-player actors as blockable by "block players" lines.
  • Added 'revealed on automap' linedef flag, UDMF only.
  • Added forced automap style to linedef, UDMF only.
  • Added startup song definition for custom IWADs.
  • This release contains a major render optimization for highly detailed maps that may give a +20% performance improvement on Intel and AMD hardware (less on NVidia because the driver has far less overhead that could be optimized away).
3.4.1504b3d6 (June 14)
Release thread
  • Fixed: redirect script access to the compatflags CVARs to their internal shadow variables. This is needed so that MAPINFO settings for these flags don't get ignored.
  • Fixed: flag CVars in ZScript referenced wrong addresses.
  • Fixed: ZScript used the wrong variable for compatflags2.
  • Fixed: remove ARM specific gl_es definition since it's not even really much different from the main line definition, anyhow.
  • Fixed generation of brightmaps for sprites. This forgot to take the added empty border for filtering improvement into account.
  • Fixed ADynamicLight's shadowmap index must be reset when loading a savegame.
  • Fixed portal restoration on revisiting level in hub.
    • Added function to FLevelLocals to test if map is being reentered.
  • Fixed crash with GL 3.x and fixed colormap active.
3.5.07dd92fb (July 30)
Release thread
  • [modern branch only] Fullscreen is now borderless window (which, technically, it always has been, anyhow). Removed hacks which changed the desktop resolution in order to simulate exclusive fullscreen because they were a constant stability concern.
  • [modern branch only] Fixed a performance regression with the software renderer, introduced by the recent changes to the video backend in 3.4.
  • Save item statistics - Items are now saved into save games and are displayed on the statfile.
  • Upgrade libADLMIDI and libOPNMIDI.
  • Large number of MinGW fixes.
  • Add tags for all Doom and Heretic monsters for mods that reveal monster names.
  • Various compatibility fixes for old maps and mods.
  • Fixed titlepic animation.
  • Custom hardware shaders now can use custom texture units.
  • Fefault to "fullscreen" display.
  • Fixed a potential exploit with malformed WAD files. Thanks to xanaxdev ( th0razine@ret2p.lt ) for reporting it.
3.5.1a5296fe (August 25)
Release thread
  • Implemented "resolution mode selector".
  • Add post processing support to the software renderer and softpoly.
  • Add vid_hdr cvar that enables higher than 8bpc output for monitors that support it.
  • Fix: softpoly TEXTURES sprites with scale of 2 are tiled.
  • Add dithering support to emulate higher BPC displays than your real one. This should allow smoother gradients for light fades and such.
  • Make various getter and pure-math Actor methods clearscope.
3.6.0dd09d8e (October 10)
Release thread
  • Add OBJ model support.
  • Added Screen.DrawThickLine for drawing lines with thickness.
  • Fixed: sound from poly objects through portals will now propegate properly.
  • Add HITOWNER flag, when set, allows a projectile to collide with its shooter.
  • Allow LineAttack's LAF_NOINTERACT to fill FTranslatedLineTarget's information.
  • Added DMG_EXPLOSION flag.
  • Adds OnDrop virtual to inventory items. Called on the dropped item at the end of DropInventory.
  • Enabled the linear shadowmap filter.
  • Update xBRZ upscaler to version 1.6.
  • [modern only] Added 5x and 6x upscaling with xBRZ.
  • Add 'normalNx' texture scaling (normal2x, 3x, 4x, 5x, and 6x) (5x and 6x only supported in modern).
  • Upgrade libADLMIDI and libOPNMIDI.
  • Export various resurrection-related functions to ZScript.
  • Fixes for Wraith Corporation WADs.
3.7.0475b57f (December 27)
Release thread
  • Completely revamped textures system, allowing for more future extensibility and rework, also fixes a few issues.
  • Add support for scaled textures in the software renderer.
  • Untranslated fonts now appear as truecolor.
  • Improvements to Doom64 colouring.
  • Declared Actor's Morph and UnMorph functions virtual.
  • Scale factor is now applied to all scaling modes.
  • Add vanilla lightmode that behaves exactly as Doom's original light did.
  • Cheat-enforced CVARs can now be changed in normal single player games without sv_cheats.
  • Added a JIT compiler for DECORATE and ZScript which should allow some maps and mods to perform slightly, if not significantly faster in some cases (64-bit only).
  • Scriptified the AltHUD.
  • Many bug fixes.
  • Lights are now referenced by sections rather than surface, to speed up light linking. This should allow a dynamically-lit plasma bolt to pass over a 3D bridge in Frozen Time without turning the game into a slide show.
  • Many scriptifications from native code to ZScript.
  • Add shader cache for Intel GPU's which should result in faster startups (especially on Windows) - first startup will still be slower, though.
  • Added IsPointInMap.
  • Added destructible geometry.
  • Added a function to get the actor's age in tics.
  • Added a new field to the Actor class which stores the amount of tics passed since the game started on the moment the actor was spawned.
  • Added a function to the Actor class to get its spawn time relative to the current level.
  • Added spawn time information to the output of the info console command.
  • Export AllClasses global field.
  • Update GME up to 0.6.2 version.
  • Changed the way alpha works on DrawLine and DrawThickLine so they're consistent.
  • GL renderer is now partly multi-threaded, resulting in a 10-20% speedup, depending on a map's complexity.
  • Add "neutral" gender option and better obituary formatting.


3.7.174b60ad (January 1)
Release thread
  • Fixed various bugs.
3.7.2caf326a (January 20)
Release thread
  • Resolution selector now sets to auto detected resolution at startup, no longer uses entries from the config file.
  • Committing a scaling change for fullscreen sets scaling to 1.0 to guarantee the selected number of pixels are actually used.
  • Add 4k UHD resolution to presets.
  • Fixed various bugs.
4.0.0ec0c82d (April 7)
Release thread
  • General:
  • Vulkan released in its alpha stages.
  • Localization: GZDoom has been translated to several languages.
  • Scaling has been changed. GZDoom now runs at a minimum of 640x400. An extra mode - 960x600 - has been added to replace the lost 320x200 one.
  • Internal code restructuring to agnostisize level structures.
  • Add cl_blockcheats - useful for people who use debugging keys, allows a user to consciously turn off cheats without affecting the server.
  • Punctuated the input strings in UpperCamelCase format, improving its appearance in the menu for upper/lowercase capable fonts.
  • wait console commands no longer execute inside the level, and can run during intermissions and outside the game.
  • Moved controls to submenus in Customize controls menu.
  • Implement page string names for dialog lumps.
  • Did a bit of cleanup on the option menus by regrouping some settings, especially splitting out of the Hardware Rendering Options menu into submenus.
  • Fully scriptified the Actor class hierarchy.
  • Added Z + camera roll relativity for A_QuakeEx's QF_RELATIVE flag.
  • Added inflictor, source and flag parameters to GetModifiedDamage on actors and ModifyDamage on inventory.
  • Removed extraneous parameter in SpawnPlayerMissile call in A_FireProjectile.
  • Add LookScale variable to weapons. This variable allows a weapon to set a custom look sensitivity multiplier without fiddling with FOVScale/DesiredFOV hacks.
4.1.00857320 (April 28)
Release thread
  • Workaround buggy preprocessor in old AMD OpenGL drivers.
  • Fix bloom pass regression.
  • Fixed scale calculations for option menus.
  • Implement custom post process shaders for Vulkan backend.
  • Improve error handling during Vulkan initialization.
  • Fixed inverted logic for displaying the generic log in Strife.
4.1.1d35dec9 (May 4)
Release thread
  • Bug fixes and Vulkan improvements.
4.1.2fdd8ee3 (May 14)
Release thread
  • Bug fixes and Vulkan improvements.
4.1.3d3e04a9 (June 7)
Release thread
  • Bug fixes for both ZScript and Vulkan (the Vulkan renderer is pretty much complete at this point).
  • Added native round function.
  • Added a crosshair on/off toggle.
  • cl_blockcheats 2 blocks cheats without showing any messages, useful for streamers who happen to be mappers/modders/etc.