GZDoom 4.1.3 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: 49182
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

GZDoom 4.1.3 Released

Post by Graf Zahl »

This release contains a fix to an exploit - please update as soon as you can!

Notice: There is currently no Vintage version planned for this release.

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


Download (Modern, OpenGL 3.3 and higher) Highlights
  • bug fixes for both zscript and vulkan (the vulkan renderer is pretty much complete at this point)
  • added native double round(double) 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


Details
  • cleaned up SDL mouse event handling
    • Right/middle clicking no longer cancels out the mouse motion events
    • The events for the side mouse buttons (EV_GUI_BackButtonDown/Up, EV_GUI_FwdButtonDown/Up) were never fired
    • The EV_GUI_WheelRight/Left events were never fired
    • The key bindings for mouse buttons above 3 (from 4-8) were broken - pressing MOUSE4 would bind to MOUSE6, for example
  • fixed access to wrong event data in SDL backend - Wrong button state event data were read on mouse motion
  • report implicitly initialized variable in code generator once
  • added implicit initialization of reused register variables in ZScript
  • added null check for self pointer before calling a native function
  • removed erroneous assignment of dialog reply
  • language update
  • check for presence of fonts in message box menu
  • fix loadgame crash
  • fixed hires texture lookup in Doomsday style .pk3
  • fixed the write barriers for the HUD message linked list. To ensure that no broken relations occur, any change in the list must be handled by a write barrier, not just the single message that gets added.
  • FXAA_DISCARD should never be enabled. It only works when the output framebuffer is the same as the original.
  • fixed PlaySpawnSound call in A_ThrowGrenade
  • Really fixed arrays of dynarrays this time.
  • Cephes code is released under BSD license
  • implemented GPU vendor string assingment in Vulkan backend
  • added a third state for cl_blockcheats. ==2 now blocks them silently.
  • added native double round(double) function
  • reset internal console state on clear CCMD 'last line needs update' flag cannot be set when console is empty as there are no lines at all in this case
  • Fixed uninitialized variable in case GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS does not exist. Old graphics (Intel Sandybridge Mobile, GL 3.0 Mesa) do not support this, therefore most of the time RFL_SHADER_STORAGE_BUFFER wasn't unset (I found no consequence of this on my machine, but better safe than sorry). Found out by Valgrind.
  • Fixed a buffer overflow with Timidity++ when playing Sigil e5m5 music.
  • Fix OBJ face normal direction
  • Inclusion of check symbol cmake's module.
  • Check for execinfo.h and add libexecinfo if needed Some systems (e.g. musl) do not have execinfo.h header. Check if libexecinfo (library that provides execinfo.h header and its functions) is installed in the system, and add its linker flag if needed.
  • Add support for musl-fts library
  • fixed fillSimplePoly for indexed data. On OpenGL this merely caused some visual glitches on the cheat automap - but the bad data in the buffer can make Vulkan abort entirely.
  • fixed crash when loading a saved game with unknown class During serialization, when map shutdown because of unknown class stored inside saved game may occur, level member is not assigned yet to already spawned thinkers
  • adjusted condition for ZScript global variable deprecation warning The message is always printed for any use of deprecated global variable If such variable is accessed inside a deprecated function from a core script lump, the message is printed only when verbosity level is set to highest
  • fixed missing deprecation warnings for ZScript global variables
  • fixed: version wasn't set for ZScript global variables
  • fixed code generation for ternary operator with vector result types
  • fixed crash on message output during decorate parsing Script position is now initialized at the very beginning of decorate parsing process Script position no longer contains uninitialized file name
  • Improved SMALLFONT letter Ч for Doom In its past appearance, the letter was based on the number 4, which looks inconsistent among all letters. This new one is a modified Y.
  • fixed conversation links with pages referenced by name
  • fixed 'Pause by <playername>' message in multiplayer
  • fixed wrong native call for Actor.Vec2Offset()
  • fixed character position assignment for multi-lump fonts
  • Fixing crash when loaded module, using proper function liberate them.
  • fixed loading of 32-bit TGA textures with alpha channel
  • removed array length() function from shadowmap shader
  • create a new error class for vulkan errors as they are only recoverable during initialization (unlike CRecoverableError which is recoverable during normal processing)
  • improve vulkan errors by including the status code returned by vulkan if they fail
  • add some debugging information for GZSDF pagenames feature
  • do not pass TObjPtr<> instances as ScriptUtil::Exec() arguments There was no read barrier inserted for AActor object while it's a subject of garbage collection Pointer stored in TObjPtr<> was reinterpreted as void* because of vararg function
  • fixed bad statnum in Light_Stop.
  • fixed text color setup for added console message.
  • allow certain replacements to be valid for CanPrint The Romanian letters with comma below, the second Greek Sigma variant and a few special Cyrillic letters have replacements that should not result in rejection.
  • don't run the custom shaders twice on screenshots
  • apply present shader on screenshots
  • made the colorset names and the texts in the color picker localizable.
  • fixed erroneous texture mipmapping in Vulkan render
  • implemented subtitle display for Blackbird's voiceover messages.
  • implemented subtitles for intermission slideshows.
  • changed menu scaling so that on 1366x768 a factor of 2 gets used.
  • renamed misplaced characters.
  • added European Portuguese to the menu. This is sufficiently complete with only some intermission texts and the Strife dialogues falling back to the Brazilian version.
  • Raven smallfont fixes
  • Force STATIC for internal GZDoom libraries
  • improved control over MoltenVK logging capabilities
  • added missing Latin characters to the Raven small font.
  • made "netevent cannot be used outside of a map" message a warning
  • added a crosshair on/off toggle
  • use one render pass for the entire scene or until postprocess or command buffer flushing forces it to end
  • avoid creating a new render pass if a pipeline bind will suffice
  • centralize how image transitions are done in the vulkan backend
  • transition scene images used for the screenshot to color attachment optimal before rendering to them
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.1.3 Released

