Skip to content

Releases: ZDoom/gzdoom

GZDoom 3.2.4

17 Dec 20:19
Compare
Choose a tag to compare

This is yet another point release for GZDoom, which addresses a serious flaw that has appeared since version 3.0.0. Everyone is urged to upgrade ASAP, and no support will be provided for any version prior to this once the binaries for all platforms are available.

Notable features since 3.2.3

  • Added DMG_NO_PAIN for DamageMobj()
  • Fixed bright sprites in sectors with Doom 64 lighting
  • Added free space margin aka safe frame for automap
  • Fixed rotating sky & model smoothness
  • Implemented win_borderless CVAR for fake fullscreen in Windows

More-complete changelog since 3.2.3

  • Unified implementation of ’directory as resource file' for POSIX targets
  • Fixed sky scrolling is now stored in a higher precision data structure; is now smoother than in 3.2.3
  • Fixed model rotating is now calculated in a higher precision data structure; is now smoother than in 3.2.3
  • Fixed directory creation for POSIX targets
  • Fixed backslashes in MD3 skin names
  • Fixed overbright screenshots with hardware gamma off
  • Increased maximum particle lifespan
  • Fixed screen->FrameTime should use an adjusted frame start time
  • Implemented win_borderless CVAR for fake fullscreen in Windows
  • Fixed loading of external DeHackEd patches
  • Fixed inconsistent angle of spawned leaves
  • Fixed English localization issues
  • Added empty space margin aka safe frame for automap
  • Repaired the video scaling code in OpenGL for vid_scalemode 0 and vid_scalefactor not equal to 1.0
  • Fixed crash when loading saved game with missing ACS module
  • Added null check for probe in SectorAction.OnDestroy()
  • Fixed error check when saving GL nodes
  • Fixed AActor::UnlinkFromWorld() must also destroy all portal link nodes for the calling actor
  • Do not allow outside access to the variable storing the CCMD for OptionMenuItemCommand
  • Added whitelist for DoCommand ZScript command
  • Stop demo recording after ending game with menu_endgame CCMD
  • Fixed bright sprites in sectors with Doom 64 lighting
  • Added DMG_NO_PAIN for DamageMobj()

GZDoom 3.2.3

04 Dec 05:29
Compare
Choose a tag to compare

Notable features since 3.2.1

  • New timer code, GZDoom now appears a lot smoother in interpolated frames
  • More bugfixes, including some for non-Windows platforms
  • 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
  • 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 and removed non-GPL copyrighted assets

Complete changelog

g3.2.2

02 Dec 22:43
Compare
Choose a tag to compare
g3.2.2 Pre-release
Pre-release
- This is version 3.2.2

GZDoom 3.2.1

23 Oct 19:30
Compare
Choose a tag to compare

Changes from 3.2.0:

  • 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
  • Removed vid_tft and vid_nowidescreen and associated menu option. Their functionality was superseded and extended by vid_aspect set to 3 (which has the same effect as setting both to true anyhow), and it was mostly just redundant
  • Fixed: don't interpolate view movements if a key press didn't result in any changes
  • Add default gzdoom.pk3 directory to File.Search paths on *nix systems
  • 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

g3.3pre

07 Oct 23:39
Compare
Choose a tag to compare
g3.3pre Pre-release
Pre-release
- bump for 3.3pre

GZDoom 3.2.0

06 Oct 05:25
Compare
Choose a tag to compare

Major release highlights

  • 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
  • Tons of fixes and improvements

Changes from 3.1.0

  • Merged with QZDoom 2.0.0
  • "Software" light mode (in OpenGL) now supports radial fog setting
  • Unsloped Flats can now use non-power-2 textures in software mode
  • Menus now merge in with a mod's custom MENUDEF when it provides menu replacements. This is due to older mods' menus becoming very quickly outdated
  • Rise of the Wool Ball is now supported as an IWAD
  • Custom IWAD support is now available. A custom IWAD file must have the extension ipk3/iwad, and contain a IWADINFO lump similar to GZDoom.pk3's with only this IWAD's information and no file list
  • "Classic Transparency" option - turn off ZDoom's additive transparency effects for the original game resources.
  • Better non-accelerated buffer support for software rendering - when vid_hw2d is disabled or otherwise using an unaccelerated framebuffer, stencils and on-screen objects now show up better
  • (Windows only) vid_used3d is now renamed to vid_glswfb. This matches the same CVAR that is available on Mac/Linux
  • vid_glswfb is now exposed to the menu
  • r_visibility now affects GL's Software lightmode as well as Softpoly.
  • Player Sprite overlays now support the PSPF_MIRROR flag which flips the sprite horizontally across the entire screen
  • Menu Blurring option - when running in OpenGL mode, a mod can now blur the screen when the menu is active
  • Unfriendly players - when a PlayerPawn object has -FRIENDLY set, they become a playable monster and interact with the game world as one. Additionally, they become deathmatch opponents, capable of dealing and taking damage from other players
  • Custom Screen Shaders - mods are now able to include their own post processing shaders, insertable before the bloom pass (beforebloom), before 2D objects are drawn (scene), and after everything is on the screen (screen)
  • vid_saturation saturates/desaturates the screen - improves the appearance of the screen when using certain brightness/gamma settings as well as allowing the user to play in 'black and white' (similar to the display control panel option). (Requires post-processing shaders to be active and hardware gamma must be disabled)

