GZDoom 4.6.0 released

News about ZDoom, its child ports, or any closely related projects.
[ZDoom Home] [Documentation (Wiki)] [Official News] [Downloads] [Discord]
[🔎 Google This Site]

Moderator: GZDoom Developers

User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49183
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

GZDoom 4.6.0 released

Post by Graf Zahl »

Notice: The survey is currently closed. GZDoom 4.6.0 does not include the survey code that 4.2.0 did.

Please do not post bugs or issues in release threads! Click here

Download (OpenGL 3.3 and higher for hardware rendering, Direct3D 9 or later for software rendering)
Highlights
  • Widescreen graphics for Heretic and Hexen
  • Sprite shadows like in the Build engine. Both in software and hardware renderer.
  • 16 bit channel PNG files can be read
  • DEHEXTRA working properly now
  • various enhancements and fixes for ZScript.

Details
  • Account for portals when spawning missiles in A_FireBullets/A_CustomBulletAttack
  • fixed return type of Actor.GetCVarString()
  • update widescreen submodule
  • strip trailing spaces off the lines for intermission texts.
  • gave the Raven invulnerability items the BIGPOWERUP flag to ensure proper respawning behavior.
  • change switch checking back to vanilla order.
  • use stb-image to handle PNGs with 16 bit color channels.
  • do not use M_EPI1 and M_EPI2 in any Doom 2 context.
  • fixed: explicit float to int casts should not emit truncation warnings.
  • tweaked Hexen's weapon pieces so they do not floatbob into the floor with the hardware renderer.
  • moved the handling of ending PowerWeaponLevel2 into PlayerPawn.Tick and restored the immediate weapon switch.
  • never run the shader timer on the 0th frame. fixes this bug: viewtopic.php?f=2&t=62693
  • backend update from Raze.
  • fixed time positioning on stat screen.
  • pick the proper dot for cutting off the extension in ExtractFileBase.
  • added proper string labels for Doom 2 episodes.
  • let the CSV parser for the string table handle hex escapes.
  • added a few missing statusbar constants-
  • don't display keys on the HUD in deathmatch.
  • fixed A_CheckTerrain's check for instant death sectors. This was still checking the sector special even though this had been reactored 5 years ago.
  • fixed: The PrisonPass's TryPickup method did not properly report successful pickup.
  • make the title music only play once, unless a real demo is successfully played.
  • SDL: Report Vulkan initialization errors
  • give the first 16 DEHEXTRA states proper content.
  • make `DI_ALPHAMAPPED` change the style to `STYLE_Shaded` in the status bar drawer
  • missing key scan code constants added.
  • Screen.ClearScreen and Screen.SetScreenFade script exports.
  • PushV function for int and string arrays.
  • change `vid_allowtrueultrawide` - -1 allows for any arbitrary ratio for hud aspects, 0 changed to old behavior (max 16:9), 1 changed to old behavior except at 21:9, 1 is now the default.
  • `vid_allowtrueultrawide` is now placed in game-specific config, instead of global.
  • Don't print the weapon tag if the game is paused
  • Allow settable render styles for status bar drawing functions DrawTexture, DrawImage and DrawString
  • Made OptionMenuSliderBase::IsGrayed virtual
  • Default Heretic's, Hexen's and Strife's default screen wipe styles to match their original counterparts.
  • Add sprite shadows for the hardware renderer
  • Add sprite shadows for the software renderer
  • Expose level_info_t to scripting + helper functions.
  • Allow ACS SpawnDecal zoffset and distance args to be fixed point
  • Add Polyobj_StopSound special
  • handle empty command names when getting key binds
  • Don't warn about UDMF comments or user fields
  • allow AddPoly for 2D drawer without index buffer, treating the data as a list of triangles.
  • filter out macOS resource fork data when loading Zips.
  • added a A_SetFriendly function
  • remove Vulkan button on startup if Vulkan compilation is disabled
  • Fix crash with fog and software light modes.
  • Removed depthClamp requirement (note: portals will not render correctly on such devices)
  • set libADL and libOPN bank settings (only) to game specific
  • A software implementation for gamma, brightness, contrast and saturation effects on SoftPoly. Based on original code by @dpjudas, thanks for the code.
  • Bug fix in invulnerability in Doom Software Render Mode and True Color SW Render in SoftPoly.
  • Don't let the game start if the saved game passed to -loadgame is invalid. the
  • improved multithreaded rendering for the software renderer.
  • Make i_timescale cvar virtual. Changing i_timescale in a netgame would cause its callback to recurse
  • into itself infinitely. CVAR_VIRTUAL prevents this.
  • Fixed crash with voodoo dolls in MP after players quit the game.
  • account for KEEPDEPLETED flag when destroying items with InterHubAmount of 0 upon leaving a level
  • Fix camera texture aspect ratio in hardware renderer
  • Add missing tag for Strife's KneelingGuy.
  • New letter И for Strife
  • Add GetCharacterName() to retrieve an NPC's name as defined in its dialogue script, if it exists. Otherwise it will just return the same output as GetTag().
  • Add tag properties to Strife's enemies.
  • removed config updates for pre-GZDoom versions of ZDoom.
  • adapt mod_dumb_mastervolume to the increased default volume in ZMusic.
  • do not sort level names in the statistics output when saving. Instead do this when creating the data to avoid trashing manual edits. The old sorter resorted all data loaded from the old file as well.
  • print a message if saving the statistics file fails.
  • implemented replay gain calculation and management. This is done entirely on the streamed sound data, unlike the old relative volume which uses the backend's volume setting.
  • Show subtitles for the Entity's greeting lines in Strife.
  • Fix crash with wind effect on special water sectors.
  • Add SetSubtitleNumber(int num, str sound) ACS function. Works exactly like its ZScript counterpart. The activator of the script must be a player.
  • bumped CMake version to 3.1.0 in all projects to reduce warning spam in recent versions.
  • escape double quotes in Cocoa IWAD picker's extra arguments
  • Fix random crash when travelling between hub maps in multiplayer.
  • ported Eternity's Line_QuickPortal
  • fixed memory leak in UDMF loader.
  • DrawRotated function for status bar.
  • Fix portals not working in softpoly (#1323)
  • Add a null check in PlayerPawn::CheckFOV
  • added m_swapbuttons CVAR for the Windows RawInput and DirectInput backends. The problem I discovered is that these backends do not respect the GUI-side system setting for swapping the buttons, so this needs to be done in-application so that swapped buttons can behave the same in the menu and the game.
  • Don't make the switch that reveals the computer core in Strife MAP15 to be repeatable.
  • fix: MBF's A_Spawn DEH codepointer should use misc2 as spawnheight, not distance
  • adjust defaults for DEHEXTRA states to match other ports:
  • Properly abort the program if the SDL window can't be created at all (#1296)
  • Dynamic number of models per frame instead of a hard limit of four. (#1298)
  • Made Strife NPC's dialog voice audible for all players.
  • Fix player not being able to talk to a Strife NPC during netplay, if another player talked to that NPC first. (#1312)
  • restored sound-related developer messages
  • SoftPoly: Fixed the md3 models, you can now correctly display the frame of the model, in addition, interpolation is added to the model.
  • Add missing ZScript constants for the Strife targeter PSprite layers
  • SoftPoly: Fixed the screen turning white with invulnerability sphere in Doom and in Heretic avoiding color errors in some pixels when activating the "ring of invincibility". (#1307)
  • Added a new intrinsic for class pointers to check if the class is abstract (#1308)
  • remove doom2 from the wadsmoosh filter in iwadinfo
  • Fixed sprites were not affected by dynamic lights on SoftPoly.
  • fixed missing 'player left the game' message
  • Softpoiy: Fix black wall sprites
  • Softpoiy: Fix line portal clipping bug
  • add `-noautoexec` command line parameter to disable the execution of autoexec.cfg files
  • add Pi and some other constants to ZScript (#1304)
  • Fix Additive Shaded renderstyle for UDMF things bugged
  • backend update from Raze.
  • another wallsprite crash fix: viewtopic.php?f=56&t=71450
  • Add support for zero size buffers as the hwrenderer uses that!
  • Fix crash when trying to open unreadable IWAD files
  • Fix crash when following symlinks to nonexistent IWAD files
  • fixed incorrect extension of overridden function prototype. Prototype of overridden function with optional argument(s) missing could extend unrelated prototype of previously defined function when their arguments and return value(s) match
  • Fix dancing sprites regression
  • fixed uninitialized global rolloff in sound engine. Depending on SNDINFO definitions, type of global rolloff could left uninitialized, and linear rolloff might be treated as logarithmic
  • fixed: FTextureManager::ReplaceTexture did not calculate the upscale flags.
  • add "hidepartimes" MAPINFO/GameInfo property
  • Hitscan attacks can now hit SPECTRAL actors if the hitscan puff has SPECTRAL flag set
  • Add progress bar for SDL backend
  • Fixed "Messages ON" not being printed.
  • added initialization of linked sectors. Resizing of linked sectors arrays during serialization could lead to processing of pointers to junk data
  • Fixed nodes were not rebuilt after loading broken extended nodes.
  • vid_aspect is now set to change to 21:9's ACTUAL aspect - 64:27
  • screen elements now scale to 64:27 properly. to restore classic behavior, set cvar `vid_allowtrueultrawide` to false
  • Fix ScriptCall missing default arguments
  • Add alternate "Full" mode for PowerIronFeet that prevents leaky damage.
  • Fix ALWAYSFAST actor flag.
  • Side By Side Letterbox Display mode (#1255)
  • add sv_instantreaction dmflag
  • Fixed: Monster reaction time was always zero with fast monsters and not just on nightmare.
  • fixed incorrect sound definition for DSMANATK in Dehacked.
  • Fix the "Max" constant being incorrect for unsigned int types.
  • add new detection hashes for newer versions of nerve.wad
  • update $musicalias to allow iwad remapping when used from game_support.pk3
  • add music aliases for the unity version of Doom/Doom2 for digitized game soundtrack
  • Modify Shape2D so that it manages its own vertex buffer rather than using the draw list (#1249)
  • add support for DEHEXTRA's extended sound range (#1258)
  • Fix IfItem amount not being checked (#1262)
  • Fix MAPINFO definitions for "enableskyboxao"
  • Always allow skyboxes by default
  • Add option to disable skyboxes through mapinfo
  • Disable AO for skybox portals (can be forced back with MAPINFO flag).
  • Add autodetection for GOG's releases of Heretic and Hexen. (#1259)
  • Fix model normals being distorted by MODELDEF scaling.
  • added check for M_IsAnimated to TryRunTics.
  • added the option to look for music by using a truncated 8-character variant of the given name.
  • fixed: strbin did not check for a terminating 0-character right after an escaping backslash.
  • allow targeting ARM64 on Windows
  • fix keyboard repeat events not being sent to menus if TranslateKeyboardEvents is true
  • Fixed: RandomSpawner spawning another RandomSpawner spawning a missile could result in the second RandomSpawner being erroneously destroyed.
  • Simplify manual sound rolloff handling
  • change all optional game support archive loaders to scan the program folder
  • allow drawing text using fonts with an external translation
  • fixed: IceGuyFX2 set its owner too late.
  • implement slider background color change - viewtopic.php?f=15&t=70616
  • Fixed: If AbsorbDamage resulted in an item having been destroyed, the following items in the inventory chain were not processed.
  • Fixed weapon bob jittering.
  • fix missing SKILLP property in zscript code
  • do not keep impact decal that fails to stick to a wall
  • fixed inverted menu setting for 'Disable menu clean scaling'
  • fixed crash when drawing status bar on automap
  • fixed issue with parsing useowncoloradd UDMF flags
User avatar
Nash
 
 
Posts: 17465
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: GZDoom 4.6.0 released

Post by Nash »



Enjoy your fully-widescreen-ified Heretic and Hexen, and sprite shadows, everyone! :D

And solid release as usual, Graf and the rest of the team.
Last edited by Nash on Sat May 22, 2021 10:22 am, edited 1 time in total.
User avatar
Major Cooke
Posts: 8196
Joined: Sun Jan 28, 2007 3:55 pm
Preferred Pronouns: He/Him
Location: QZDoom Maintenance Team

Re: GZDoom 4.6.0 released

Post by Major Cooke »

This includes the ability to add in rotated status bar elements, in particular DrawTexture/ImageRotated, so this is very nice and welcome.
User avatar
TheOxingey
Posts: 4
Joined: Mon Aug 03, 2020 4:58 am
Graphics Processor: ATI/AMD (Legacy GZDoom)

Re: GZDoom 4.6.0 released

Post by TheOxingey »

omg, this is just cool
User avatar
Rachael
Posts: 13793
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: GZDoom 4.6.0 released

Post by Rachael »

Enjoy your GZFoom!
User avatar
Enjay
 
 
Posts: 26573
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: GZDoom 4.6.0 released

Post by Enjay »

Thank you very much for this release.

I don't see it mentioned but I think I'm right in saying that this version also uses the updated OpenAL dll that is better at avoiding harsh "clicks" on overlapping sounds such as rapid instances of multiple pickups.
User avatar
NeuralStunner
 
 
Posts: 12328
Joined: Tue Jul 21, 2009 12:04 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support
Location: capital N, capital S, no space

Re: GZDoom 4.6.0 released

Post by NeuralStunner »

Nash wrote:Enjoy your fully-widescreen-ified Heretic and Hexen, everyone! :D
:wub:
User avatar
Doom_Dude
Posts: 12
Joined: Mon May 31, 2004 6:50 am
Graphics Processor: nVidia (Modern GZDoom)
Location: Canada

Re: GZDoom 4.6.0 released

Post by Doom_Dude »

Sprite shadows! That's a nice touch. :mrgreen:
User avatar
MentzWolf
Posts: 48
Joined: Wed May 25, 2016 6:47 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support

Re: GZDoom 4.6.0 released

Post by MentzWolf »

How do you enable sprite shadows?

EDIT: Found it, my vision's failing me oof
Last edited by MentzWolf on Sat May 22, 2021 10:01 am, edited 1 time in total.
User avatar
A_D_M_E_R_A_L
Posts: 300
Joined: Sun Apr 16, 2017 2:55 am
Preferred Pronouns: He/Him

Re: GZDoom 4.6.0 released

Post by A_D_M_E_R_A_L »

MentzWolf wrote:How do you enable sprite shadows?
In display options.
User avatar
Redneckerz
Spotlight Team
Posts: 1090
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: GZDoom 4.6.0 released

Post by Redneckerz »

Native sprite shadows (Which is a totally unique feature to have) + DEHEXTRA makes this a very solid release. This one will stick around, i feel.

Well done Graf and consorts!
User avatar
Marisa the Magician
Posts: 3886
Joined: Fri Feb 08, 2008 9:15 am
Preferred Pronouns: She/Her
Operating System Version (Optional): (btw I use) Arch
Graphics Processor: nVidia with Vulkan support
Location: Vigo, Galicia

Re: GZDoom 4.6.0 released

Post by Marisa the Magician »

Congratulations on release. Glad to have contributed once more.
Warrex
Posts: 78
Joined: Thu Aug 08, 2013 2:00 pm

Re: GZDoom 4.6.0 released

Post by Warrex »

Congrats on the release!
Redneckerz wrote:Native sprite shadows (Which is a totally unique feature to have)
It is great to have it directly in the engine without having to use Nash's mod but Doom Retro has had shadows for quite a while now.
User avatar
Exl
Posts: 22
Joined: Wed Jul 01, 2009 5:22 am

Re: GZDoom 4.6.0 released

Post by Exl »

Great work! The sprite shadows are my personal favourite new feature this release. And while its not listed in the changelog, LOOP_ comments for Opus audio are now also supported to bring it up to par with other audio formats.
Warrex
Posts: 78
Joined: Thu Aug 08, 2013 2:00 pm

Re: GZDoom 4.6.0 released

Post by Warrex »

Yeah and this is also the first official release to support Apple Silicon natively. Too many changes in total I guess... :wink:

Return to “ZDoom (and related) News”