News

GZDoom 4.3.2 released

Posted by on at 22:44
(11) Comments
Notice: The survey is currently closed. GZDoom 4.3.2 does not include the survey code that 4.2.0 did.

Download (OpenGL 3.3 and higher)



Highlights
This is a mainly a bugfix release. There's two notable new features, though:
  • added ML_NOSKYWALLS and ML_DRAWFULLHEIGHT
  • add support for new Bethesda.Net Unity Edition wads


Details
  • added ML_NOSKYWALLS and ML_DRAWFULLHEIGHT
  • fixed Linux and macOS implementations of I_FindAttr()
  • implement player setup background by Enjay
  • fixed uninitialized variable in OPL song. Mono streams could be erroneously treated as stereo, doubling their playback speed
  • compatibility workaround for using Scroll_Texture_Model with a line id of 0.
  • store CVARs non-destructively in savegames.
  • added missing render style constants to ZScript.
  • fixed A_PlaySound() called from Dehacked
  • fixed: The directory scanner for reading a directory into the WAD file system and ScanDirectory were not Unicode capable on Windows.
  • restored old values for CHAN_... constants
  • add support for new Bethesda.Net Unity Edition wads
  • added workaround for GLSL noise functions on macOS
  • added ability to use static SDL2 library
  • fixed invalid context warnings with Cocoa backend
  • removed obsolete softpoly render modes from menu
  • fixed resolving of music aliases with full filenames
  • fixed erroneous override of default language strings
Comments

GZDoom 4.3.1 released

Posted by on at 19:07
(27) Comments
Notice: The survey is currently closed. GZDoom 4.3.1 does not include the survey code that 4.2.0 did.

Download (OpenGL 3.3 and higher)


Downloads for 4.3.0 removed becuase of a critical oversight. Please use 4.3.1!

Highlights
  • new softpoly backend for the hardware renderer.
  • The software renderer will start again on DX9 compatible hardware that doesn't support OpenGL 3.3.
  • advanced texture colorization options.
  • scripted map postprocessor
  • Dictionary class for ZScript.
  • reinstate 320x200 with the following caveat: it only functions outside of menus and console, and only when the dialogues and logs use the default font, the game will temporarily switch to 640x400 in these situations
  • Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
  • Support for MIDI on Linux via alsa sequencer


