Please note that the survey is currently closed. GZDoom 4.1.0 does not include the survey code that 3.5.0 did.
Download (Modern, OpenGL 3.3 and higher) Highlights
- workaround buggy preprocessor in old AMD OpenGL drivers
- fix bloom pass regression
- fixed scale calculations for option menus.
- implement custom post process shaders for vulkan backend
- improve error handling during vulkan initialization
- fixed inverted logic for displaying the generic log in Strife.
Details
- remove 320x240 from the list of resolution presets
- enforce a minimum CleanXfac scaling in the menu to prevent accidental divide by 0's
- fixed: The WideString conversion function was missing a null check.
- consolidate minimum screen resolution so that it's easier to change
- fixed scale calculations for option menus.
- workaround buggy preprocessor in old AMD OpenGL drivers
- fix bloom pass regression
- fixed: ACS's APROP_ViewHeight needs to check if a real player is attached to a PlayerPawn.
- fixed: Replacing a text image with actual text may only happen if the text comes from the string table.
- implement custom post process shaders for vulkan backend
- fix uniform aligment bug for vec3
- Fix typo: add missing dollar sign in new stereo 3D submenu.
- workaround for drivers that bug by never acquiring an image
- fixed the calculations which decide whether to use an options menu for skills and episodes.
- Localization helper code for level names that haven't been exported to the string table.
- allow retroactive substitution of cluster texts
- improve error handling during vulkan initialization
- allocate new texture descriptor pool if it is full
- remove the 6 layer texture descriptor set limitation
- fix model shutdown crash
- fix model rendering glitch
- use Unicode font for deathmatch summary screen to bring it in line with the coop version.
- Full character-set for Esperanto orthography.
- use the Unicode font for the scoreboard.
- changed the filter name for Doom IWADs
- It's "doom.id.doom1/2" instead of "doom.doom1/2" now.
The config file's content will be renamed and for lump filtering a fallback has been added - note that you cannot combine both naming schemes! The old one has to be considered deprecated now.
This also removes the duplicated content necessitated by the old naming scheme.
- It's "doom.id.doom1/2" instead of "doom.doom1/2" now.
- allow all DHUDMessage calls to substitute SmallFont
- added VGA font support to the MessageBoxMenu class
- fixed: PlayerEntered for bots should occur after Level->DoReborn
- fix SubmitCommands bug if it no swapchain image was acquired
- allow the automap HUD to use the VGA font.
- removed unused mSmallFont.
- fixed redundant map name display on alternative HUD's automap HUD.
- allow using the VGA font for map name display on the alternative HUD.
- cleaned out the unneeded scaling hacks from the HUD messages.
- updated strings.
- removed the rather pointless hud_althudfont CVAR and the tiny piece of code it activated.
This was meant for using the VGA font in the alternative HUD but this never went beyond the Kill/Item/Secret display which isn't useful for localization. - allow all list menu items to fall back on the Unicode font for languages which are not supported by the bitmap font.
This allows the primary menus to display Korean text without any further special handling. - enable Unicode font on cast call.
- added generic font support for intermission text screen.
- changed text scaling for intermission screen to ensure that long texts are not cut off.
22 lines of text need to fit and to avoid packing the text too tightly onto the screen and have a little headroom, a virtual size of 400x250 is needed. - handle generic fonts on the summary screen.
- added a few more character fallbacks and fixed the StringWidth function
- added a "DeleteLumps" list to IWADINFO
This is for IWADs that contain content which clashes with the engine and must be removed. The primary reason are the unimplemented characters in Raven's BigFont. - prevent excessively bright pixels as this is actually visible on a HDR monitor
- apply vk_hdr immediately and delay initial swapchain creation until first image needs to be acquired
- change SubmitCommands to handle all parts of the present
- slightly adjust AcquireImage to avoid border cases in the spec
- fixed crash in GLDEFS parser caused by missing texture
- add raven bigfont exclamation points - and the spanish inverted one too
- added message about missing texture for material definition
- add optional hacx_gzdoom_stuff.pk3 to HacX's IWADINFO
- added generic font support to the dialogue system.
- fixed: Intel OpenGL did not quite recognize the "layout(location=0)" shader uniform definitions, so this had to be removed for OpenGL mode only so that Intel's compiler will continue to function normally for custom shaders.
- make the switch between game and generic fonts automatic by adding a key value to the language table
- fixed crash caused by broken saved game picture
- added the missing Ò for Doom's and Chex Quest's Smallfonts.
- added some UTF-8 utilities to FString.
- European BIGFONT for Chex Quest This covers French, German, Italian, Portugese, Spanish, and Swedish. Also adjusts the offsets of the inverted exclamation and question mark for Doom (so that they are in line with the colon sign).
- added Unicode aware MakeUpper/MakeLower functions to FString and ZScript's String and deprecated ToUpper/ToLower because their semantics did not allow fixing them.
- added CharUpper and CharLower functions to ZScript.
These, like MakeUpper and MakeLower, use the internal Unicode case conversion tables. - added monospacing support to Screen.DrawText and its native counterparts.
- make sure that the global and default language tables are always separate, if some other tables is being attempted to be filled in along with them, these tables should be ignored.
- when altering the default string table, make sure that all existing text for the given label is removed that comes from an older resource file.
If this isn't done there can be a mix of content from different sources, depending on the language. It's better to have correct English text than unfitting localized versions. - Added support for monospacing alignment modes to HUDFont / BaseStatusBar.DrawString (#810)
- Added support for monospacing alignment modes to HUDFont / BaseStatusBar.DrawString
- added underlying type declaration for EMonospacing
- replaced "#include v_video.h" with a declaration of EMonospacing
- Added "const" qualifiers to the new UTF-8-aware string methods
- Fixed conditions tested for when checking whether "Force respawn" or "Respawn protection" dmflags are enabled
- reimplemented player setup as an OptionsMenu.
- reset RF_NOINTERPOLATEVIEW when unpredicting a player.
- Russian Chex font Made by @JNechaevsky! Also includes a new hyphen symbol used for Russian.
- added all Latin letters to the Doom and Chex SmallFont for the Latin 1 Supplement plus everything needed from Latin Extended A for the WIP languages and a few more that were more or less waste products.
- change the wrap mode for custom textures in custom postprocess shaders to repeat
- implemented 'deletelumps' feature and add Chex Quest 3 texts.
- update glslang to 7.11.3113 (stable release February 8, 2019). This fixes the SPIR-V validation error reported for the shadowmap shader
- Move player crouch sprites.
- Czech BIGFONT for Doom
- add gl_ssao_debug mode showing the depth
- added Korean and Portuguese to the language menu Also add an English name in parentheses to Russian and Korean so that people not fluent in these scripts know what they selected.
- rename `vid_backend` to `vid_enablevulkan`. Also changed the CVAR from a 0-state enable to 1-state. So `vid_enablevulkan==1` enables vulkan now. This should be less confusing.
- rewrite depthblur.fp to workaround what seemed to be a bug in the NVidia driver
- add r_ticstability for a smoother experience playing mods with high think times
- Polish BIGFONT for Doom
- fix normal vectors on models
- fixed menu caption for languages which use the VGA font.
- adjustments to the player menu so that the display isn't cut off on the smallest screen sizes.
- improve shader error handling and attempt to remove some bogus declarations
- Portugese characters for Strife + minor BIGFONT fixes
- fix shader timer not always being applied correctly
- fix wrong model culling
- implement VKBuffer::Resize
- fixed: GetDisplayDeviceName must always pick a valid monitor.
- fixed radius use in dynamic light traversal for models.
- do proper checks for chat string length.
- fixed uninitialized variable in scoreboard code.
- reinstated the old clean scaling factor calculation just for the status bar.
- fixed a few developer warnings.
- re-added the menu option for wipetype which got lost in a recent menu reorganization.
- Improved Doom SMALLFONT
- removed InitPalette call from OpenGLFrameBuffer's constructor.
- fixed allocation mismatch in WildMidi.
- Dedicated Russian SMALLFONT for Chex
- change drawcalls to measure the Apply time rather than the individual draw calls (Apply is what costs something on vulkan while the draw call queuing is so cheap its an uninteresting thing to measure)
- change FRenderState to store directly to the StreamData struct. This simplifies the vulkan backend and also allows the OpenGL backend to use the same uniform block transfer strategy in the future.
- fixed inverted logic for displaying the generic log in Strife.
- fix wrong clamp mode used in OpenGL
- fix sampler array size on Vulkan
- do not mix game-specified fonts with the extensions for the stock version.
- fixed parameter passing for SetMarineWeapon and SetMarineSprite.
- always construct the original IWAD SmallFont. This is for printing localized messages without having to fall back on the VGA font.
- synthesize a font remapping so that the IWAD SmallFont can be printed in the same color as a mod's. This is for cases where the font needs to serve as stand-in for an incomplete mod font so that it better blends in.
- fixed outline color of most extended characters in the Doom SmallFont.
- only use the Doom SmallFont extensions with the commercial IWADs.
- automated the SmallFont selection based on a filter string in the language table.
- fixed string prioritization when a mod replaces the default language for a given string.
- fixed: The minimal window size was not calculated properly.
- Sort language options
Reorders the languages to appear in alphabetical order, adds an English keyword, and adds an accent mark to Portuguese. - added smarter font replacement logic to the confirmation screen.
- fixed the internal name of the original SmallFont to be different from the real SmallFont. This necessitated creating a separate font object, even if it has the same contents.
- added an OriginalBigFont as well.
- use Obituary for both Demon and Spectre.
- destroy SDL window on Vulkan to OpenGL fallback
- fixed: RenderCommand::isCompatible failed to properly compare the SpecialColormap.
- removed the MaxAmount fudging from MaxHealth.
- updated UFMF-spec for UTF-8.
- removed the leftovers of the removed savedamount variable.
- mark NewPlayerMenu as protected.
- fixed crash on JIT allocations over 1 MB
- fixed missing null checks in JIT generated code