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