Zandronum 3.3-alpha-251208-0355

All released Zandronum builds

Moderator: Developers

Post Reply
User avatar
Kaminsky
Developer
Posts: 203
Joined: Sun Apr 14, 2013 7:17 pm
Location: Canada

Zandronum 3.3-alpha-251208-0355

#1

Post by Kaminsky » Mon Dec 08, 2025 6:00 am

We're wrapping up 3.3's development and are ready to begin the testing phase. Despite this being another minor version, this still comes with a lot of fixes, improvements, and new features. Most notably:
  • Weapon sprites are now interpolated and can be toggled with the CVar "cl_interpolateweapons".
  • Login credentials and "cl_autologin" are now available on other platforms besides Windows.
  • New ACS functions: GetWadInfoSetMapUsedStatus, and CheckScript.
  • New ACS EVENT type: GAMEEVENT_PLAYERJOINS, which triggers just before a player joins the game, and allows mods to decide if they shall be allowed to join or be put in the join queue.
  • New MAPINFO properties: "gamemode","winnermusic", "winnerpic", "losermusic", and "loserpic".
  • Net graphs to visualize changes in inbound/outbound network traffic and packet loss over the last 60 seconds. This requires enabling "cl_netgraph" and activating "stat nettraffic" in the console.
  • The permanent stuttering effect that players had in online games should now be gone, and players should move a lot smoother.
  • Ping-based unlagged has finally been removed, which has long been obsoleted by the superior gametic-based unlagged.
This also comes with plenty of useful backports from UZDoom (we were formerly based on GZDoom until recent events), including:
  • 21:9 aspect ratio support.
  • FOV is now a CVar, allowing a player's settings to persist between spawns. A slider to adjust FOV is now available in the display options menu.
  • "vid_maxfps" now works in OpenGL, and the renderer now remains active while the game's unfocused, which can be toggled with the CVar "vid_activeinbackground". This especially fixes Zandronum from freezing when minimizing the application in online games while playing in OpenGL.
  • The BUSY flag for ACS scripts, to ignore the hardcoded runaway limit.
  • The "pufftid" parameter for LineAttack.
  • Specifically for railgun attacks, puffs now spawn on the floor/ceiling and their decals can now be used by enabling FORCEDECAL.
This is also the first time that we're using a new algorithm to compress/decompress network packets besides Huffman. In-game network packets will now mostly be compressed using Zstd, which should bring better compression results without causing any noticeable reduction in speed. This will especially be helpful in more chaotic maps or mods, or servers with lots of players, where network traffic is much higher. It's worth noting that this beta uses Zstd without a dictionary file, which is needed to improve compression even further. However, we're looking into testing this build for a couple of weeks and collect enough samples from actual sessions to generate one that we can then include in future builds.

The full changelog for 3.3 can be found here. Also, here's the full Mercurial changelog:

Code: Select all

changeset:	13820:9748c4b3be65
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added tag ZA_3.2.1 for changeset a701547f4162

changeset:	13832:697ca180eb43
user:		Adam Kaminski <kaminskiadam9@gmail.com>
- changed the version string to 3.3-alpha
- changed BUILD_ID/BUILD_ID_STR to internal

changeset:	13834:98b9d467a0fa
user:		Trillster <sonicfam1102@gmail.com>"
Port sv_terminatorfragaward from Q-Zandronum

changeset:	13860:82def1c76e84
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: A_SpawnItemEx didn't sync the TID of spawned actors to clients in online games.

changeset:	13861:0b7f9c3c54f6
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: A_SpawnItemEx's SXF_TRANSFERSTENCILCOL flag didn't work in online games.

changeset:	13863:8f38a7d08abf
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: an actor's stencil color wasn't synced to newly connected clients in online games.

changeset:	13867:0f0415a6f289
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: clients that gained RCON access erroneously told the server to change the values of compatflags and compatflags2.

changeset:	13877:216fd7bb8845
user:		Ru5tK1ng <16673-Ru5tK1ng@users.noreply.foss.heptapod.net>
Added mouse input type selection to MENUDEF so players can toggle the in_mouse CVAR easier and select the desired input mode. Also clarified the function of the old Skulltag mouse option.

changeset:	13878:450ec7604b4e
user:		Sean Baggaley <sean@csnxs.uk>
Fixed: NETWORK_GetPackets and NETWORK_GetLANPackets passed the full size of the input buffer to HUFFMAN_Decode's outputBufferSize parameter instead of the size of the output buffer.