Details
  • vid_scalemode 1 now only goes down to 640x400 at minimum, instead of 320x200
  • added Esperanto menu option.
  • Support for MIDI on Linux via alsa sequencer
  • rewrote the ZMusic interface so that it is free of C++ constructs.
  • the timidity safe_malloc functions may not throw exceptions.
  • added pixel ratio detection to supersampling detection for forcing linear scalingthis should likely make it so if there's ever an instance where a viewport pixel is smaller than a screen pixel, the screen should go to linear scaling now
  • set sane limits for vid_scale_custompixelaspect
  • added the Dehacked extensions from Crispy/Doom Retro.
  • made linear scaling more user controlled
  • do config migration for vid_scale_custompixelaspect
  • allow custom pixel ratio scaling
  • SW renderer: Fix wrong blend tables used when dynamic lights hits translucent lines
  • implement 'defcvars'
  • Fixed a regression in DoTakeInventory. (the C++ code just ignored the null pointer, but ZScript can't do that)
  • Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
  • Fixed: Invulnerability checking for rails was done before the various THRU actor flags instead of after, meaning actors could block shots regardless of those flags. This was never intended.
  • Added STOPRAILS actor flag.
  • export TMap<FString, FString> to ZScript
  • let a sight check that gets lost return failure.
  • fixed Harmony's end text's name.
  • update window title with current level name
  • removed <CR> symbols to fix zdoom.rc being modified after checkout
  • reinstate 320x200 with the following caveat: it only functions outside of menus and console, and only when the dialogues and logs use the default font, the game will temporarily switch to 640x400 in these situations
  • change IWAD startup dialog to allow selecting between OpenGL, Vulkan, and SoftPoly backends. (windows only)
  • precache switch textures from ANIMATED lump
  • upsample texture if width
  • height is less or equal to gl_texture_hqresize_maxinputsize squared
  • added a few more texture coloring options to the shader.
  • added minimal time profiling of texture precaching
  • improved normalNx scaling performance by ~10%
  • implement vid_scalemode = 6sets absolute minimum scaling to fill entire screenuseful for speeding up software rendering
  • allow more than 8 sound channels per sound source. This requires a new function interface because the old one's combination of channel and flags in one variable cannot be changed anymore.
  • renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope.
  • fixed VOC loader. Its 16 bit code did not work because it set the variable to -16 instead of 16.
  • do not expect user input if stdin is redirected
  • removed redundant call to S_StopAllChannels()
  • More compat fixes for Swan Fox maps (#982)
  • add line_horizon on HOM line in Sapphire.wad
  • removed dead menu options
  • Fixed the JIT's OP_VTBL check not checking if it's already at the start of the code.
  • fixed typos in Doom lights definitions
  • fixed wrong display of Hexen AC for SBARINFO
  • added null check to the dialogue lines array so that it doesn't crash if the text is never word wrapped.
  • fixed: AActor::Revive did not restore flags8.
  • fixed monster teleportation on Ancient Aliens MAP23
  • added ability to set custom alternative HUD
  • add cvar 'cl_disableinvertedcolormap'changes the invulnerability… (#972)
  • exported several Wads.GetLump...() methods to ZScript
  • Compatibility fixes for Clavicula Nox
  • cl_blockcheats added to 'nocheat' check
  • changed secret message handling so that the debug output of the sector number is only printed to the console but not the centered message.
  • new zscript function 'SetLineVertexes(line, v1, v2)'
  • added generic level post-processing script class
  • improved handling of return value mismatches
  • set meaningful defaults on initialization of BaseStatusBar
  • add Vulkan to the startup box in Windows
  • fixed missing fullbright for Berserk
  • fixed source lump assignment for multipatch textures
  • mixins.
  • fixed bad variable name for lump filter
  • fixed: IfGame else branch was ignored in MENUDEF
  • fixed: lump filters without any dot in the name did not work.
  • implement ccmd 'togglehud' for taking screenshots
[/list]
Comments

LZDoom 3.84 released

Posted by on at 15:38
(37) Comments
Download
Fixes/features since 3.83a
  • Fixed taking screenshots in menus with Space when Sys_Rq is set as screenshot key (randi).
  • Bumped ZScript version to be the same as in GZDoom.
  • Fixed stretching for 256 and 240 pixels tall skies in software.
  • Removed and replaced the following LevelCompatibility functions: FlipLine, GetNumMapThings, GetMapThingPos, GetMapThingAngle, SetMapThingAngle.
  • Fixed lighting problems with weapon models.
  • Remove UM skill from the menu now that i've added the real thing with 2xmonsters in RUDE, still works with skill 5.
  • Replaced the useless 160x200 scale preset with widescreen 356x200.
  • Add option to reset controls to defaults.
  • A lot of stuff from GZDoom.
Details
Comments

GZDoom 4.2.4 released

Posted by on at 07:12
(14) Comments
Notice: The survey is currently closed. GZDoom 4.2.4 does not include the survey code that 4.2.0 did.

Download (OpenGL 3.3 and higher)

Highlights
  • This is a bugfix release without new features. The notable highlight is that this fixes translucent objects in the software renderer.


Details
  • Fixed stretching for 256 and 240 pixels tall skies in software.
  • fixed broken walkthrough of Restoring Deimos MAP07
  • Fixed a bug in the flagdef processing code.
  • adjusted collision detection for item pickups. Use vanilla condition for a thing with MF_SPECIAL flag to fix inability to grab it when item's top is at the same height as sector's floor from it can be picked up
  • fixed localization support for intermission texts
  • fixed radius attack that may inflict damage twice
  • sort CVAR output in config alphabetically instead of randomly dumping them in their internal order.
  • Fixed ZScript's Screen.DrawLine using the wrong color when drawing pure black.
  • fixed missing frames for Hexen's fighter's axe attack without mana
  • fixed usage of uninitialized object in BlockLinesIterator
  • removed hardcoded width limit for screenshots
  • Fixed dynamic arrays as function arguments.
  • added Visual Studio debugger visualization for several types
  • do not accept read-only variable as out argument
  • fixed variable's stack offset for implicit dynarray clearing
  • Fixed Vector2/3 out parameters in the ZScript compiler.
  • added explicit clearing of global VM stack. When exceptions are thrown from JITed code, the VM stack isn't cleared during unwinding.
  • fixed typo with D'Sparil's serpent attack in lights.pk3, creating an extremely large light.
  • fixed bad application of translucency in the software renderer
  • Scythe MAP22 Compatibility fix
Comments

LZDoom 3.83a released

Posted by on at 10:03
(14) Comments
Notice: Some defaults have been changed to fix problems, it's recommended that you delete your ini specially on old AMD GL3 cards.

Download
Fixes/features since 3.82
  • Added missing null pointer checks to fix a crash with PB.
  • Added the 'quickunsetslot' command to unset the quicksave slot.
  • Fixed capped tall skies not working (Heretic and Hexen). Fixed sky stretching for the new freelook limit.
  • Implement the following functions under LevelCompatibility: FlipLine, GetNumMapThings, GetMapThingPos, GetMapThingAngle, SetMapThingAngle.
  • Wall and sprite render cull options for the GL renderer.
  • Added support for up to 4 DirectInput joysticks with 32 button each at the same time for fake splitscreen.
  • Added low detail mode (160x200) to the preset scale modes. UI looks horizontally stretched tough.
  • Implement taking screen shots in menus (m8f). Added support for PrtSc.
  • Use signal handler to invoke call_terms() before exit when possible (Conn O'Griofa)
  • Fixed crash drawing fog boundaries in the software renderer.
  • Fixed another crash in the software renderer now with transparent sprites (Stronghold STR12).
  • Fixed ancient ZDoom savegame slot selection bug.
  • Changed how the old quicksave works. Now you select the slot using quicksave like in original Doom.
  • Models are for now disabled by default for the classic software renderer with the new r_models_carmack CVAR for better performance on some maps and to avoid an issue with dissapearing sprites.
  • Allow disabling mirrors for the GL renderer with gl_mirrors as some maps abuse them and portals are much slower in the old renderer. Also reduce the number of default recursions.
  • Fixed vanilla light mode being available for GL2 when it's not supported without shaders.
  • Block scaling for the classic software renderer (D3D), it didn't work and caused some serious glitches.
  • Fall back to D3D for software on systems without GL2 support.
  • Tweaked the 1K Deaths skill setting for Heretic.
  • Fixed fuzz style fallback not working in GL legacy mode. Changed default since software style was too expensive on old cards.
  • A lot of stuff from GZDoom. Bumped ZScript to 3.9.0.
Details
Comments

GZDoom 4.2.3 released

Posted by on at 22:35
(9) Comments
Notice: The survey is currently closed. GZDoom 4.2.3 does not include the survey code that 4.2.0 did.

Download (OpenGL 3.3 and higher)

Highlights
  • to be compiled


Details
  • fixed wrong offset on Fighter's Fist
  • Added Armor to Hexen fullscreen display
  • Export F3DFloor structure and related data.
  • fix of checking for valid texture access, rather than checking whether it is null, when drawing fog boundaries in the software renderer
  • Fixed crash with mock2.wad in software.
  • Fix for LineTrace not setting its starting sector based on its offset.
  • fixed: sector lights could access the sector before it was set.
  • Fixed ancient ZDoom savegame slot selection bug. When creating new autosaves LastAccessed and LastSaved were not updated accordingly.
  • Fix crash on vulkan with a large number of texture shaders.
  • adapted the PSX XA decoder from EDuke32 as a music format in GZDoom.
  • internal restructuring of music system.
  • fixed inventory scroll arrows in alternative HUD
  • add m_quickexit option for quick exit in game menu
  • fixed a crash in the software renderer that caused wallsprites to crash
  • cleanup of game exit code to be more reliable, as this could cause spurious crashes.
  • Fixed capped tall skies not working (Heretic and Hexen).
  • Fixed sky stretching for the new freelook limit.
  • made GL nodes loader more resilient to broken data
  • Fixed CheckBossDeath not checking for actor replacements.
  • fallback to console font in case of missing small font
  • fixed: pickup flash didn't fade out if player was killed by pickup
  • fixed: The dynamic lights must be initialized before the first frame is ticked.
  • fixed SPC music looping after update to GME 0.6.2
  • fixed broken walkthrough of Restoring Deimos MAP03
  • fixed broken walkthrough of Skulldash MAP04
  • implicitly clear local dynamic arrays
  • fixed crash with dynamic light manipulation through netevents.
  • when adding some minmum lateral movement to trigger collision detection, do not just set Vel.X but actually use a vector pointing in the proper facing direction of the actor.
  • fixed GetLineX/GetLineY ACS implementation
Comments

GZDoom 4.2.1 released

Posted by on at 06:14
(30) Comments
Notice: The survey is currently closed. GZDoom 4.2.1 does not include the survey code that 4.2.0 did.

Download (OpenGL 3.3 and higher)


Highlights
  • to be compiled


Details
  • Dutch translation
  • give P_ExplodeMissile a damage type when being called from P_Damage…
  • rename sprite names with '^' in the hires namespace.
  • compatibility option for Daedalus MAP19 which depends onan old scriptwait implementation.
  • added dlg_vgafont and log_vgafont to the menu.
  • add empty line in menu after standard options
  • Make the build work with fluidsynth 2.x.
  • Level compatibility additions for Scythe 2 and Hell Revealed
  • fixed: saving game to read-only file was erroneously reported as success
  • Add current, max and average velocity as stat (#912)
  • added ability to specify deprecation messages in ZScript
  • GME update with bug-fixes
  • Vulkan: release any references to command buffer when flushed
  • fixed crash on parsing bad hex number
  • Let Hexen Cleric and Mage use unique health chains
  • Allow custom status bars to override notification and centered message display
  • Improve crosshair health color to be more informative
  • Converted keyboard turnspeeds into global CVars
  • added obituary fallbacks for actors that do not have any defined.
  • fixed bad default alpha for 3D floors.
  • fixed attached dynamic light setup.
  • added check for multiple parsing of the same MAPINFO
  • exposed xBRZ scaler options as CVARs
  • updated xBRZ scaler to version 1.7
Comments

GZDoom 4.2.0 released.

Posted by on at 16:48
(45) Comments
A new release is available.

Notice:The survey has been re-enabled for this version so that we can get some information about how the state of systems being used for GZDoom has developed over the last year. We would like to ask as many users as possible to participate, so that we can make the right decisions based on the information we obtain. Like previous surveys this does not collect any private information - all it sends is basic info about the operating system, the number of CPU cores, the graphics card and supported OpenGL/Vulkan versions.

Download
Get the downloads over at Github. The linked page will host all binaries that are ready.


Highlights
  • Restored original vanilla behavior of Lost Souls' charging attack
  • exposed Append() method to ZScript dynamic array
  • fixed handling of the "ouch" face.
  • fixed an inconsistency with missiles bouncing off actors.
  • added option to print a map author's name on the summary screen
  • Adds option to use a rotation of quicksaves instead of having one quicksave slot that needs to be manually created.
  • allow switching the Strife conversation screen to the VGA font for all languages by a CVAR.
  • Added A_SoundPitch and an optional pitch parameter to A_PlaySound and S_Sound.
  • Hacx and Harmony now support localization
  • new supported languages: Czech, Finnish, Japanese, Polish and Serbian.
  • RenderUnderlay feature.
  • Attachable dynamic lights with ZScript or DECORATE.

Details
  • fix a couple issues with sigil.wad:
  • e5m2: floating skulls disappear on lower skill levels
  • e5m4: the platform with the baron of hell that led to the invulnerability secret had a missing texture
  • fixed the extremely long standing bug that Lost Souls didn't reacquire their target when slamming into something.
  • fixed: The OriginalSmallFont must always be created, even when the actual SmallFont is not the IWAD default.
  • exposed Append() method to ZScript dynamic array
  • fixed: Do not use BasicArmor's save percentage when no armor present.
  • do not blur the background for portrait-less conversations.
  • fixed bad texture canvas checks when in truecolor software rendering.
  • fixed: in order to ensure that all font characters are of texture type FontChar it is necessary to clone the texture instead of changing its use type.
  • fixed: The frozen state was not reset when the global level variable was reset.
  • fixed handling of the "ouch" face.
  • fixed an inconsistency with missiles bouncing off actors.
  • fixed incorrect write barrier in sound sequence code.
  • fixed: Takedown of an expired HUD message did not properly detach it from the list.
  • call vkDeviceWaitIdle before RAII tears down buffers
  • fixed mouse coordinate checks when using the generic VGA font with Strife conversations.
  • Made reverb editor localizable
  • fixed buggy ArmorFactor behavior when set to a value other than 1.0
  • recreate Vulkan swapchain in case of surface lost error
  • added option to print a map author's name on the summary screen
  • added an option to always display the log and the subtitles with the generic font.
  • updated bzip2 to version 1.0.8
  • Adds option to use a rotation of quicksaves instead of having one quicksave slot that needs to be manually created.
  • allow switching the Strife conversation screen to the VGA font for all languages by a CVAR.
  • added ability to specify display duration of subtitles
  • fixed: The numcommands value in A_KoraxCommand needs to be decremented by one because the max parameter of the random function is inclusive.
  • Added A_SoundPitch and an optional pitch parameter to A_PlaySound and S_Sound.
  • fixed crash on player unmorph after falling death
  • for the map name on the automap, fall back to the original SmallFont if the actual one cannot print it.
  • use proper interface calls to give the initial BasicArmor to the player.
  • added the two missing subtitle texts for Strife.
  • added PSprite.bMirror flag to ZScript class definition
  • the fallback BigFont now can also be loaded by IWADs which declare themselves as GAME_Heretic or GAME_Hexen.
  • add +ZDOOMTRANS to BFGExtra in order to force classic transparency per user setting.
  • renamed zd_extra.pk3 to game_support.pk3
  • setup Harmony localization.
  • moved iwadinfo.txt to zd_extra.pk3. This removes the stock IWAD definitions for custom games that distribute the engine along with their data, so that it doesn't pick up on Steam and GOG installations and shows an inappropriate IWAD picker.
  • added the missing WISLASH for Hacx.
  • allow setting the font used for the status screen's content text.
  • adjustments for the level summary screen.
  • added Hacx localization support.
  • dynamic light definitions for Hacx.
  • fixed: The countdown for the subtitles display was never counted down so the messages remained forever.
  • Shape2D drawing will gracefully abort the VM on any out of bounds access.
  • added validation for presence of drop item classes
  • do not set crouch player sprites on voodoo dolls
  • fixed crash on starting ACS script without level
  • fixed LevelLocals.isFrozen() return value with JIT disabled
  • fixed missing dive and surface player sounds
  • Added RenderUnderlay.
  • added validation of LevelCompatibility.Apply() signature
  • User definable dynamic lights
  • updated bzip2 to version 1.0.7
  • added detection of macOS Catalina
  • fixed: endgame menu no longer resets player's userinfo
  • fixed incorrect implementation of "episode = clear" in UMAPINFO.
  • fixed incomplete parsing of UMAPINFO when map already exists
  • fixed missing skill menu for episodes defined by UMAPINFO
  • fixed: all UMAPINFO definitions were applied to default map slot
  • give UMAPINFO the ability to disable cluster-based exit texts.
  • restored indication of console scrolling
  • made console cursor fill whole character box
  • switched to unconditional level exit in scriptified actors
  • exported unconditional level exit to ZScript
  • compat_pointonline for doom2 map14
  • Fixed "if (!(lhs ~== rhs))" breaking with vectors.
  • localize custom menu titles in option search results
  • add nullptr checks for double-frame model interpolation
  • fixed: light mode from mapinfo had no effect
  • delay postprocess texture destruction until the end of the frame
  • fix wipe screen when using -loadgame
  • fixed crash on loading map in Hexen format without any nodes
  • added a linear transformation system to Shape2D so that things like rotations and scales can be changed without having to clear and push a large amount of data
Comments

LZDoom replacing QZDoom on the download page

Posted by on at 11:11
(7) Comments
Since there are no planned future "official" releases for QZDoom and it pretty much just serves as a beta test bench now, the decision was made to replace it on the download page with LZDoom.

LZDoom is a port created by drfrag in the community, and should serve as a more maintained code base than the Vintage version did. While it aims to keep feature parity with GZDoom with regards to modding features, it does lag behind quite a lot in renderer code. (So much so, in fact, that it can be used to run on older systems that GZDoom has long since deprecated).

Please keep in mind that LZDoom is independently supported, and the GZDoom team can only offer limited support. Its development is not directly supervised by the GZDoom team, so this should be seen as more of a simple alternative to GZDoom than a real "vintage build" for it. As always, if you need help getting things working, you can post in the tech forum and see if someone can help you!

Here is a quote from drfrag's post for LZDoom v3.82 that by itself will complete this post:
drfrag wrote:Fixes/features since 3.61b4
  • Fake splitscreen support: you need to enable the 'vid_activeinbackground', 'i_soundinbackground' and the new 'joy_background' cvars.
    Start two copies of LZDoom from different folders (e.g. with ZDL), one with -host 2 and another one with '-join 127.0.0.1'. You need a dual core CPU, you'll probably get the best results using software D3D and setting 'r_multithreaded' to 0. Set player two to use the gamepad (left stick to move, right one to look around) and give the focus to player one, works for DInput and SDL.
  • Gives a warning instead of error out on unsupported ZScript version (3.8.3), hacked to run most mods with the original fonts.
  • Support for SIGIL and NERVE as iwads.
  • More DOOM2 compatibility fixes.
  • Auto level compatibility is now optional by Enjay's request: 'sv_njnoautolevelcompat' cvar. Gives a warning on level load.
  • Fixed crash with Eviternity on level end.
  • Huge update with tons of stuff from GZDoom such as the JIT compiler for 64 bit.
  • Reminder: savegames in LZDoom are sorted by filename (slot), to restore the old order use the 'oldsaveorder' cvar.

Download


Enjoy LZDoom!
Comments

GZDoom 3.8.2 Vintage Released

Posted by on at 10:25
(32) Comments
Notice: This might be the last vintage version.

Please note that the survey is currently closed. GZDoom 3.8.2 does not include the survey code that 3.5.0 did.


Download (Vintage, OpenGL 2.0)

Highlights
  • bug fixes
  • fixed broken multiplayer
  • add dithering support to emulate higher BPC displays than your real one (from 3.5.1, requires GL 3.3)
  • improvements to Doom64 colouring (from 3.7.0, requires GL 3.3)
  • added RenderUnderlay
Comments