GZDoom version history/3.x

From ZDoom Wiki
Jump to navigation Jump to search

This page tracks the 3.x release cycle of GZDoom by listing the main features of each version.

2019 2018 2017

3.7.2 (Jan 20)
3.7.1 (Jan 1)

3.7.0 (Dec 27)
3.6.0 (Oct 10)
3.5.1 (Aug 25)
3.5.0 (Jul 30)
3.4.0 (Jun 7)
3.4.1 (Jun 14)
3.3.2 (Apr 12)
3.3.1 (Apr 1)
3.3.0 (Mar 25)
3.2.5 (Jan 4)

3.2.4 (Dec 17)
3.2.3 (Dec 3)
3.2.2 (Dec 3)
3.2.1 (Oct 22)
3.2.0 (Oct 4)
3.1.0 (May 31)
3.0.1 (May 2)
3.0.0 (Apr 29)

2019

3.7.2 (January 20 2019)

Release thread caf326a

  • 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.

3.7.1 (January 1 2019)

Release thread 74b60ad

Fixed various bugs.

2018

3.7.0 (December 27 2018)

Release thread 475b57f

  • 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.
  • Add NOFRICTION and NOFRICTIONBOUNCE flags.
  • 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.6.0 (October 10 2018)

Release thread dd09d8e

  • 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.5.1 (August 25 2018)

Release thread a5296fe

  • 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.5.0 (July 30 2018)

Release thread 7dd92fb

  • [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.4.0 (June 7 2018)

Release thread d9b6a8b

  • 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.1 (June 14 2018)

Release thread 504b3d6

  • 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.3.2 (April 12 2018)

Release thread dd5a673

  • 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.3.1 (April 1 2018)

Release thread 2d0e837

  • Better handling of defaults with some ZScript/DECORATE functions.
  • Many bug fixes since 3.3.0.

3.3.0 (March 25 2018)

Release thread 0a85d65

  • 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.2.5 (Januray 4 2018)

Release thread da85d4f

  • 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.

2017

3.2.4 (December 17 2017)

Release thread 77a33cc

  • 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.3 (December 3 2017)

Release thread 8027369

  • 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.2 (December 3 2017)

Release thread 00b60e5

  • 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.1 (October 22 2017)

Release thread a4d2fb9

  • 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.0 (October 4 2017)

Release thread e0d4d9a

  • 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.1.0 (May 31 2017)

Release thread 6875e5b

  • 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.0.1 (May 2 2017)

Release thread bb6015b

  • 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.0.0 (April 29 2017)

Release thread cc3ae93

  • 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.