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