Releases: ZDoom/gzdoom
GZDoom g4.6.0
- Account for portals when spawning missiles in A_FireBullets/A_CustomBulletAttack
- fixed return type of Actor.GetCVarString()
- update widescreen submodule
- strip trailing spaces off the lines for intermission texts.
- gave the Raven invulnerability items the BIGPOWERUP flag to ensure proper respawning behavior.
- change switch checking back to vanilla order.
- use stb-image to handle PNGs with 16 bit color channels.
- do not use M_EPI1 and M_EPI2 in any Doom 2 context.
- fixed: explicit float to int casts should not emit truncation warnings.
- tweaked Hexen's weapon pieces so they do not floatbob into the floor with the hardware renderer.
- moved the handling of ending PowerWeaponLevel2 into PlayerPawn.Tick and restored the immediate weapon switch.
- never run the shader timer on the 0th frame. fixes this bug: https://forum.zdoom.org/viewtopic.php?f=2&t=62693
- backend update from Raze.
- fixed time positioning on stat screen.
- pick the proper dot for cutting off the extension in ExtractFileBase.
- added proper string labels for Doom 2 episodes.
- let the CSV parser for the string table handle hex escapes.
- added a few missing statusbar constants-
- don't display keys on the HUD in deathmatch.
- fixed A_CheckTerrain's check for instant death sectors. This was still checking the sector special even though this had been reactored 5 years ago.
- fixed: The PrisonPass's TryPickup method did not properly report successful pickup.
- make the title music only play once, unless a real demo is successfully played.
- SDL: Report Vulkan initialization errors
- give the first 16 DEHEXTRA states proper content.
- make `DI_ALPHAMAPPED` change the style to `STYLE_Shaded` in the status bar drawer
- missing key scan code constants added.
- Screen.ClearScreen and Screen.SetScreenFade script exports.
- PushV function for int and string arrays.
- change `vid_allowtrueultrawide` - -1 allows for any arbitrary ratio for hud aspects, 0 changed to old behavior (max 16:9), 1 changed to old behavior except at 21:9, 1 is now the default.
- `vid_allowtrueultrawide` is now placed in game-specific config, instead of global.
- Don't print the weapon tag if the game is paused
- Allow settable render styles for status bar drawing functions DrawTexture, DrawImage and DrawString
- Made OptionMenuSliderBase::IsGrayed virtual
- Default Heretic's, Hexen's and Strife's default screen wipe styles to match their original counterparts.
- Add sprite shadows for the hardware renderer
- Add sprite shadows for the software renderer
- Expose level_info_t to scripting + helper functions.
- Allow ACS SpawnDecal zoffset and distance args to be fixed point
- Add Polyobj_StopSound special
- handle empty command names when getting key binds
- Don't warn about UDMF comments or user fields
- allow AddPoly for 2D drawer without index buffer, treating the data as a list of triangles.
- filter out macOS resource fork data when loading Zips.
- added a A_SetFriendly function
- remove Vulkan button on startup if Vulkan compilation is disabled
- Fix crash with fog and software light modes.
- Removed depthClamp requirement (note: portals will not render correctly on such devices)
- set libADL and libOPN bank settings (only) to game specific
- A software implementation for gamma, brightness, contrast and saturation effects on SoftPoly. Based on original code by @dpjudas, thanks for the code.
- Bug fix in invulnerability in Doom Software Render Mode and True Color SW Render in SoftPoly.
- Don't let the game start if the saved game passed to -loadgame is invalid. the - improved multithreaded rendering for the software renderer.
- Make i_timescale cvar virtual. Changing i_timescale in a netgame would cause its callback to recurse
- into itself infinitely. CVAR_VIRTUAL prevents this.
- Fixed crash with voodoo dolls in MP after players quit the game.
- account for KEEPDEPLETED flag when destroying items with InterHubAmount of 0 upon leaving a level
- Fix camera texture aspect ratio in hardware renderer
- Add missing tag for Strife's KneelingGuy.
- New letter И for Strife
- Add GetCharacterName() to retrieve an NPC's name as defined in its dialogue script, if it exists. Otherwise it will just return the same output as GetTag().
- Add tag properties to Strife's enemies.
- removed config updates for pre-GZDoom versions of ZDoom.
- adapt mod_dumb_mastervolume to the increased default volume in ZMusic.
- do not sort level names in the statistics output when saving. Instead do this when creating the data to avoid trashing manual edits. The old sorter resorted all data loaded from the old file as well.
- print a message if saving the statistics file fails.
- implemented replay gain calculation and management. This is done entirely on the streamed sound data, unlike the old relative volume which uses the backend's volume setting.
- Show subtitles for the Entity's greeting lines in Strife.
- Fix crash with wind effect on special water sectors.
- Add SetSubtitleNumber(int num, str sound) ACS function. Works exactly like its ZScript counterpart. The activator of the script must be a player.
- bumped CMake version to 3.1.0 in all projects to reduce warning spam in recent versions.
- escape double quotes in Cocoa IWAD picker's extra arguments
- Fix random crash when travelling between hub maps in multiplayer.
- ported Eternity's Line_QuickPortal
- fixed memory leak in UDMF loader.
- DrawRotated function for status bar.
- Fix portals not working in softpoly (#1323)
- Add a null check in PlayerPawn::CheckFOV
- added m_swapbuttons CVAR for the Windows RawInput and DirectInput backends. The problem I discovered is that these backends do not respect the GUI-side system setting for swapping the buttons, so this needs to be done in-application so that swapped buttons can behave the same in the menu and the game.
- Don't make the switch that reveals the computer core in Strife MAP15 to be repeatable.
- fix: MBF's A_Spawn DEH codepointer should use misc2 as spawnheight, not distance
- adjust defaults for DEHEXTRA states to match other ports:
- Properly abort the program if the SDL window can't be created at all (#1296)
- Dynamic number of models per frame instead of a hard limit of four. (#1298)
- Made Strife NPC's dialog voice audible for all players.
- Fix player not being able to talk to a Strife NPC during netplay, if another player talked to that NPC first. (#1312)
- restored sound-related developer messages
- SoftPoly: Fixed the md3 models, you can now correctly display the frame of the model, in addition, interpolation is added to the model.
- Add missing ZScript constants for the Strife targeter PSprite layers
- SoftPoly: Fixed the screen turning white with invulnerability sphere in Doom and in Heretic avoiding color errors in some pixels when activating the "ring of invincibility". (#1307)
- Added a new intrinsic for class pointers to check if the class is abstract (#1308)
- remove doom2 from the wadsmoosh filter in iwadinfo
- Fixed sprites were not affected by dynamic lights on SoftPoly.
- fixed missing 'player left the game' message
- Softpoiy: Fix black wall sprites
- Softpoiy: Fix line portal clipping bug
- add `-noautoexec` command line parameter to disable the execution of autoexec.cfg files
- add Pi and some other constants to ZScript (#1304)
- Fix Additive Shaded renderstyle for UDMF things bugged
- backend update from Raze.
- another wallsprite crash fix: https://forum.zdoom.org/viewtopic.php?f=56&t=71450
- Add support for zero size buffers as the hwrenderer uses that!
- Fix crash when trying to open unreadable IWAD files
- Fix crash when following symlinks to nonexistent IWAD files
- fixed incorrect extension of overridden function prototype. Prototype of overridden function with optional argument(s) missing could extend unrelated prototype of previously defined function when their arguments and return value(s) match
- Fix dancing sprites regression
- fixed uninitialized global rolloff in sound engine. Depending on SNDINFO definitions, type of global rolloff could left uninitialized, and linear rolloff might be treated as logarithmic
- fixed: FTextureManager::ReplaceTexture did not calculate the upscale flags.
- add "hidepartimes" MAPINFO/GameInfo property
- Hitscan attacks can now hit SPECTRAL actors if the hitscan puff has SPECTRAL flag set
- Add progress bar for SDL backend
- Fixed "Messages ON" not being printed.
- added initialization of linked sectors. Resizing of linked sectors arrays during serialization could lead to processing of pointers to junk data
- Fixed nodes were not rebuilt after loading broken extended nodes.
- vid_aspect is now set to change to 21:9's ACTUAL aspect - 64:27
- screen elements now scale to 64:27 properly. to restore classic behavior, set cvar `vid_allowtrueultrawide` to false
- Fix ScriptCall missing default arguments
- Add alternate "Full" mode for PowerIronFeet that prevents leaky damage.
- Fix ALWAYSFAST actor flag.
- Side By Side Letterbox Display mode (#1255)
- add sv_instantreaction dmflag
- Fixed: Monster reaction time was always zero with fast monsters and not just on nightmare.
- fixed incorrect sound definition for DSMANATK in Dehacked.
- Fix the "Max" constant being incorrect for unsigned int types.
- add new detection hashes for newer versions of nerve.wad
- update $musicalias to allow iwad remapping when used from game_support.pk3
...
GZDoom g4.5.0
- For all of Doom's fullscreen images there's now widescreen versions provided. The other games are still being worked on and will be added later when they become available. All new images were created by Nash - this does not use any of the versions from the Unity port.
- A simplified options menu is now available for quick setup of the important settings.
- New keybindings presets. Users can now choose between the classic layout and a WASD-based one
- Menu and intermission screen now scale to the original Doom.exe's layout by default.
- major additions to the menu system - animated menu transitions, image slideshows and fixed size menus can now be created.
- the console now uses the border flat as default background instead of the titlepic.
- it is now possible to fully quit the fullscreen console and get back to the title loop.
- various enhancements and fixes for ZScript.
- Interpolate positions and angles in the automap for smoother appearance
- Added $PitchSet for SNDINFO.
- allow indirections in the string table by prefixing the language string with '$$' the remaining text is interpreted as another string label to resolve.
- optimization of the patch texture checker - do not read in the entire file if checking the initial header is sufficient for rejecting it. This can speed up loading of large mods quite significantly.
- MIDS-format MIDI support
- OPUS support, courtesy of an updated libsndfile.
- libADL/libOPN update
GZDoom g4.4.2
- fixed: Inventory items that are terminated by GoAwayAndDie must be removed from the blockmap and sector lists.
- added missing target check to A_RadiusDamageSelf.
- use a full ClearScreen when drawing fullscreen images.
- fix crash in nullptr access to DFrameBuffer object 'screen' if it is uninitialized
- add "restart" button to error pane in Windows
- add keyboard accelerator shortcuts to many Windows-specific dialogs
- fixed some issues with setup parts for ZScript in the wrong place.
- let blastradius work without an effect actor.
- fixed: AActor::GetModifiedDamage must account for the inventory items to get destroyed in its scripted subfunctions.
- fixed: FGameTexture's GlowHeight was not initialized.
- fixed: the attenuation flag wasn't passed to the shader if shadowmaps were disabled.
- fixed bad range check in shadowmap code.
- Fixed: check for bad sidedefs was not taking into account sidedef compression.
- backend update from Raze.
- fixed: The scale vector for detail maps was not passed to the shader.
- fixed: The flags for texture colorization were not passed to the backend.
- fixed: The scissor rectangle must be clipped to the upper left edge of the screen.
- fix missing terminator in vk_shader.cpp on #ifdef guarded line.
- made the new Build light mode operational
GZDoom g4.4.1
added a CCMD that lists all CVARS which don't have a description.
mapped "Smooth mouse" back to m_filter CVAR and removed smooth_mouse.
Fix compilation on DragonFly BSD
fixed code that deternines when to upscale a texture.
fixed fallback lookup for multipatch textures referencing themselves as patch.
fixed the burn shader.
do not allow playing sounds during PlayerFinishLevel.
added 3 more texture samplers to the shaders to compensate for the now always occupied slots for brightmap, glow and detail.
fixed calculation of allocated memory for garbage collection
since we already got lots of CVAR descriptions from the menu's content, let's use that as CVAR description if none is explicitly provided.
fixed bad bit operations when calculating the base palette remap.
fixed: The mutipatch texture builder did not set the source lump.
fixed: When reopening a lump, the full file name must be used.
fixed crash with texture upscaling in the truecolor software renderer.
Fixed crash rendering 3D floors without ceiling or floor textures in software.
Fixed wrong MINDEMOVERSION which was committed in 95f4479
Fix Bag of Holding not increasing Firemace ammo capacity
fixed compilation of non-x86 targets
GZDoom g4.4.0
Hotfix: LineTrace now reports the correct number of portal crossings.
fixed incomplete disabling of number field menu option
tighten rules for action functions called from Decorate
fixed: The full dotted lump filter string was never used.
fixed (un)morphing of more than one actor from ACS
fixed setup of JIT functions that require extra frame space
make various getter and pure-math methods clearscope, and where applicable, const
fixed offsets for hires replacements of already scaled textures.
Fix compilation on NetBSD
manually merged PR for kill count in Requiem MAP23.
there is no mace ammo in the bag of holding.
fixed texture sampler generation in the Vulkan backend.
added per pixel lighting for decals.
fixed incorrect offsets for textures in the hires/ folder.
advanced coordinate control for overlays over DTA_Fullscreen images.
fixed: the last frame of the intermission screen wasn't rendered.
added support for replacing the intermission backgrounds in Doom 1 with widescreen images.
fixed font selection on intermission screen.
fixed crash with texture upscaling in the software renderer.
Add option to disable SDL joystick support.
added a compatibility option for a bad teleporter in the final Strife map.
redid mouse control for the conversation menu.
fixed some double to float conversion warnings.
enabled CVAR descriptions.
Strife dynamic light tweaks by ReaperAA.
fixed: vertically mirrored textures should not be subjected to empty space optimizations because the algorithm cannot deal with the inverted case.
fixed: the 3D floor processing code in the renderer did not restore the render style after finishing.
made some changes so that material definitions can properly check automatic layers when determining their material type.
Fixed OpenAL regression with looping sounds with playing length 0.
Allow dialogs to be displayed on other Unix-like OSs
fixed floorclipping checks for 3D floors.
Strip out any color escape sequences before setting a window title.
reject all 0-special lines for activation.
use modulo, not bitwise and-ing to check the damage delay for terrain based damage.
fixed: Copying a texture's size must also copy the offset.
fixed scale setup for multipatch textures.
fixed missing custom shader setup in cases where a shader got used more than once.
make sure that incomplete multipatch textures are technically complete.
Add a cvar to control weapon bobbing while firing
Fixed crash on maps with out of range sidedef and sector numbers, adapted from PRBoom.
removed redundant TextureFilterChanged method from DFrameBuffer.
texture sampler cleanup.
don't let CHANF_AUTO hijack other channels.
more descriptive message for server CVAR change attempt in netgame
removed entry for non-functional linear tonemap.
fixed fullscreen toggle via shortcut
fixed space calculations for oversized episode and skill menus.
fixed: The size parameters for automap sprites are floats, so they need the matching tag.
fixed setup for translated textures in Vulkan.
Single image fonts do not use translations.
fixed: texture upscaling was disabled by default.
fixed shader building.
fixed: V_GetFont must load the translations once the game has been set up.
fixed: TRF_ALLACTORS did not consider actors without any flag being set.
added missing range check to section code.
fixed use of Powerup.Strength in PowerInvisibility.
fixed bad Heretic light definitions.
fixed missing sound for Polyobj_MoveTo.
Add mapinfo option to disable merging of identical pickup messages on same tic
attenuated lights for Strife.
fix "'Dictionary' is freed outside the GC process" warning
fixed map things erroneously treated as polyobject anchors/spots
restored warning about missing aiming camera target
Fixed an issue where multiple invulnerability powerups could cancel each other out from just one expiring.
export common formulae to functions instead of copy-pasting them
screen bevel now enlarges also when screenblocks <= 11
make intermission and status bar scaling game-specific in the config
add scaling customization for classic ui flat scaling
make screen border flat scale up
inter_classic_scaling now defaults to true
fixed: last commit I accidentally left hardcoded testing values and did not change them back to check for the texture's original size
implement cvar 'inter_classic_scaling' to render the intermission flat as if it were 320x200
force player respawn to call up the player's default class settings before determining where to respawn the player
Add optional direction parameters for SprayDecal and its A_SprayDecal zscript counterpart
Revised Serbian characters Ћ/Ђ
fixed: screen resolution changes did not notify the 2D drawer.
fixed secondary ammo display in strife status bar
Fix bouncing missiles not dealing damage when hitting top/bottom (#1068)
Add option to invert mouse x
Add an alpha parameter to StatusBar.DrawBar
moved benchmark fps output to the custom part of it because it depends on game data.
fixed ZScript compiler crash with dereferencing null pointers
moved the frame rate drawer out of DFrameBuffer.
did a bit of cleanup on DFrameBuffer, most notably taking GetCaps out of it. With the old softpoly renderer and OpenGL 2.x being gone there is no more need for such complex handling, it is now a single function in d_main.cpp.
Added MTF_NOCOUNT to spawn flags
split voxels.cpp into a backend and a game dependent part.
made FModelRenderer game independent - the 3 functions in question may just be global functions instead.
changed shadowmap setup so that the AABB tree is owned and controlled by the map, not the renderer.
changed the light parameter of ShadowTest to a position vector.
cleaned up the dependencies in the model rendering code and separated it into game-independent and game-dependent parts.
clean separation of vertex creation from map data and the buffer object.
made the portal state global, outside the framebuffer, because it is pure logic state without dependencies on the backend.
took the setup functions out of FDynLightData - there is no need to have them as members and they age game dependent.
moved RenderView out of the framebuffer classes to complete the consolidation of the renderer's entry points.
reworked canvas texture updater to avoid passing game data to the render backends.
consolidated the savegame picture code.
consolidated the 3 RenderViewpoint variants and took the function out of the framebuffer class.
consolidated the 3 virtually identical instances of DrawScene and moved the function to HWDrawInfo.
moved the render interface functions out of FGLRenderer into OpenGLFrameBuffer.
fixed: hwrenderer materials were nullptr checked but the pointers were not always properly initialized
fixed crash when loading saved game that has no music
added validation of game skill when changing a level
fixed potential crash on intermission cast screen
set all texture IDs after finishing the initial texture manager initialization. As it turned out, not all textures have a valid ID at that point so it needs to be redone.
block off the Substitute function by making it private to the 3 classes that really need it.
let TeleportSpecial universally map to Teleport when checking action special names.
apply aspect ratio compensation for all fullscreen images with a height of 200 and 400, and not just to 320x200 and 640x400.
fixed incorrect value range for particle's depth value, used for sorting.
made 3D floor damage transfers optional by adding a new flag bit (2048) and made that mode automatic for the old ZDoom-based light only transfer special.
fixed keybinding reader - before trying to load DEFBINDS the lump index wasn't reset.
removed the "no IWAD definitions found" error message because the condition it checks for is not an error.
fixed setup of IPK3's where all content is in a subdirectory.
fixed texture layer management so that each material layer can decide for itself if it wants to allow upscaling.
rewrote the hardware texture precacher to use the new texture management to properly track the data to delete.
store the Vulkan descriptor sets in the material - where they belong! Having them in the base texture object was a major maintenance issue.
store the material layers in reference counted pointers in the FGameTexture object.
major refactor of texture upscaling control. All decisions were done deep inside the texture creation code, leaving zero options to the higher level code for controlling the feature.
moved the decision whether to upscale textures up one level in the function chain. Still not the perfect place, this should be decided before creating the texture, not in the middle of the process.
disabled the selective texture cleaning in the precacher. The logic here turned out to be a serious blocker and needs to be rethought.
allocate the sprite positioning info on demand only.
Moved the raw texture handling into the texture manager as well.
moved the front layer hack for Hexen's skies to the texture manager.
moved the handling for paletted replacements into the texture manager.
use FGameTexture instead of FMaterial for texture tracking in the hardware renderer.
moved the sprite positioning info out of FMaterial back into FTexture.
scale the automap parchment to clean 320x200 dimensions.
made 'supportRemap0' an image property so that the handling for this can be taken out of the actual texture class by just providing a replacement texture for the skies.
decoupled the software renderer entirely from FTexture - it will only look at FSoftwareTexture now, all access to the texture manager has been wrapped.
texture code refactoring to consolidate multiple textures referencing the same backing image.
handle brightmaps in the main shader instead of keeping separate instances around.
added detail and glow layers from Raze.
fixed material setup which could not guarantee that everything was initialized correc...
GZDoom 4.3.3
- fixed resetting of music volume after closing dialogue
- exposed Level.MusicVolume to ZScript
- fixed calling a function on string CVar
- added ability to filter VM disassembly dump
- add check for unity version of Nerve.wad
- infrastructure in place in case Nerve.wad changes again, this can be extended
- customized invulnerability colormap does not interfere with Powerup.ColorMap
- precache a few sounds being referenced in common game code.
- define misc/secret for Hexen, too. By now there are some mods defining secrets for the game so this sound should be present there.
- Implement special colormap support for softpoly
- Softpoly: Fix broken fixed camera light for walls
- make nosave standalone CVar flag, alongside server and user
- implemented screenshots in softpoly backend
GZDoom 4.3.2
- fixed Linux and macOS implementations of I_FindAttr()
- implement player setup background by Enjay
- fixed uninitialized variable in OPL song. Mono streams could be erroneously treated as stereo, doubling their playback speed
- compatibility workaround for using Scroll_Texture_Model with a line id of 0.
- store CVARs non-destructively in savegames.
- added missing render style constants to ZScript.
- fixed A_PlaySound() called from Dehacked
- fixed: The directory scanner for reading a directory into the WAD file system and ScanDirectory were not Unicode capable on Windows.
- added ML_NOSKYWALLS and ML_DRAWFULLHEIGHT
- restored old values for CHAN_... constants
- add support for new Bethesda.Net Unity Edition wads
- added workaround for GLSL noise functions on macOS
- added ability to use static SDL2 library
- fixed invalid context warnings with Cocoa backend
- removed obsolete softpoly render modes from menu
- fixed resolving of music aliases with full filenames
- fixed erroneous override of default language strings
GZDoom 4.3.1
- fixes a couple of critical issues in 4.3.0 - moves colorization feature to correct file (gldefs) and disables default blocks in mixins since they currently do not work.
GZDoom g4.3.0
PLEASE DO NOT DOWNLOAD. THIS RELEASE HAS A SERIOUS ISSUE!!!
*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 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
GZDoom g4.2.4
This is a bugfix release addressing the following issues:
- Fixed stretching for 256 and 240 pixels tall skies in software.
- fixed broken walkthrough of Restoring Deimos MAP07
- Fixed a bug in the flagdef processing code.
- adjusted collision detection for item pickups. Use vanilla condition for a thing with MF_SPECIAL flag to fix inability to grab it when item's top is at the same height as sector's floor from it can be picked up
- fixed localization support for intermission texts
- fixed radius attack that may inflict damage twice
- sort CVAR output in config alphabetically instead of randomly dumping them in their internal order.
- Fixed ZScript's Screen.DrawLine using the wrong color when drawing pure black.
- fixed missing frames for Hexen's fighter's axe attack without mana
- fixed usage of uninitialized object in BlockLinesIterator
- removed hardcoded width limit for screenshots
- Fixed dynamic arrays as function arguments.
- added Visual Studio debugger visualization for several types
- do not accept read-only variable as out argument
- fixed variable's stack offset for implicit dynarray clearing
- Fixed Vector2/3 out parameters in the ZScript compiler.
- added explicit clearing of global VM stack. When exception is thrown from JITed code, VM stask isn't cleared during unwinding.
- fixed typo with D'Sparil's serpent attack in lights.pk3. https://forum.zdoom.org/viewtopic.php?f=2&t=66177
- fixed bad application of translucency in the software renderer
- Scythe MAP22 Compatibility fix