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
[/list]
Last edited by Graf Zahl on Sun Jan 05, 2020 2:08 pm, edited 2 times in total.
Great news with the new rendering backends if this means that GZDoom can start on lesser hardware again. What does this mean for LZDoom? Is such a fork still needed?
Nash wrote:Great news with the new rendering backends if this means that GZDoom can start on lesser hardware again. What does this mean for LZDoom? Is such a fork still needed?
If people still want the hardware renderer on such systems, slow as it is...
Aside from that, I believe most LZDoom users use it because it retains the old menus, not because it supports older hardware.
... Except, dammit, right after I figured out how to handle deep-copying the AST to fix the mixin bug >.>
Should've mentioned it here and asked you to wait a bit before I went to sleep >_>
Guess it'll have to be in 4.3.1 :P
Aside that, congratulations on the new release. I may soon be able to run the full fat version due to a new PC build ill be recieving, from which ill add a GT1030 or something.
Thanks for the oodles of work that went into this, as always.