Post by Major Cooke »

I'm extremely happy this contains the .OBJ triangle face inversion fix. :mrgreen:
User avatar
Cherno
Posts: 1321
Joined: Tue Dec 06, 2016 11:25 am

Re: GZDoom 4.1.3 Released

Post by Cherno »

Thank you, great work as always! :wub:
Beezle
Posts: 139
Joined: Thu Aug 16, 2018 6:48 pm

Re: GZDoom 4.1.3 Released

Post by Beezle »

Thanks for all your hard work and consistent updates. Great job you guys, this is why GZDoom is one of (if not THE) best engines out there:)
User avatar
Rachael
Posts: 13789
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: GZDoom 4.1.3 Released

Post by Rachael »

Mac and Linux builds posted.

Beezle wrote:Great job you guys, this is why GZDoom is one of (if not THE) best engines out there:)
Thanks!
User avatar
Enjay
 
 
Posts: 26571
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: GZDoom 4.1.3 Released

Post by Enjay »

Just echoing the thanks of others. The work that is being put in on GZDoom these days is, I believe, second to none. The port is going from strength to strength and maintenance updates like this one provide some very welcome fixes and increased stability & security.

Thank you.
User avatar
Apeirogon
Posts: 1606
Joined: Mon Jun 12, 2017 12:57 am

Re: GZDoom 4.1.3 Released

Post by Apeirogon »

This release contains a fix to an exploit
Another "overwrite any file in the system" exploit?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49182
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: GZDoom 4.1.3 Released

Post by Graf Zahl »

No, more like an 'overwrite any object in the game' type of exploit. Please understand that we won't go into details so that the jokers don't get any ideas to inflict harm on users who still need to use an older version.
User avatar
Rachael
Posts: 13789
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: GZDoom 4.1.3 Released

Post by Rachael »

If you downloaded the Linux builds from this site, please redownload again. The packages were missing zd_extra.pk3 which is important (though, not critically) because it had language updates.

If you used apt to install GZDoom with DRD Team's repo, you don't have to worry because it will get the fix automatically.

Alternatively, you can install it manually with the attachment in this post if you don't want to redownload the whole package. The file must be replaced using "sudo" or your root account, and it goes into the folder "/opt/gzdoom/".

(example shown here:)

Code: Select all

cd ~
wget https://forum.zdoom.org/download/file.php?id=35511 -O zd_extra.pk3
sudo cp zd_extra.pk3 /opt/gzdoom/
You do not have the required permissions to view the files attached to this post.
User avatar
NightFright
Spotlight Team
Posts: 1375
Joined: Fri May 02, 2008 12:29 pm
Location: Germany

Re: GZDoom 4.1.3 Released

Post by NightFright »

Not sure why it happens, but with like every second build (including this one), the 4-Point Sync OpenAL resampler doesn't work for me. I notice when it shows the red warning message during startup. You then need to go and switch to Cubic. With the next build it's often the opposite: Cubic is gone and you need to switch to 4-Point Sync.
_mental_
 
 
Posts: 3819
Joined: Sun Aug 07, 2011 4:32 am

Re: GZDoom 4.1.3 Released

Post by _mental_ »

Windows builds of GZDoom 4.1.1 and 4.1.2 (64-bit versions at least) were shipped with version 1.18.1 of OpenAL Soft.
This one is bundled with 1.19.1. GZDoom 4.0.0 and 4.1.0 also use this version.
As there are no such warnings for me, you can try different versions yourself to confirm that.
User avatar
NightFright
Spotlight Team
Posts: 1375
Joined: Fri May 02, 2008 12:29 pm
Location: Germany

Re: GZDoom 4.1.3 Released

Post by NightFright »

Indeed, it depends on the version of openal32.dll I use. Easiest solution is probably to just stick to one version of the file and avoid updating it to prevent such fluctuations. Thanks a lot for the hint!
User avatar
Rachael
Posts: 13789
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: GZDoom 4.1.3 Released

Post by Rachael »

Versions 4.1.1 and 4.1.2 were shipped with OpenAL builds from my QZDoom devbuild creator. I was informed those were out of date, so I dumped Graf's 4.0.0 dll's into that same environment and 4.1.3 was built with those, instead.

That is the reason for the version fluctuations.

If there is an issue and I should be sticking with the older OpenAL's, it's not much of an issue to update the download archives accordingly.
User avatar
NightFright
Spotlight Team
Posts: 1375
Joined: Fri May 02, 2008 12:29 pm
Location: Germany

Re: GZDoom 4.1.3 Released

Post by NightFright »

Well, I dunno which resampler sounds better - depending on the dll, you can either have Cubic + 11-/23-Point Sinc or 4-Point Sinc.

Return to “ZDoom (and related) News”