Changes since QZDoom 2.0.0

  • r_visibility now works in OpenGL (software lightmode only) and SoftPoly
    (Software only) Added r_line_distance_cull and r_sprite_distance_cull CVARs that cull lines or sprites beyond the specified distance
    (OpenGL only) Added 'enabled' property for post-process shaders, to automatically enable them without the assistance of ZScript
  • Enable Core Profile on macOS only when OpenGL 3.3 is available
  • Use multiple threads for xBRZ upscaling
  • Added new "sv_damagefactor*" variables
    sv_damagefactorplayer: Scales damage for player
    sv_damagefactorfriendly: Scales damage for all other +FRIENDLY objects
    sv_damagefactormobj: Scales damage for everything else including monsters and decorations
  • Added per-class think time profiling tool
  • Fixed crash when drawing untranslated font
  • Fixed applying of color to untranslated fonts in hardware renderer
  • Added kill baddies cheat - does the same thing as kill monsters only it ignores friendly monsters
  • Changed gl_ssao_portals default to 1
  • (OpenGL hardware/software framebuffer only) Revamped vid_max_* variables. Originally debug variables, they've been redesigned to allow screen resizing based on aesthetics
    The variable controlling the entire system is now vid_scalemode:
    0 == neighbor scaling, controlled by vid_scalefactor
    1 == linear scaling, controlled by vid_scalefactor
    2 == 320x200, neighbor scaled
    3 == 640x400, neighbor scaled
    4 == 1280x800, linear scaled
  • vid_scalefactor added for modes 0 and 1, which changes the render resolution to any arbitrary amount the user specifies >0, and resizes the screen to that amount. Valid values are >0 to <=2.0, where values above 1.0 are super-sampled to the screen (allowing up to SSAAx4 super-resolution). Please note that due to the way this is implemented, screenshots generated using this system will be in their original render resolution, so a super-sampled screenshot will actually come out in higher resolution
    Menu options for this system have been added
    Please note that this system is not available in the DirectDraw/Direct3D software framebuffers. For those, ZDoom's old -2 and -4 command-line parameters still work. (For now)
  • Post-process GLDEFS parsing is more strict than QZDoom's, and will error out if invalid keywords are used
  • Lemon parser now uses dynamic stack size comparable to C++'s, allowing deeper nesting of if, for, and while loops in ZScript
  • Fixed dynamic light clamping in true-color software renderer
  • BSP node cache will now no longer write to NTFS alternate streams. In Linux/Mac systems, this means said filenames will no longer contain a colon.
  • The classic software renderer now supports use of the maxviewpitch CVAR - it still cannot pan to a full 90 degrees, though (sorry folks) ;)
  • (Source code) Some OpenBSD support is now in the source. Please note that this is currently HUGELY unsupported by the dev team and comes as a user contribution. (From our perspective: 'here be dragons, tread ye carefully')
  • Models now have normals in the hardware renderer, allowing them to be affected by dynamic lights and SSAO
  • sv_singleplayerrespawn changed from a 'latching' CVAR to a 'cheat' CVAR using the new cheat CVAR system. This means the CVAR can now be enabled dynamically for single player games, however, it is still disabled when cheats are
  • Added render visibility flags - will selectively make objects disappear on the screen when certain rendering feature criteria is not met. The goal of this is to allow two different objects to appear on the screen based on renderer type, as a deterministic-supporting substitution for the oft-requested "moar reliable vid_renderer checks plzplz" - this feature is also intentionally designed to be future proof (i.e. if you use this feature MODS WON'T BREAK when new features are introduced in the associated renderers!)
  • Added r_showcaps CCMD to show which render flags are currently active in the renderer
  • Maximized window state is now saved between sessions as well as when swtruecolor is changed
  • Support binding textures for custom PP shaders
  • Added per-level exit texts independent of the current cluster
    This is mainly to support UMAPINFO which does not have clusters but has been extended to define separate exit texts for each target map that can be reached from a given map
    Special names normal and secret can be used to define texts specific to the default exits
    New MAPINFO properties:
    exittext = mapname, "text"...
    textmusic = mapname, "musicname", order
    textflat = mapname, flatname
    textpic = mapname, picname
    textflat and textpic are like flat and pic for clusters, one defines a tiled background, the other a fullscreen image
    Setting an empty exittext will disable a cluster-based text screen that may apply to the given map
  • TiMidity++ fixes for Linux
  • Significantly improve shadowmap light performance for faces with a large number of lights but where only a few applies to each individual fragment
  • More classic IWAD compatibility fixes for missing textures
  • Fixed unset inflictor in WorldThingDamaged event
  • Removed tag 0 check for 3D floors because as seems to be par for course in Doom modding, some people actually exploited this bug.
  • Handle state label resolution in a non-actor context more gracefully
  • Addressed incorrect ACS printbold implementation: For native Hexen maps it will now be correct, but all others will have to set a flag in MAPINFO's gameinfo section to avoid problems with numerous ZDoom maps depending on the incorrect implementation.
  • Reset interpolation coordinates for all actors before the current thinking turn instead of at the start of each actor's own Tick function so that indirect actor movement gets properly interpolated.
  • Fixed color for untranslated font was missing its alpha channel.
  • Print a warning if a decal definition cannot find an animator. This is important because DECALDEF cannot tentatively find animators declared after the decal.
  • Let PlayerPawn.ForwardThrust() use its angle parameter.
  • Fixed destination-less line portal should be ignored by the sight checking code.
  • Added a user reserved range of statnums from 70-90
  • Fixed FastProjectile's movement code was missing a portal check.
  • Softpoly now uses a zbuffer, similar to hardware rendering
  • Added sprite adjustment to softpoly
  • Fixed camera rotation from FraggleScript
  • Fixed crash when morph item is used from ACS
  • Fixed incorrect damage flags' checks for A_Kill...() functions
  • More softpoly fixes
  • Softpoly now supports sloped 3D floors
  • Fixed handling of default arguments in Actor.GiveSecret()
  • In software rendering, lights now check if they are too far above or below a certain plane before rendering. An example of this is in unloved.pk3 where in MAP02, some lights are above the ceiling
  • Fixed VM abort with null activator for SecretTrigger object
  • Fixed changing uiscale did not always update the screen size properly
  • Game will now print the version at the start of the log
  • Properly handle VM abort exception when occurred in menu
  • Added GOG path for Doom 3: BFG Edition
  • Fixed: When offsetting the project...
Read more

GZDoom 3.1.0

01 Jun 05:19
Compare
Choose a tag to compare

Although this is mainly a bugfix release there are a few notable new features:

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

Notable bugfixes:

  • 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

GZDoom 3.0.1

04 May 06:36
Compare
Choose a tag to compare

This is a bugfix release which addresses the following:

  • Potential crash when changing the render output in-game and continue playing
  • 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

GZDoom 3.0.0

29 Apr 19:36
Compare
Choose a tag to compare

This is the first version that merges all software rendering features from QZDoom.
In addition this is the first release under the GPL v3.
To comply with the GPL, FModEx had to be removed as a sound backend, so this version will only support OpenAL.

New features aside from merging with QZDoom include:

  • 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

Please note that starting with this version the 32 bit Windows version will require support for SSE2, because the true color software renderer cannot work without it. As a result it can no longer be used on Pentium 3's and older.

GZDoom 2.4.0

20 Mar 20:26
Compare
Choose a tag to compare

New render features

  • Doom64-style color properties for sectors (i.e. different color settings for floor, ceiling, walls and sprites)

New scripting features

  • Script versioning to account for syntax differences between versions
  • Fully scripted inventory system
  • Fully scripted menu system
  • Scripted event system
  • Printf-style string formatting function for ZScript
  • Dynamic arrays for ZScript
  • More access to map data from ZScript
  • User definable actor properties
  • Separation of scripts into UI and Play parts to have better access control
  • Exported obituary code to ZScript to allow more flexibility when handling special cases
  • SectorTagIterator and LineIDIterator classes to search for tags

Other

  • Added GetActorFloorTexture and GetActorFloorTerrain ACS functions
  • Added new PRINTNAME_ constants for retrieving next and secret next level in ACS
  • Added per-sector settable fog density
  • Fixed handling of sector action things with special trigger semantics
  • True color fonts can be defined in FONTDEFS
  • added a BOUNCE_NotOnShootables flag to address an old design bug in the bouncing system
  • added StealthAlpha actor property for defining a minimum visibility value of a stealth monster

... and many more smaller additions and fixes.