Fix OpenGL shader to work with Apple's buggy GLSL compiler
Resolve compiler warning about deconstructor syntax
Added (SPF_)STRETCHPIXELS - for actors, makes rollsprites levelstretched, for particles, puts them back to the original stretch math as before, optional opt-in flag
enable console subsystem for Windows with runtime detection - compiling GZDoom as a console app now shows printf's in the terminal that launched it like in Linux and Mac OS.
allow getting checksum for current map
add null check for canvas
fov scales ortho
sector damage code reverted due to some critical bugs, feature will be in next release
(note: Linux AppImage is not being published, for now, due to issues, same with Linux Portable)
Highlights:
Added pistol start gameplay option
A few ID24 spec implementations, adds support for new Bethesda DOOM + DOOM II re-release and Legacy of Rust
Several multiplayer network fixes, especially with prediction
some savegame fixes, should now be able to delete them on windows
add Extra Parameters to iwad selection box
iwad selection box now always shows unless one of the following is true: it is disabled, -iwad is used from command line, or you load in a gameinfo that suggests an iwad
add mbf21 and mbf21 (strict) compatibility presets
particles and rollsprites are now square
ZMusic update, allows selecting a new module player
forced-perspective sprite clipping (limited ability for sprites to render under the floor)
Instead of going through a global callback function set the string table's default gender at the start of each frame
Exported FTeam getters
Added PSpriteTick virtual
ZWidgets: disabled SetClientFrame.
dynamically import GetDpiForWindow from USER32.dll, else return a default value
optimized last commit to not retrieve the function repeatedly if it has already failed.
Fixed local copies of items not respecting their Amount value
moved the NetworkEntityManager into the backend code.
fix lifetime of skyinfo variable in HWWall::SkyPlane.
ZDRay specs fix
`-norun` now implies `-stdout` on Windows as it's useless without it
fixed: rollsprites now 'unstretch' properly in regular y-billboarding
demote SDL_Wait errors to console printouts
shorten sdl_waitevent error message
Interpolation fix for network prediction
Fixed incorrect automap arrow position in multiplayer
Fixes for client network IDs
View fixes when predicting
Fixed changeskill being unnetworked
Player spawn fix in co-op new games
Reworked clientside lerping
Added ShouldShareItem virtual
Add graycheckVal, expose hud_oldscale/hud_scalefactor to the menu
added emulation of Final Doom's teleporter z glitch and activate it for Saturnia MAP10
fixed bad network ID assignment.
Interpolation fix for network prediction
fixed: AActor's members must all be native.
Fixed "PrivateNetOf" function not checking for the entire B class private network range
fix lifetime of skyinfo variable in HWWall::SkyPlane.
Fixed prediction not calling virtual Tick function
Fixed desync in Heretic
Fixed ViewPos not properly backing up when predicting
Fixed weapon slots not resetting on unmorph
restore old fadestep behavior if SPF_NEGATIVE_FADESTEP is not passed in
Added missing checking for LOOKALLAROUND.
fixed: for deleting files and folders on Windows we have to call the Unicode variants of these functions.
fixed: The savegame's PNG loader must use a caching FileReader to avoid holding a handle to the containing file.
strip spaces from language labels.
don't abort when parsing the Steam config fails.
fixed GL nodes loader for maps loaded from mounted folders.
add mbf21 and mbf21 (strict) compatibility presets
make particles square
always show iwad picker, offer option for forks to hide picker by default.
make roll sprites square
Ability to add extra args on all platforms similar to how Mac OS always had it
fix CheckParmList
Fixed unmorphed Actors still ticking
don't show secret-flagged linedefs with special color on am_cheat 4 and above
Provide a diagnostic message for the two 32-bit related static_asserts
partial fix for `FString::IsInt()`
Fix invisibility affect on enemies
Added subclassing for use commands
Inventory item spawn fixes
Network messages will now show usernames instead of just numbers
Added ChangeTeam function for teamplay
Added missing player retranslation
Scriptified the view squatting.
Narrow the Launcher check box clickable areas to stop overlap and fix #2558
Fix memory leak on TDeletingArray move assignment
Rework named arguments
restrict new relaxed named arguments to zscript >= 4.13
Fix A_SetAnimation
Rename SourceRadius to SoftShadowRadius (to match VKDoom)
Add X, Y and Z offsets for VOXELDEF. Needed for voxelized weapons which would typically be very large and take up the majority of the 256x256x256 canvas, therefore making precise positioning of the models relative to the screen pretty much impossible without tweakable offsets.
Added SPF_(NO)FACECAMERA flagst for specifying camera facing on particles and visual thinkers.
Added SPF_ROLLCENTER for particles and visual thinkers.
Fixed Pre(Un)Morph being called out of order.
Turn on the output limiter
add COMPATF2_NOACSARGCHECK to disable ACS function argument count checks
add total chaos retro and full maps to compatibility.txt
Add missing GC write barrier
Misc network fixes
handle freeze in decoupled animations
Fix directory crash for filenames that appear elsewhere in the path
Clean up lightmap stuff in the namedef
fixed alignment issue in SBARINFO's DrawString command
Disable effects on Actors set not to render locally
Add SPF_NOMIPMAP to force actor sprites or particles to have no mipmaps. This makes tiny sprites/particles look more crisp and legible in the distance. Mipmapping causes the sprites/particles to have an inconsistent look where they'd sometimes be clearly visible and sometimes less visible depending on camera distance and movement.
fix: check if bombsource exists when exploding a projectile with a XF_NOALLIES flag
Fix Specular not using Material definition for Glossiness and Level
Allow XInput joysticks to work while the game is unfocused
don't change priority to idle if i_pauseinbackground is false
Isometric Mode and Robin (#2618)
Export PlayDiveOrSurfaceSounds to ZScript and made it virtual for mods to customize the diving and surfacing sounds
mingw64 requires including cstdint
Fix preprocessor symbol for Windows
Fix libraries on mingw64
Fix namespace issue
sys/stat.h is required on all platforms
Keep legacy_studio_definitions for non mingw64 toolchain
Better solution for DwmDefWindowProc on mingw64
fix faux pas
Fix to use the correct definition of DwmDefWindowProc
Fix incorrect return type
add doomkex doom2kex tntkex and plutoniakex as valid iwad filenames
add xbox filenames too
Added GOG path for Doom + Doom II
Reverted use of tchar.h which should be considered deprecated.
Allow for Basic and Hexen armor replacing
Fixed counters not clearing when using shared/local pickups
Added itemcls to HasReceived
Made itemcls optional
Skip bex strings for freedoom if language lump is present (#2682)
Stop grabbing mouse when game window doesn't have the focus
Smaller aspect ratio screens were getting clipped a bit too much. This is a brute-force if-else solution. Larger aspect ratios (wider screens) were always good.
fix A_PlaySound not working for DSDHACKED-defined sounds
implement +SQUAREPIXELS flag
add SpawnMultiCoopOnly mapinfo flag to spawn **only** coop spawns in single-player
PointToPseudoPitch() was being called even when viewpoint was not allowed out of bounds. And its sqrt was slow even when it was necessary (thanks dpjudas for the speedup code).
load id24res if present
Add support for fire textures in ANIMDEFS
Truecolor sky: Draw opaque black background on transparent texels
Render the bottom sky layer always with full opacity in the SW true color renderer.
replace naive interpolation logic with more exact logic
quick fix for interpolation, TODO better fix
rework interpolation to allow for precalculated frames
Properly fix double interpolation for IQM models
Prevent console from laying open when intro cutscene plays on some systems.
Fix bug where down arrow does nothing after clicking the main menu
Fix load/save menus not starting scrolled to the selected entry
Fix missing serialization for `skyspeed1` and `skyspeed2`
Fix billboard facing camera only taking effect when used with XY billboarding
Fix incorrect boolean logic for `drawBillboardFacingCamera`
export `FFont::GetChar()` to ZScript
Added GetDecalName()
removal of some redundant checks
rename 'restart' ccmd to 'debug_restart' since it is in a broken state right now
implement `SPAC_Walking`, mostly useful for teleports or for line crossings that should not happen when the player is falling or flying - update UDMF spec entry
Added FloatBobFactor
Add another soundfonts search directory for *nix
Exported DPrintf
Add RADF_CIRCULARTHRUST and matching XF_/RTF_ flags
Added SECMF_HURTMONSTERS, SECMF_HARMINAIR and NOSECTORDAMAGE.
Added check for hurt floors in P_IsUnderDamage().
SetSkin and GetSkinCount added to PlayerInfo class
bail out if `shape` is null in `F2DDrawer::AddShape`
Fix for NoLocalRender not snapshotting between hub levels
Removing pre-clipping of Frustum if pitch > 46 degrees and viewpoint is not allowed out of bounds. This is like old behavior.
Fixed problem in CheckForShadows().
ID24 interlevel lumps implementation
make the broken ID24 levelnums work somehow so that Legacy of Rust's intermissions play.
Add bIsPuff flag
Add damagesource
Serialize damagesource, fix bad character in actor.zs
Made DamageSource and bIsPuff readonly
Fixed MF9_ISPUFF overlapping with MF9_NOSECTORDAMAGE
Fix broken if statement in ParseFireTexture
add missing 'author' and 'label' UMAPINFO fields.
Replaced MISSILE(EVEN)MORE with a real property and added related Dehacked options from Crispy Doom.
the MISSILE(EVEN)MORE flags still need to be accessible by ZScript for backwards compatibility.
fixed logic bug with HitFriend and Refire functions.
fixed: MBF21's flag functions did not call the special wrappers for MF_FRIENDLY.
bFriendly should not be set from scripts because this omits needed bookkeeping.
fix kill count management in CopyFriendliness when used on corpses.
fix MBF21 ClearCountItem
fixed a few memory leaks
set a default value of 1.0 for `MissileChanceMult` property
added CVAR to select the preferred MOD player and SNDINFO option to set it per song.
added a menu option for switching module players.
Add bounds checking to GetMidTexturePosition, add assert to P_GetMidTexturePosition
Made GetMidTexturePosition() const.
Use a `light_` prefix for custom ZDRay stuff, and actually parse light_softshadowradius for map things
Updated ZDoom UDMF spec changelog.
Orthographic projection Widescreen aspect ratio horizontal clipping fixed. This one-line change only affects ortho viewpoints. Easy to verify in windowed mode.
avoid floats in integer math.
use newer zmusic
Added MF9_FORCESECTORDAMAGE.
don't spam the console log if there's math errors - mostly affects Linux/MacOS because there is no distinction from console apps or GUI apps so they put all the data in the console which can cause lag
Due to recent changes in the widgets code, newer versions of GZDoom will probably no longer run on Windows 7 natively. If you cannot run GZDoom on Windows 7, you can try VxKex to see if it fixes the problem for you.
Highlights:
New launcher screen with custom widgets
VisualThinkers
Reworked Morph System
Many DSDA/MBF21 compatibility fixes
mapinfo and cvarsearch ccmds
better joystick handling in Linux (particularly for the Steam Deck)
Due to recent changes in the widgets code, newer versions of Raze will probably no longer run on Windows 7 natively. If you cannot run Raze on Windows 7, you can try VxKex to see if it fixes the problem for you.
account for resorted directories when accessing the local file path array in file_directory.cpp
fixed autoaiming. The WW2GI pistol check was completely wrong.
perform music volume lookup by lump number instead of name. This way any setting will work for both short and long file names.
do music volume adjustment by modifying the raw waveform data to get around the clamping of AL_GAIN.
fixed: The generic sound loader for SNDINFO must use S_LookupSound to match the feature set of the game specific code.
added missing null check in clipmove. This only very rarely triggered for Blood's projectiles, no other things use this code path.
Duke: Fixed statnum for the geisha statues.
RR: fixed bad destination name for one Route66 sound
Blood: fixed cutscene sound not playing when starting a map from the console.
RR: Set Route66's Gator's size explicitly. The CON code for this sets its correct size with 'sizeto' which is an animating instruction so it is clearly visible when they shrink to their proper size.
internal FileSystem rewrite.
RR: fixed typo in spawn list.
RR: fixed secret trigger reporting.
fixed: Resource IDs for sounds must be unique. If an ID gets used it must be taken off any other sound that has it.
SW: fix vertical spread for the Uzi
fixed case mapping for Georgian script.
Duke: fixed keycard colors on alt. HUD.
Exhumed: fix crash on bad player animation sequence.
Duke: remove setting the xflip flag for sprites rendered in a mirror. The new renderer handles this internally so this flag will just un-flip the sprite again.