changeset:	13880:383915d93ee0
user:		Sean Baggaley <sean@csnxs.uk>
Replace C-style strings for console timestamps with FStrings, fixing a stack use after scope in the process.

changeset:	13881:2272850a66fb
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: any sounds still playing on a player's body weren't stopped when they disconnected.

changeset:	13888:6d3c00306ce0
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added the CVars "cl_bobrangex" and "cl_bobrangey" to allow the x/y-range of a weapon's bob to be customizable by the user.

changeset:	13889:fe131e05e18c
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: actors with the NOINTERACTION flag and without the NOTIMEFREEZE flag weren't frozen when the level was frozen.

changeset:	13892:3bee6855464c
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added the new MAPINFO property "gamemode", allowing maps to be locked into one specific game mode.

changeset:	13895:33f99da71a1d
user:		Adam Kaminski <kaminskiadam9@gmail.com>
A player's icon is now destroyed at the same time their body is destroyed. This prevents the icon from still lingering after their body's been destroyed (while the game's paused) in offline games.

changeset:	13896:6ec769939007
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Ensure that the player's icon also doesn't appear until they spawned after joining from spectators or changing teams in offline games.

changeset:	13897:35a706fa323f
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the fullscreen HUD showed the remaining monster count as a percentage if sv_killallmonsters was enabled while playing invasion.

changeset:	13898:9c3843520b68
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the scoreboard and fullscreen HUD didn't properly show when there was anywhere between 0 to 1% of monsters left to kill.

changeset:	13911:873abcdc7cf9
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: A_ChangeFlag didn't work on CLIENTSIDEONLY actors in online games.

changeset:	13914:8082d083b3c4
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: under rare circumstances, a client with cl_telespy enabled crashed upon loading a new level.

changeset:	13922:fe0921dcda03
user:		Sean Baggaley <sean@csnxs.uk>
Refactor auth saving code to use a common ENABLE_AUTH_STORAGE macro instead of platform-specific checks.

changeset:	13923:f9ec7ec0cd40
user:		Sean Baggaley <sean@csnxs.uk>
Add a new ZaAuthStorage condition for IfOption in MENUDEF to control visibility of the cl_autologin menu option.

changeset:	13924:4b196028c75c
user:		Sean Baggaley <sean@csnxs.uk>
Added support for using libsecret to save auth credentials on POSIX platforms.

changeset:	13925:236f06df1450
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: spectators were unable to pass through slopes while using the unrestricted spectator mode.

changeset:	13926:8a0328cd237a
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Spectators using the unrestricted spectator mode now only pass through teleporters if they can see into the sector where the teleporter is.

changeset:	13927:1b8273be4335
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Spectators now travel at full speed while underwater.

changeset:	13928:908f125475e6
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: brightmaps didn't work at all on skins.

changeset:	13932:18867e1e1300
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Weapon sprites are now fully interpolated, and can be toggled with the new CVar "cl_interpolateweapons". Based on code from ZCC.

changeset:	13947:7b3e7adb1460
user:		Ru5tK1ng <16673-Ru5tK1ng@users.noreply.foss.heptapod.net>
Added the CVARs sv_minfov and sv_maxfov to set client limits for FOV on the server.

changeset:	13948:0f5e07570b01
user:		alexey.lysiuk <alexey.lysiuk@gmail.com>
Fixed crash in RandomSpawner with -nomonsters

See http://forum.zdoom.org/viewtopic.php?f=2&t=49520

changeset:	13949:cdb771bfe993
user:		alexey.lysiuk <alexey.lysiuk@gmail.com>
Added error message about missing class to drop from RandomSpawner

changeset:	13950:c0917d620c6d
user:		alexey.lysiuk <alexey.lysiuk@gmail.com>
Fixed MSVC warning in a_randomspawner.cpp

...\src\g_shared\a_randomspawner.cpp(32): warning C4800: 'DWORD' : forcing value to bool 'true' or 'false' (performance warning)
See http://forum.zdoom.org/viewtopic.php?t=49737

changeset:	13951:dab33572e180
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added sliders for the min/max FOV in the server setup menu.

changeset:	13952:fe2d41f5adc2
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed some indentation to make it more consistent.

changeset:	13954:680dfe9674c6
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the FOV couldn't be changed while in free spectate mode.

changeset:	13955:0daa6c6df590
user:		nashmuhandes <nashbackslash@gmail.com>
Changed FOV from a CCMD to a CVar, allowing players' FOV settings to persist. Also exported SetFOV to PlayerInfo for ZScript.

changeset:	13956:17971b9c0a29
user:		nashmuhandes <nashbackslash@gmail.com>
Add FOV slider to the display options menu

changeset:	13957:cbee26693349
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added a document to keep track of nodes from GZDoom backports that couldn't be added, or had to be moved to other files manually.

changeset:	13958:6b9fb57464d4
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed weapon sprites appearing out of place momentarily when the player respawned.

changeset:	13959:dbd1096345c6
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Renamed "missing-gzdoom-backport-nodes.txt" to "zandronum-gzdoom-backport-nodes.txt" (to distinguish it as a Zandronum-specific document better), touched up the formatting, and added extra information.

changeset:	13963:a76b91c2386e
user:		Ru5tK1ng <16673-Ru5tK1ng@users.noreply.foss.heptapod.net>
Fixed: cl_stfullscreenhud 0 would always draw the ammo amount and ignore sv_DontHideStats (addresses 1042).

changeset:	13966:a5e5b25fbe12
user:		Magnus Norddahl <dpjudas@users.noreply.github.com>
Add vid_maxfps support for Windows and Linux

changeset:	13967:30f4a0aec568
user:		alexey.lysiuk <alexey.lysiuk@gmail.com>
Fixed compilation of SDL backend

changeset:	13968:38acb473fa0f
user:		Christoph Oelckers <coelckers@users.noreply.github.com>
- don't force the renderer to remain active in windowed mode when in the background.

It's ok to have this as an option, but not as an unconditional forced feature.

changeset:	13969:7604bedc1d98
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Changed the default value of vid_activeinbackground to true, and allow it work while the game's in fullscreen mode.

changeset:	13971:fce034a48d23
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added a node from a GZDoom commit transplanted in 3.2 that should be documented because it was moved to another file manually.

changeset:	13972:efed70b5a652
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added reasons for documenting each node that couldn't be merged in a transplant.

changeset:	13974:3f9bae7cef44
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Manually added more screen resolutions to the hardcoded table in "sdlvideo.cpp". Changes were manually copied from: https://github.com/ZDoom/gzdoom/commit/965d602d26167fdec3e6d5c5f6d7f12063d22128

changeset:	13975:a60f6809023f
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Manually ported missing resolutions to the hardcoded table in "sdlglvideo.cpp". Changes were manually copied from: https://github.com/ZDoom/gzdoom/commit/cab509c4d20f0e5e57099d24792a853a7adaa326

changeset:	13976:bb3253eae8ff
user:		alexey.lysiuk <alexey.lysiuk@gmail.com>
Added several missing video resolutions

All feasible display dimensions are in the list except with 21:9 aspect ratio

changeset:	13977:bab77c3aab00
user:		Michael Labbe <mike@frogtoss.com>
21:9 aspect ratio support

 - vid_aspect 6 forces 21:9

changeset:	13978:02c2c8a3f7bd
user:		Michael Labbe <mike@frogtoss.com>
fix: 21:9 AR stretching in intermission, end level screens

changeset:	13979:d80e4191a85b
user:		Michael Labbe <mike@frogtoss.com>
21:9 fix for black bars overlapping fullscreen images

changeset:	13980:5bb2c8e48df9
user:		Michael Labbe <mike@frogtoss.com>
Slightly improve 21:9 ar

changeset:	13981:0629232eac7c
user:		Michael Labbe <mike@frogtoss.com>
vid_listmodes crash fix

changeset:	13982:0cb62a890aeb
user:		Michael Labbe <mike@frogtoss.com>
UI support for 21:9

 - Can specify aspect ratio 21:9 in video menu
 - menu_screenratios cvar can now force 21:9

changeset:	13983:8787d4a28c16
user:		Randy Heit <rheit@users.noreply.github.com>
Update ratios[] tables for SDL and Cocoa

changeset:	13984:69f8e4816350
user:		Randy Heit <rheit@users.noreply.github.com>
Add some 21:9 resolutions

changeset:	13985:df02f490e78a
user:		Randy Heit <rheit@users.noreply.github.com>
Fix 21:9 base width and height values

changeset:	13986:3e8240c5dee2
user:		Christoph Oelckers <coelckers@zdoom.fake>
- added 21:9 handling to GL code.

changeset:	13987:c4d5d88f8699
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added 21:9 screen resolutions to the hardcoded table in "sdglvideo.cpp".

changeset:	13988:a48630d214dc
user:		Magnus Norddahl <dpjudas@users.noreply.github.com>
Improve CheckRatio to always return the closest ratio

changeset:	13989:a53fead106e3
user:		Magnus Norddahl <dpjudas@users.noreply.github.com>
Add ActiveRatio to be used where CheckRatio is used today

changeset:	13990:76aed16483dc
user:		Magnus Norddahl <dpjudas@users.noreply.github.com>
Fix buffer overrun in CommandAspectRatio for 21:9 aspect ratio

changeset:	13995:52bc0caca76d
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: a player's voice could briefly be heard when they turned into a dead spectator and were forbidden to voice chat with live players.

changeset:	13996:87dfe704d818
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Removed a superfluous forward declaration.

changeset:	14000:469e5f569641
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Player classes that are forbidden are no longer selectable in the player setup menu.

changeset:	14006:2b3171b74809
user:		Ru5tK1ng <16673-Ru5tK1ng@users.noreply.foss.heptapod.net>
Fixed: kickfromgame would try to write over the network when called offline through ACS (addresses 4545).

changeset:	14016:7e0d5383e6ab
user:		Ru5tK1ng <16673-Ru5tK1ng@users.noreply.foss.heptapod.net>
Fixed: TERRAIN SmallClip wasn't being applied online for SmallSplash effects (addresses 1060).

changeset:	14017:59341a3f3d14
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Cleaned up some code in P_HitWater.

changeset:	14025:62956c2a7073
user:		Benjamin Moir <bennyboy.private@hotmail.com.au>
Added "pufftid" parameter for LineAttack.

changeset:	14045:10b16591ad9b
user:		Ru5tK1ng <16673-Ru5tK1ng@users.noreply.foss.heptapod.net>
Fixed: Player_SetTeam wouldn't clear coopspy if a player defected to a team while spying on his ally (addresses 1197).

changeset:	14052:2ddec4cfc2f9
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: cl_respawninvuleffect also affected the server, and upon loading a new level, could make players appear partially invisible for clients that weren't using the flicker respawn invulnerability effect.

changeset:	14061:4ab1128e5b73
user:		Ru5tK1ng <16673-Ru5tK1ng@users.noreply.foss.heptapod.net>
Fixed: Morphed players did not transfer their skin despite the absence of +NOSKIN on their class (addresses 1425).

changeset:	14062:8929c493e00f
user:		Moises Aguirre <aguirremoises@proton.me>
Add BotScript commands for move up/down buttons.

changeset:	14070:72b107da6b40
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed the naming convention of a local variable and consolidated some duplicated code.

changeset:	14076:ed337e36b307
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: a morphed player's sprites were erroneously changed when cl_skins was changed.

changeset:	14077:93ecf31b5ebd
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Removed an extra blank line.

changeset:	14078:49b7c26dc755
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the scale of a skin was applied to the player's body when the skin's sprites weren't visible.

changeset:	14079:4555b5267c47
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: cl_noswitchonfire prevented players from switching to a new weapon if they were pressing the fire button(s) while not having a weapon selected.

changeset:	14080:fd5865b4d695
user:		Sean Baggaley <sean@csnxs.uk>
Copy the actual liboutput_sdl.so to the build directory so it's included in CI artefacts.

changeset:	14082:54bacfebc229
user:		Sean Baggaley <sean@csnxs.uk>
CI now builds an AppImage from the results of the Linux build job.

changeset:	14083:d35bca3529df
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Removed the skip correction that was sealed away since 3.1 and never used, restoring any old code that was changed by it. Its history entry has also been removed.

changeset:	14085:10d1d4785208
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Renamed CLIENT_s::MoveCMDs to CLIENT_s::bufferedCMDs since this didn't just store the client's movement commands, and switched to using smart pointers instead of raw pointers.

changeset:	14089:7feaf8fe4107
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Slowed down the rate at which the server empties the clients' tick buffers (it used to be four move commands per three ticks). Now, the server only executes one move command per tick unless the client's buffer is too full that two of them need to be executed in the same tick.

changeset:	14090:529ca97fc1be
user:		Adam Kaminski <kaminskiadam9@gmail.com>
The server is now more lenient on incrementing the number of missed packets from a client regarding movement commands. It now only increments when it's been more than one tick since it received the last command from the client.

changeset:	14095:d72c28fea4c1
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Zandronum will now be basing itself off UZDoom, so update the backport nodes documentation file to reflect that.

changeset:	14096:b8fe8ef13df5
user:		Moises Aguirre <aguirremoises@proton.me>
Add support for the "BUSY" script flag.
This flag allows the script to skip the runaway limit.

changeset:	14097:c34601595099
user:		Moises Aguirre <aguirremoises@proton.me>
Fixed unnecessary runaway counter increase and uninitialized value.

changeset:	14101:9cee7e80ec24
user:		BinaryCode <BinaryCode@noreply.codeberg.org>
attempt to remove class limit

changeset:	14102:51c804da8b73
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Updated a few spots where player_t::CurrentPlayerClass was still being saved into a BYTE instead of an integer, and send a player's class as an unsigned short in "SpawnPlayer" server commands.

changeset:	14105:7b61ac68326f
user:		Sean Baggaley <sean@csnxs.uk>
Add back the executable permission on appimage/AppRun, as it was lost when 54bacfebc229 was amended.

changeset:	14106:50655250522f
user:		Sean Baggaley <sean@csnxs.uk>
Ensure that AppRun has the correct permissions when building the AppImage.

changeset:	14109:28e63eb130d7
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the angles of level-spawned actors weren't properly restored to their original values on map reset (addresses 4572).

changeset:	14110:20f361819af9
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Removed a bunch of unused forward declarations.

changeset:	14112:e8b7e77c2fe6
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: clientside prediction sometimes made the centerview CCMD not work in online games (addresses 4565).

changeset:	14115:9d03d58bde70
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added an extra sanity check to avoid a crash in the ACS function "SetAmmoCapacity".

changeset:	14123:227ae3070e3f
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Refactored code for checking if a client is spamming the chat or sending userinfo changes too often, and consolidated duplicated code.

changeset:	14124:02962ee6283e
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: clients didn't tell the server when their userinfo CVars were changed in clientsided ACS scripts.

changeset:	14125:3feb1f49c1cd
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Cleaned up and refactored NETWORK_GetPackets and NETWORK_GetLANPackets, also removing any use of C-style casts, Hungarian notation, and ULONG/LONG.

changeset:	14126:89e8f15b6b14
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added a helper function to reduce code duplication in NETWORK_GetPackets and NETWORK_GetLANPackets.

changeset:	14127:21ed9720a9d5
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Cleaned up and refactored NETWORK_LaunchPacket, also removing any use of C-style casts, Hungarian notation, and ULONG/LONG.

changeset:	14128:868ad81c8da1
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Cleaned up and removed a few static casts.

changeset:	14129:173f74aa07b8
user:		Adam Kaminski <kaminskiadam9@gmail.com>
"stat nettraffic" now shows the compression factor of packets sent or received in the last second.

changeset:	14130:a9a4abc8a69f
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed some inconsistent tabulations in the network options menu in MENUDEF.

changeset:	14132:9a8ae9d825e8
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added a net graph, enabled with the new CVar "cl_netgraph", that shows changes in network traffic over the last minute, which appears while "stat nettraffic" is active.

changeset:	14133:c461fe1ca6dc
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Cleaned up and refactored NETWORK_GetPackets and NETWORK_LaunchPacket in the master server code too.

changeset:	14143:93c67c50fda9
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Commands from the server that update the players' movements are now buffered on the client's end so that players move more smoothly.

changeset:	14144:6205f7d50549
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Removed ping unlagged, which has long since been obsoleted by the superior gametic unlagged.

changeset:	14145:0e35b4f5c5d4
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: a player's skin would scale their body up or down an extra time when they turned into a dead spectator in offline games.

changeset:	14147:e97ab4a28f1a
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed a regression where a player's overridden skin didn't apply the correct scale to their body if their states didn't change.

changeset:	14161:57fe0dc1ae24
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added new constants to the "LumpGetInfo" ACS function that return a lump's namespace and the index of the WAD it belongs to, as well as the new ACS function "GetWadInfo" to return information about a WAD file using its index.

changeset:	14162:57fd93e4e1a0
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added sanity checks to FWadCollection::IsWadOptional and FWadCollection::WadContainsAuthenticatedLumps to ensure that the WAD's index is valid.

changeset:	14163:9f4728f2fdf4
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added a sanity check to ensure that LUMP_INFO_NAME returns an empty string if the lump's index is invalid.

changeset:	14166:f522876fe386
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added ACS function: "SetMapUsedStatus", allowing mods to change the used status of an entry in the map rotation.

changeset:	14169:96f065639407
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added the GAMEEVENT_PLAYERJOINS EVENT script type, which triggers when a player is just about to join the game, and allows mods to prevent players from joining and queue them instead if the event's result is set to zero.

changeset:	14171:8de7941a63b3
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added an extra sanity check to fix a rare crash upon loading a new level caused by 10b16591ad9b.

changeset:	14172:071188cccec9
user:		Randy Heit <rheit@users.noreply.github.com>
Add support for face sprite Y flipping

changeset:	14185:442e763f30b9
user:		Moises Aguirre <aguirremoises@proton.me>
Add QuitJoinQueue BotScript command.

changeset:	14187:a84419a6841a
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: custom vote submenus were duplicated when the callvote menu itself wasn't closed, but a submenu of it.

changeset:	14188:4d1fea8514d6
user:		WChrisK <watermelonst@hotmail.com>
Added a check that doesn't print empty obituary strings, as wad's that hide obituary strings in multiplayer games end up spamming a lot of empty lines.

changeset:	14189:1a7b71f69302
user:		Moises Aguirre <aguirremoises@proton.me>
Added SetGoalTID BotScript command.

changeset:	14190:04903d3ae54c
user:		Moises Aguirre <aguirremoises@proton.me>
Add height awareness to bot node cost estimation.

changeset:	14191:beb322058bb7
user:		Moises Aguirre <aguirremoises@proton.me>
Fix more jumpZ checks and factor in stepheight where appropriate in bot pathing.

changeset:	14192:2e70d6ccc17c
user:		Moises Aguirre <aguirremoises@proton.me>
Rewrite 3D AproxDistance in bot node cost estimate for readability.

changeset:	14193:eb422df3b1be
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed a regression caused by 04903d3ae54c where loading a new level without an intermission, but when there's already bots, crashed the game.

changeset:	14194:deffd2fbd792
user:		Edward Richardson <Edward850@crantime.org>
Use puff decal with MF7_FORCEDECAL

changeset:	14195:5b00696ac2e0
user:		MajorCooke <paul.growney22@gmail.com>
Added support for puffs to spawn on floors and ceilings if ALWAYSPUFF is used.

changeset:	14196:2e629a9b7b96
user:		MajorCooke <paul.growney22@gmail.com>
- Puffs should not spawn on floors or ceilings with sky flats without the SKYEXPLODE flag.
- Added line horizon check for puffs as well.

changeset:	14197:26d900809dfc
user:		MajorCooke <paul.growney22@gmail.com>
Added NULL check to lines.

changeset:	14198:7d12f80d3640
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed railgun puffs still spawning on floors or ceilings with sky flats without the SKYEXPLODE flag, and their decals not being used, for clients in online games.

changeset:	14201:0d75cf18b6be
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: it wasn't possible to set multiple ban (exemption) files via the command line during startup.

changeset:	14205:70735560bb12
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: world and global ACS variables didn't persist on the client's end when the map changed in online games.

changeset:	14208:832625b0700b
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Moved a check to avoid the "cannot give morph items when starting a game" error if a player fails to pick up an item in APlayerPawn::GiveDefaultInventory. This is consistent with later versions of GZDoom after 1.8.6.

changeset:	14212:38e71b91375c
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: clients didn't update the sector color of a 3D floor when the server told them the sector's ceiling changed.

changeset:	14224:0f08c6c87089
user:		Ru5tK1ng <16673-Ru5tK1ng@users.noreply.foss.heptapod.net>
Fixed: Sector color of a 3d floor that had its floor or ceiling changed wasn't set back to its default value on map reset (addresses 1876).

changeset:	14273:bde6d45f0009
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed error messages in network_ReadPacketsFromSocket using the wrong function name.

changeset:	14274:32ff6e13bd13
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Experimental work to add ZStd compression to Zandronum.

changeset:	14275:4c37d95d3683
user:		Sean Baggaley <sean@csnxs.uk>
Add zstd as a name to find_library in FindZstd.

changeset:	14276:899256bbdabd
user:		Sean Baggaley <sean@csnxs.uk>
Use Zstandard (de)compression contexts for better performance.

changeset:	14286:65c18dca9d3c
user:		Sean Baggaley <sean@csnxs.uk>
Added the ability to use a Zstandard dictionary from the ZSTDDICT lump.

changeset:	14287:80cd2315f273
user:		Sean Baggaley <sean@csnxs.uk>
Add sv_dumppackets as a way of collecting packet data for training Zstandard dictionaries.

changeset:	14288:4d4ee5553ee0
user:		Sean Baggaley <sean@csnxs.uk>
Use proper error handling when (de)compressing packets with Zstandard.

changeset:	14289:1a03a82d780a
user:		Sean Baggaley <sean@csnxs.uk>
Added some client statistics to show the percentage of packets compressed with Zstandard in stat nettraffic.

changeset:	14290:e877ce1dd86b
user:		Sean Baggaley <sean@csnxs.uk>
Added CVars to configure Zstandard compression.

changeset:	14291:1caada743db4
user:		Sean Baggaley <sean@csnxs.uk>
Add a new network error code for when a client has an incompatible Zstandard dictionary.

changeset:	14292:a1f956b76562
user:		Sean Baggaley <sean@csnxs.uk>
Added sv_dumppackets_chance so packets can be captured using random sampling.

changeset:	14293:7ca4cb9b4d9b
user:		Sean Baggaley <sean@csnxs.uk>
Remove g_LatestPacketUsedZStd as it wasn't used, except for in network_ReadPacketsFromSocket where a local variable is now used instead.

changeset:	14294:3049fa42a7d6
user:		Sean Baggaley <sean@csnxs.uk>
Add a history entry about Zstandard compression.

changeset:	14295:2a65e4bcf494
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Separated each statistic printed when "stat nettraffic" is active on its own line to improve readability.

changeset:	14296:402172a25b20
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed a blank line.

changeset:	14301:92ebf7779501
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added ACS function: "CheckScript", to check if a particular script exists by searching for its name or number.

changeset:	14302:f5b68175b468
user:		Trillster <sonicfam1102@gmail.com>"
Add setting to allow scoring in Skulltag without skull at base

changeset:	14307:59b494f63d58
user:		Barrels O' Fun <holyjesusdogs@aol.com>
- Added support for custom winning and losing intermission screens using the new MAPINFO properties: "winnermusic", "winnerpic", "losermusic", and "loserpic".
- Music tracks can now be selected for team winning and losing themes (e.g. WinnerTheme "D_STWIN:1"; LoserTheme "D_STLOSE" 1), and can be used in ACS with new GetTeamProperty properties: TPROP_WinnerThemeOrder and TPROP_LoserThemeOrder.

changeset:	14308:6ee2a204c6b5
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: bots didn't spawn as the class assigned to them in offline cooperative games.

changeset:	14311:a8d26c5591fa
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: railgun attacks that weren't predicted by clients didn't spawn decals in online games.

changeset:	14312:6eb487e62d34
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Added a comment header for P_RailAttackWithPossibleSpread.

changeset:	14313:d4dfc64bdb39
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Renamed some variables and removed any use of ULONG/LONG in the "WeaponRailgun" server command.

changeset:	14314:465e1c524db5
user:		Adam Kaminski <kaminskiadam9@gmail.com>
Fixed: the scoreboard always appeared at the bottom of the screen during intermissions in Eviternity.
Download

Happy testing everyone!

Fused
Contributor
Posts: 684
Joined: Sat Nov 09, 2013 9:47 am
Location: Netherlands
Contact:

Re: Zandronum 3.3-alpha-251208-0355

#2

Post by Fused » Mon Dec 08, 2025 7:27 am

Straight from 3.2 with amazing features into 3.3 which has even more great features. Great job once again on everything!
Image Image

Collaborate and join the community
Image Image

BlackAntoITA
New User
Posts: 2
Joined: Mon Nov 24, 2025 1:04 pm
Location: Italy
Contact:

Re: Zandronum 3.3-alpha-251208-0355

#3

Post by BlackAntoITA » Mon Dec 08, 2025 8:23 am

LET'S GOOOOOOOOOOO, you guys are rocking with these amazing updates :D

Post Reply