Changelog for the ZDaemon 1.10 -> 1.11 transition
=================================================
1. Point 01 release (2018-03-15)
-----------------------------------------------------------------------
1. Significant improvements to unlagged; hitting in online mode should
now be exactly the same as in SP mode even in very high ping
situations; furthermore, there should be far fewer "dropped shots".
-----------------------------------------------------------------------
2. Point 02 release (2018-04-08)
-----------------------------------------------------------------------
1. Added a new dmflag (DF3_INFINITE_ITEMS = 4) and an associated CVAR
(sv_infiniteitems). It blocks the "consumption" of an item when it
is used (so it's effectively infinite once you acquire it).
2. Changed the behavior of callvote: the person that calls the vote
is automatically marked for a "yes" vote, so there is no need for
them to issue such a command separately.
3. Implemented a new "duel" mode (gametype=9). It differs from normal
DM in the following aspects:
a. maxplayers is forced to 2.
b. overtime is forced to 1.
c. sv_deathlimit is constrained from 15 to 60.
d. When 2 players join, they start in "warmup" mode where they
can play, get a feeling about the server, shoot and damage
each others, but the frag/death/suicide counters remain at
zero. When they are ready to start the game, they can call
a vote with the command "callvote game". The vote requires
100% agreement to pass.
e. Once the "set game" starts, it will end in one of 3 ways:
* Someone wins/loses (normal end of game).
* Someone disconnects (automatic forfeiture of the game
no matter the disconnection reason).
* The players can use "callvote cancel" to cancel the
game. If the vote passes, the game is canceled, no
stats are recorded and it returns to warmup mode.
f. If demo recording is enabled on the server, it will record
demos only for the actual game: not the warmup.
g. The warmup period length can be constrained by the
"warmup_timelimit" CVAR; it defaults to 5 minutes and
can range from 0 (which means unlimited) up to 1000.
4. Fixed stretched skies in widescreen mode.
5. World and global ACS arrays are now zero-initialized as they
should be.
6. An attempt to load a map will now only happen if a valid
sequence of properly named data lumps follows its label.
7. Extended tab autocompletion for client console commands. Auto-
completion after "toggle", "rcon" and "rcon toggle" is possible.
8. Fixed Heretic ammo pickup. Values for all types of ammo are
correct now.
9. Fixed client freeze (eg. iddqd1.wad map12, whitemar.wad map01).
10. Fixed a problem that would cause spectators to reveal secrets
under certain conditions.
-----------------------------------------------------------------------
3. Point 03 release (2018-04-11)
-----------------------------------------------------------------------
1. Fixed some ACS memory handling problems.
-----------------------------------------------------------------------
4. Point 04 release (2018-05-18)
-----------------------------------------------------------------------
1. Added killlog as new command line parameter -klog. It logs
player name and killed monster. Only active in Coop and Survival.
2. Pitch set by Security Camera was ignored online. Fixed.
3. Fixed erroneous pixels of particles (rocket trail, railgun,
particle fountain) in uncapped mode.
4. Enabled cvar override for timelimit.
5. Fix for CPW_BulletAttack, CPW_CustomBulletAttack and
CPW_CustomMissile: sv_infiniteammo had no effect and ammo counting
was wrong online. Fixed.
6. In survival sv_deathlimit is constrained from 1 to 5.
7. Implementation of the following ACS functions:
* UniqueTID
* IsTIDUsed
* Sqrt
* FixedSqrt
* strcmp
* stricmp
8. Enabled Get/SetActorProperty() ACS functions:
* APROP_Frightened
* APROP_NoTrigger
* APROP_DamageMultiplier
* APROP_StencilColor
9. More render styles added:
* STYLE_Stencil
* STYLE_TranslucentStencil
* STYLE_AddStencil
* STYLE_AddShaded
* STYLE_Shadow
-----------------------------------------------------------------------
5. Point 05 release (2018-07-29)
-----------------------------------------------------------------------
1. If a stencil render style is active on a player, the own weapon is
shown in stencil color now. TranslucentStencil, AddStencil
and AddShaded ignored brightness. Fixed.
2. Fixed disappearing corpse in survival after player is out of lives
and got a spectator.
3. Red damage screen ignored sv_powerful_monsters in online mode.
Fixed.
4. Enabled SetPlayerProperty PROP_TOTALLYFROZEN.
5. Changes of SetPlayerProperty in online mode does not touch
client's chasecam anymore.
6. More font colors for Print/HudMessage and client Message Colors:
CR_BLACK, CR_LIGHTBLUE, CR_CREAM, CR_OLIVE, CR_DARKGREEN,
CR_DARKRED, CR_DARKBROWN, CR_PURPLE, CR_DARKGRAY (CR_DARKGREY).
7. Print/HudMessage: color for chat messages (\c*) and team chat
messages (\c!) added. It uses the color of chat/team chat.
PRINTNAME_NEXTLEVEL and PRINTNAME_NEXTSECRET added.
8. HudMessage visibility flags added: HUDMSG_NOTWITH3DVIEW,
HUDMSG_NOTWITHFULLMAP, HUDMSG_NOTWITHOVERLAYMAP.
9. No message to join in survival when out of lives.
10. Implementation of ACS function ClassifyActor.
11. Implementation of ACS function GetActorPowerupTics.
Powerups are: PowerInvulnerable, PowerStrength,
PowerInvisibility, PowerIronFeet, PowerLightAmp.
Heretic: PowerWeaponLevel2, PowerFlight, PowerGhost.
Hexen: PowerSpeed.
12. Items could be used during intermission or as spectator. Fixed.
13. Linedef activation added: Projectile hits or crosses.
14. Basic implementation of LineAttack with tid, angle, pitch,
damage and range.
15. Script activators would get lost while morphed: fixed.
16. Enabled user input to short-circuit the screen transition
effect when starting a map.
17. Fix for CPW_BulletAttack and CPW_CustomBulletAttack: bullet puff
is shown now online.
18. Added obituaries for Hexen to replace the generic "Player died"
message when a monster kills a player.
19. Added new screen wipe style: Wipe Oldschool.
20. Fixed a bug introduced in 1.10b09 which caused an ACS script which
called ACS_ExecuteWithResult() or ACS_NamedExecuteWithResult() to
be killed with the "ACS stack underflow" error if it called one of
these built-in functions from within a custom function.
-----------------------------------------------------------------------
6. Point 06 release (2018-11-19)
-----------------------------------------------------------------------
1. CheckInventory and CheckActorInventory return active powerups now.
2. Maximum ANIMDEFS frames enlarged to 128.
3. Implementation of ACS function SoundSequenceOnActor,
SoundSequenceOnPolyobj and SoundSequenceOnSector (location
parameter will be ignored).
4. Implementation of ACS function SetSkyScrollSpeed.
5. Fixed: Flag of carrier (CTF) was shown too high in TERRAIN footclip.
6. Improvements to voice chat: avoiding crackle and higher volume.
7. Added a new dmflag (DF3_NO_EPISODE_RESET = 8) and an associated CVAR
(sv_noepisodereset). There will be no inventory reset when episode
starts (E1M1, E2M1, E3M1, E4M1, E5M1, MAP01).
It has lower priority than CVAR sv_resetinventory.
8. Implementation of ACS function Scroll_Wall. For compatibility
parameter "flags" is needed, but all parts of the wall will scroll.
9. Heretic weapon Hellstaff with active Tome of Power (raindrops)
used in Doom did not work. Fixed.
10. Fixed: A_SkullPop crashed Player Setup in Doom/Heretic.
(e.g. Heretic Player gibbed death)
11. ACS function Sector_SetDamage: parameter interval and leaky added.
12. SNDINFO: Implementation of $volume, $attenuation and $rolloff.
Optional attenuation for $ambient point added.
13. Gravity of a projectile spawned with Thing_ProjectileGravity was
too high in online mode. Fixed.
14. Things added:
* ColorSetter (9038)
* FadeSetter (9039)
* HateTarget (9076)
* Polyobject Start Spot (hurts to touch) (9303)
15. Sector_SetColor and ColorSetter support Desaturation now.
16. Midi opening/closing has been moved to a background thread in
order to preserve game responsiveness.
-----------------------------------------------------------------------
7. Point 07 release (2019-02-09)
-----------------------------------------------------------------------
1. Morphing to Pig in non-Hexen games crashed client and server. Fixed.
2. New constants for GetPlayerInfo() ACS function:
PLAYERINFO_MORPHTICS (121): tics countdown (chicken/pig)
PLAYERINFO_MORPHED (122): returns MORPHEDTO_NONE (0),
MORPHEDTO_CHICK (1), MORPHEDTO_PIG (2)
PLAYERINFO_READYWEAPON (123): selected weapon
3. Implementation of the following ACS functions:
* GetAmmoCapacity
* SetAmmoCapacity
* SetHudSize
* SetMusicVolume (range of volume is from 0.0 to 1.0)
* SpawnParticle (in online mode only for client scripts)
* VectorLength
* SetPointer
* IsPointerEqual (AAPTR_PLAYER_GETCONVERSATION not implemented)
* DropItem (dropamount will be ignored,
chance -1 means doom2.exe behavior)
4. Crushing mode added, so crushers can be set as Doom or Hexen
crusher. Crushed dead players will change to pools of blood now.
Caught in the crusher player's view lowers now in online mode.
Generic_Floor can crush now. Fixed.
Implementation of line specials:
* Floor_RaiseAndCrushDoom
* Ceiling_LowerAndCrushDist
* Ceiling_CrushAndRaiseDist
* Ceiling_CrushAndRaiseSilentDist
* Generic_Crusher2 (uses Hexen mode)
5. Heretic Firemace projectiles bounced by hitting the sky. Fixed.
6. Fix for invulnerability when sv_oldblast is active: player didn't
get a thrust. (e.g. Arch-vile attack, rocket/barrel explosion)
7. Message which player exited was shown multiple sometimes. Fixed.
8. Improvement to default zoom of automap. It was too small.
9. Added an "sv_ammomultiplier" CVAR that modifies the amount of
ammo given on pickups. It's a scale factor expressed in percentage
terms: defaults to 100 (%) and can range from 0 up to 500 (%).
Applies to coop and survival ONLY: ignored in other modes.
10. Added new setting "Viewheight Bobbing" and CVAR "movebobviewheight"
So it is possible to switch off up and down bobbing, but keeping
the weapon bobbing for the Doom look.
11. Command "maplist": the actual running map is marked now.
12. Reducing intermission time is possible now when all players
press use/fire.
13. Intermission is closer to original Doom/Doom2/Heretic in online
mode now. Entering level and "you are here" will be shown.
14. Sector Special "Door Close Stay (after 30 sec.)" was buggy in
online mode. Fixed.
15. Fix for "Screen wipe style none" 2 sec. input delay at
map start in singleplayer.
-----------------------------------------------------------------------
8. Point 08 release (2019-05-29)
-----------------------------------------------------------------------
1. ACS Print: cast type l (localized string from LANGUAGE) added.
2. Fix for 1.10.07: Never crush BossBrain to pools of blood.
3. Implementation of line special Teleport_NoStop.
4. "auto_altwads" updated to Freedoom 0.11.3.
Plutonia and TNT are also included now.
5. Sound of Scripted Marine Pistol/Chaingun/Shotgun/SSG was played
twice in online mode. Fixed.
6. Hexen artifact Mystic ambit incant (ArtiHealingRadius) added.
In non-Hexen mode: Heals the player and each affected player
by 50-99 points.
In team games only team mates could be healed.
7. Hexen artifact Dragonskin bracers (ArtiBoostArmor) added.
In non-Hexen mode: Gives 50 Armor up to Armor limit.
8. Random maplist and Lobby is possible now.
So it enlarges the usage of Lobby with an Exit.
9. New server CVAR sv_reshuffle: Reshuffles a random maplist after a
certain amount of played maps. 0 never reshuffles.
10. Implementation of ACS function GetPlayerInput. Limitations for
buttons: only BT_ATTACK, BT_USE and BT_JUMP are supported
so far.
11. Implementation of ACS functions MorphActor and UnMorphActor.
For MorphActor:
playerclass: ChickenPlayer, PigPlayer
monsterclass: Chicken, Pig
Parameters style, morphflash and unmorphflash will be ignored.
12. Hexen monsters fixed in online mode:
* Reiver buried (WraithBuried)
* Stalker (Serpent)
* Stalker Boss (SerpentLeader)
* Dark Bishop (Bishop)
* Menelkir (MageBoss)
* Zedek (FighterBoss)
* Traductus (ClericBoss)
* Heresiarch
* Korax
13. Fix for ClearInventory and TakeInventory that caused "Bad packet".
14. For using Heretic/Hexen sprites in Doom renaming added:
Heretic: HEAD -> LICH
Hexen: ARM1 -> AR_1 ARM2 -> AR_2 ARM3 -> AR_3 ARM4 -> AR_4
BARL -> ZBAR CAND -> BCAN EGGM -> PRKM ROCK -> ROKK
SUIT -> ZSUI TRE1 -> ZTRE TRE2 -> TRES WATR -> HWAT
MNTRF -> MNTRU MNTRG -> MNTRV MNTRH -> MNTRW
MNTRI -> MNTRX MNTRJ -> MNTRY MNTRK -> MNTRZ
15. Hexen weapons Firestorm, Wraithverge and Frost Shards fixed
in online mode.
16. Hexen artifacts "Dark Servant" (Friendly Minotaur) and "Disc of
Repulsion" implemented.
17. Hexen puzzle items implemented.
18. Player colorization in Hexen implemented.
19. Fixes for Hexen destructible objects.
20. Heretic/Hexen: Height of time bomb explosion in online mode
corrected.
21. Fix: Disabling of vid_fps redraws the HUD.
22. ZLauncher can now become the system-wide handler of the zds://
protocol.
-----------------------------------------------------------------------
9. Point 09 release (2019-07-19)
-----------------------------------------------------------------------
1. MBF dehacked added:
* Scratch (Unknown 1: damage, Unknown 2: sound effect)
* Turn (Unknown 1: angle rotation in degrees)
* Face (Unknown 1: angle position in degrees)
2. Fix for MBF dehacked Mushroom.
3. Implementation of MBF Helper Dog.
4. Fix for client-side falling down Things in online games.
5. Connecting clients get the monster's state from the server now.
6. Line_SetIdentification "clipmidtex" and mapinfo
"clipmidtextures" added.
7. Implementation of command "listmaps". It shows all available maps
of the loaded wad(s).
8. Implementation of the variable "log_scores". When enabled, it will
print the intermission information to the zserv console, and if
enabled, the general log as well.
-----------------------------------------------------------------------
10. Point 10 release (2019-12-13)
-----------------------------------------------------------------------
1. Fixed: Turning player into spectator resets keys.
2. Fix for Respawn where we died (sv_samespawnspot): If the player
stucks teleport back to start.
3. Respawning of ArtiInvulnerability and ArtiInvisibility depends
on the dmflag DF_RESPAWN_SUPER (sv_respawnsuper) now.
4. ACS Line_SetBlocking: BLOCKF_HITSCAN and BLOCKF_SOUND added.
5. New ACS functions to change the behavior of Artifacts.
The syntax of the declaration is:
void Arti_Execute(str artifact, int script,
int arg1, int arg2, int arg3)
void Arti_ExecuteAlways(str artifact, int script,
int arg1, int arg2, int arg3)
void Arti_NamedExecute(str artifact, int script,
int arg1, int arg2, int arg3)
void Arti_NamedExecuteAlways(str artifact, int script,
int arg1, int arg2, int arg3)
When the artifact is used "script" will be executed instead of
the hard coded action.
Arguments for the functions are optional.
6. Fix for demo playback: voice chat packets will not played
during skipping.
7. Sound option "Mute when out of focus" changed from yes/no to
a slider. CVAR snd_muteoutoffocus changed from Bool to Float.
8. Monsters which wake up, do melee attack or fire immediately did
not show firing animation in online mode. Fixed.
9. Implementation of BetaSkull and BetaSkullAttack (dehacked).
Sprites SKUB for BetaSkull (instead of SKUL), so both
Lost Soul monsters can be used.
10. It could happen that connecting clients timed out on the server.
Fixed (server-side).
11. Fix for GetPlayerInput INPUT_OLDBUTTONS and MODINPUT_OLDBUTTONS.
Value is the previous tic now.
12. "auto_altwads" updated to Freedoom 0.12.1.
13. Fix for Infinite Ammo: it's possible to shoot even if there is
not enough ammo for the weapon.
14. Bot could stick when sv_olddropoff was active. Fixed.
15. If map00 exists and no maplist is defined the game will start
with map00. Designed for Deathmatch servers with scripted
lobby map00.
16. Fix for HudMessages which overlap the statusbar.
17. Bloodsplats (blood on the wall from damaging monsters/players)
work online now. Old behavior can be set via cl_bloodsplats 0.
18. Fix for render style Stencil for resolution 1366x768.
19. Fixed an issue that could make a bad packet cause a nameless
player in game.
-----------------------------------------------------------------------
11. Point 11 release (2020-01-01)
-----------------------------------------------------------------------
1. Random Pitch Variations also work in Doom now if enabled.
Announcer and taunts will never be pitched.
2. Fix for playback client recorded demos: own player did not
show Player Bobbing.
3. Fix for Chicken speed: it was a bit too fast.
4. Implementation of "dontchasetarget" for line special Thing_SetGoal.
Thing added: PatrolSpecial (9047).
5. Added a switch to enable or disable vsync: vid_vsync
This is also accessible via Video Mode -> Adv. Options
6. Workaround implemented for when VSync is disabled on the
graphics driver side, specifically during the connecting state.
7. Fix for spawning with wrong angle, when the player got killed
in teleport freeze time.
8. Fix for damaging sectors in online games. Sometimes damaging was
missing or triggered multiple.
9. Changes to sector specials:
* hDamage_Sludge (85) added
* sDamage_Hellslime (105) fixed
* sDamage_SuperHellslime (116) fixed
10. Implementation of dehacked SavePercent. Percentage of damage that
the armor absorbs set in Miscellaneous. Armors:
* Green Armor SavePercent
* Blue Armor SavePercent
* Silver Armor SavePercent
* Enchanted Armor SavePercent
11. Fixed: never decrease health/armor by picking up HealthBonus,
Soulsphere or ArmorBonus.
-----------------------------------------------------------------------
12. Point 12 release (2020-03-09)
-----------------------------------------------------------------------
1. Heretic powered-up hellstaff (HornRodFX2): fix for a potential
client crash and DeathSound was missing.
2. Fix for HudMessages when Super-Sampled Anti-Aliasing (vid_ssaa)
is active.
3. Implementation of DeHackEd thing properties: 'Xscale' and 'Yscale'
both are ignored when the 'Scale' property is present.
4. Fixed a server-side crash in ACS MorphActor and UnMorphActor when
puke command was used.
5. Fix for ACS GiveInventory/GiveActorInventory in online mode:
pack, box and hefty ammo were not sent to the client.
6. Added the following read-only CVARs on the client:
get_player_maxfrags, get_player_maxkills, get_player_maxdamage,
get_player_redflag, get_player_blueflag, get_player_greenflag,
get_player_whiteflag.
They return the player id or displayplayer if there is no value.
In combination with spy or spec_follow it's possible to bind a
shortcut for spectating (e.g. bind x "spy $get_player_maxfrags").
7. Fix for mapinfo keywords 'noinfighting', 'normalinfighting',
'totalinfighting' and 'clipmidtextures'.
8. Mapinfo 'keepfullinventory' added.
9. Triggers for spectators added which change the camera.
* spy_trig_secret: false=disable, true=everyone
* spy_trig_multikill: list 0-6
* spy_trig_spree: list 0-6
* spy_trig_flag: list 0-6
* spy_trig_clear: clears all spy_trig settings
List 0-6: 0=disable, 1=within teams only, 2=everyone,
3=red team only, 4=blue team only,
5=green team only, 6=white team only
10. Implementation of DeHackEd thing property: 'Pickup sound'
This property allows for each item's pickup sound to be modified
individually, it accepts sound mnemonic or DeHackEd number.
11. A fix for a bug JCD reported: when Action special:'ChangeCamera'
was executed by a player and set to an actor during a
team based game their client would crash upon opening the automap.
12. Fix for client command 'idmypos', coordinates were not
displayed when changing view to actor cameras.
13. Mapinfo ignores episode and skill definitions now ('episode',
'clearepisodes', 'skill', 'clearskills').
Ignored map keywords: 'bordertexture', 'strictmonsteractivation',
'laxmonsteractivation', 'missileshootersactivateimpactlines',
'missilesactivateimpactlines', 'monsterfallingdamage',
'teamdamage', 'allowrespawn', 'teamplayoff', 'teamplayon',
'noinventorybar', 'infiniteflightpowerup', 'f1',
'checkswitchrange', 'nocheckswitchrange', 'translator',
'unfreezesingleplayerconversations'.
14. log_timestamps and con_timestamps clients cvars have been added,
they will enable timestamps in both the log (when enabled) and
console respectively.
15. Console command 'give all' now also gives you Artifacts and
Puzzle items when the corresponding inventory graphics are
present.
16. DeHackEd: "Ammo type ZD" has been added in order to get around
a legacy zdoom 1.23 holdover with "Ammo type" value of 5 being
hard-coded for infinite ammo. Infinite ammo in "Ammo type ZD" is
now a value of -1 and below, while 0 and above are for the
standard weapons. This ensures legacy behaviour is preserved
when it comes to "Ammo type". The new "Ammo type ZD" ensures
that all of the ammo types are accessible.
17. The 'idmypos' display will no longer overlap with the 'netstats'
or other items.
18. Players and voodoo dolls did not trigger line specials when they
spawned and their center was exactly on a line. Fixed.
19. Implementation of DeHackEd thing property: 'Camera height',
This property allows for each actor to have it's own camera
height, it accepts both whole and decimal numbers.
20. In Dehacked SNDINFO names can be used for 'Scratch', 'PlaySound',
'PlayWeaponSound', 'CPA_CustomMissile', 'CPW_CustomMissile',
'CPA_BulletAttack', 'CPW_BulletAttack', 'CPA_CustomBulletAttack'
and 'CPW_CustomBulletAttack' by using keyword 'Sound name ZD'.
21. Added support for the following string properties to the
GetActorProperty ACS function:
* APROP_SeeSound
* APROP_AttackSound
* APROP_PainSound
* APROP_DeathSound
* APROP_ActiveSound
NOTE: The returned string values will only have a lifetime of 1
tick for now.
22. Added the following ZDoom ACS functions returning strings:
* GetActorClass
* GetActorFloorTexture
* GetActorFloorTerrain
* GetCVarString
* StrLeft
* StrMid
* StrRight
* GetWeapon
NOTE: The returned string values will only have a lifetime of 1
tick for now.
23. Added the GetArmorInfo ZDoom ACS function. Only the following info
types are supported at the moment:
* ARMORINFO_CLASSNAME
* ARMORINFO_SAVEAMOUNT
* ARMORINFO_SAVEPERCENT
NOTE: The string value returned for ARMORINFO_CLASSNAME will only
have a lifetime of 1 tick for now.
24. Extended the puke and pukename console commands to accept various
input format specifiers (these correlate to the ACS Print function
cast types). The full synopsis of the two commands is now as
follows:
puke <number> [[?:]val1] [[?:]val2] [[?:]val3]
pukename <name> [always] [[?:]val1] [[?:]val2] [[?:]val3]
Where ? can be replaced by one of the following letters which will
determine how the value will be parsed (unless otherwise specified,
the script will receive the input value converted to an integer):
* b: binary number
* c: character
* d: decimal number
* f: real number
(the script will receive a fixed-point number)
* i: decimal number
* l: key from the LANGUAGE lump
(the script will receive the looked up string)
* n: PRINTNAME_* constant
(the script will receive the respective fetched string)
* s: string
(the script will receive the string as is)
* x: hexadecimal number
If no format specifier is present in front of a value, the commands
will behave as they did until now, and the value will be parsed as
a decimal number and the script will receive it as an integer.
CVAR substitution is supported when using a format specifier; i.e.
the following will work:
pukename script_name s:$cvar_name
For the purpose of quoting, the whole argument, including the
format specifier, needs to be inside the quotes given that format
specifiers are an addition specific to the puke commands and that
standard command line parsing happens before the format specifier
parsing; i.e. the following WILL work:
pukename script_name "s:String with spaces."
The following WILL NOT work:
pukename script_name s:"String with spaces."
NOTE: The strings received by the scripts will only have a lifetime
of 1 tick for now.
25. Added missing Hexen skill names to the PCD_PRINTNAME ACS opcode
(the n:PRINTNAME_SKILL argument of the ACS Print function).
26. DeHackEd: Powered weapon frames that are triggered by the
"Tome of Power" can now be altered, added and modified through
Dehacked for every weapon by adding the following entries within a
weapon block; 'Powered select frame ZD',
'Powered deselect frame ZD', 'Powered bobbing frame ZD',
'Powered shooting frame ZD' and 'Powered firing frame ZD'.
-----------------------------------------------------------------------
13. Point 13 release (2020-05-25)
-----------------------------------------------------------------------
1. DeHackEd: implementation of LineEffect.
2. Fix for 'momentum preservation' introduced in point 12 release.
3. When sv_oldwepsound is active pickup sound will also be played for
spectators and during demo playback.
4. MBF DeHackEd flag 'TOUCHY' added.
5. Fix for a crash when Monster Spawner and Monster Target have the
same position.
6. Fixed a crash when ACS SetActorProperty Mass was set to 0,
because is not a valid value. It will be set to 1 (lowest
positive valid value).
7. Duel and 1-on-1: vote delay when spectators are around is shortened
to 5 seconds now.
8. Spectating in uncapped mode looks smoother now.
9. Arch-viles were not self-harming. Fixed.
10. Fix for join limit message in Survival when a new map starts.
11. Fix for insuring overlapping HudMessages are properly cleared
on the statusbar.
12. Correction for damage from RadiusAttack. It was off by 1.
13. No kickback when Scripted Marine attacks with chainsaw and forward
momentum for chainsaw attack added.
14. Fix for using inventory during intermission or as spectator.
15. The oldschool blast damage while sv_oldblast is enabled is no
longer affected by sv_oldwallrun.
16. Keywords/functions for ANIMDEFS added: 'range', 'oscillate' and
'random'. 'pic' accepts names (and not only numbers) now.
Standalone 'off' is supported now.
17. Obsolete protection for no free spawnspot in the first 7 seconds
in Coop/Survival removed.
18. Sound Sequence was cut or delay was running to fast in higher
rates than capped framerate. Fixed.
19. Additional option 'Stretched' for 'Stretch status bar'.
20. Accounted for a case that would occur after a map change/reset
that would result in a player occupying ID 0 being disconnected
after another player joins.
-----------------------------------------------------------------------
14. Point 14 release (2020-09-02)
-----------------------------------------------------------------------
1. When there is a connection problem for the client, message
'Waiting for server...' is shown earlier.
2. Fix for non-moving ghost projectiles for connecting clients
related to Dehacked NOSPEEDCHECK.
3. Fixed a crash when Minotaur or Serpent are friendly.
4. Implementation of DeHackEd weapon property 'Weaponslot ZD',
this property allows for each weapon to have a different slot
assigned. Valid values are: 0 to 9.
*
*** This also requires the 'Weaponpriority ZD' property. ***
*
*** 'Weaponpriority ZD' must be placed before 'Weaponslot ZD' ***
*
*** SEE BELOW ***
*
5. Implementation of DeHackEd weapon property 'Weaponpriority ZD',
this property allows for each weapon to have its own priority
within a weapon slot. E.g: The weapon with the highest priority
on the selected weapon slot will be equipped first.
Each weapon on the same slot MUST have its own unique priority
number in order to not be overwritten. Valid values are: 0 to 7
6. Server-side mute functionality has been added. This will block
both textual chat and voice communication. New commands:
* ADDMUTE #id/$playername duration reason
** The duration is specified in minutes.
* KILLMUTE playername
** No prefix is required.
* MUTELIST
* CLEARMUTES
7. New ACS function to change the camera height for a specific
actor based on a given thing ID.
The syntax of the declaration is:
void ZD_SetActorCameraHeight(tid, height);
whereas height is a fixed point value.
8. Two new client-side CVARs have been added for the chatlog:
* chatlog_showmsgtype - The message type will be displayed:
N - Normal
T - Team
P - Private
A - Admin
* chatlog_timestamps - Timestamps will be displayed.
9. Fix for still standing players to avoid wrong client z after
getting teleported with LS_Thing_Move.
10. Improvements for ACS LineAttack: puffs are shown online and
pufftype can be specified now.
11. Netstats added to Display Options as "Network Statistics" and
enlarged meanings:
* 0: None
* 1: Data
* 2: Ping+Data
* 3: Graph+Ping
* 4: All
12. Demo playback speed added, so a demo can be played in a faster or
slower speed. Related CVAR 'demo_speed' and commands
'demo_speedup', 'demo_speeddown', 'demo_speedreset'.
To show the playback speed enable 'vid_fps'.
13. Spectator view in Duel keeps spectating the same player when
it switches from warm-up to game.
14. Added a timer_format client cvar. This alters the display of the
timeleft output on the HUD or scoreboard. Values:
* 0 = Mins:Secs
* 1 = Hours:Mins:Secs
15. Added a new boolean acs_always_preserve_globals CVAR. When this
CVAR is set to 'true', values in ACS global variables and arrays
will always be preserved; even on manual map changes (for example
when a console command or a vote is used to change the map).
NOTE: To keep the behaviour of client-side scripts consistent with
older 1.10 clients, in network games, all 1.10 clients will
behave as if their acs_always_preserve_globals was set to
'false'; no matter the server setting or the actual CVAR
value on the client.
16. Fix to avoid the ability to press "use" after death in online mode.
17. Adjustments have been made to the unlagged mechanism in order to
improve general precision.
18. In Lobby mode there will be no announcements while entering the
Lobby map (map00).
19. CTF flags on the HUD are scaled to screen height now.
20. CVar 'survival_timed_spec_reset' value 2 (6 min) has been added.
Health will be set to default by Survival Inventory Reset now.
Warning for Inventory Reset added. It will be shown 60 and 30 sec.
before the reset happens.
21. Added the possibility to change blitmode in advanced video options.
That can fix a problem with NVIDIA graphics and very low fps.
A warning must be confirmed to continue, because it can cause
ZDaemon stop working (e.g. ATI graphics).
If a fatal error occurs which is related to blitmode, it will
be reset to default.
22. 'vid_windowx' and 'vid_windowy' are no longer read-only.
The position of the window can be set with these CVARs.
Can be used to set the position of ZDaemon in windowed mode
with a key bind or alias.
Placing the window left or top of the primary screen is possible
now. Maximized window will be saved now.
23. An ancient Instagib bug that allowed you to kill your team mates in
a team mode (deathmatch-type) has now been corrected. It'll now
obey the limitations regarding team damage.
*** NOTE: Since the Instagib railgun is an instakill weapon, any
teamdamage value above 0 will result in the death of the
friendly target. ***
24. A "spectate" command has now been added with strict limitations.
25. Improvements have been made to the MapInfo CVAR Overrides to ensure
that they're correctly reverted (and set) during a map change
and/or map reset.
-----------------------------------------------------------------------
15. Point 15 release (2021-01-01)
-----------------------------------------------------------------------
1. If an invalid skin/sprite frame is detected it will provide a bit
more detail. It is also a bit more forgiving as opposed to the
previous fatal error.
2. ACS function (line special) 'Line_SetTextureOffset' added.
Flags 'TEXFLAG_TOP', 'TEXFLAG_MIDDLE' and 'TEXFLAG_BOTTOM' affect
the offset of the whole texture.
3. For long maplists: output of command 'maplist' from the client
in online mode is splitted now. To continue call 'maplist' again.
4. Parameter '-noidle' is standard now and no longer supported.
The priority when out of focus will no longer be changed.
In rare case it caused self-closing clients or network timeouts
while the client was out of focus.
For old behaviour '-useidle' was added.
5. DeHackEd keywords 'TRANSLUC25', 'TRANSLUC50', 'TRANSLUC75' and
'DONTDRAW' work now as intended.
'TRANSLUCENT' is Boom default 66% now.
6. Fix for colour index 0 on the statusbar.
7. Overflow protection for using too many local map variables in ACS.
8. Preview of player/skins in 'Player Setup' and 'Team/Enemy Color'
can be rotated now and firing animation is shown.
9. Implemented 3 new ACS functions regarding ScriptedMarines
and the usage of player skins on the referenced actors:
a. A function that allows for player skins to be set
to ScriptedMarines. The syntax of the declaration is:
void ZD_SetMarineSkin(tid, name);
'name' is the name declared in the S_SKIN lump.
b. A function that'll return the skin name
for the requested skin number.
The syntax of the declaration is:
str ZD_GetSkinName(number);
'number' is the value you see when using client command:
'skins'.
c. A function that'll provide you with the top index
of the installed skins.
The syntax of the declaration is:
int ZD_GetSkinTopIndex();
10. Fixed a case whereas bullet puffs on certain Heretic weapons
were doubled.
11. Fix for TeleportFog height in Heretic/Hexen when a player spawns.
12. Fix for colours in Netstats graph in Heretic/Hexen.
13. Fix for sky hack e.g. ksutra.wad map05.
14. Background image added for Heretic/Hexen automap (when "standard
map colors" is on).
15. New setting 'Flat / border scale' in 'Display Options' and related
CVar 'vid_flatscale' added.
16. The Home and End keys can now be used in the Menu.
17. Transmission tweaks for online mode.
18. Setting minplayers to 0 in online mode will now remove all active
bots. (This won't work if the -nbots parameter is in-use)
19. Setting a latched CVAR will now correctly apply the latest change
on map change / reset.
20. Cosmetic detail. If the gametype is adjusted, the face background
colour for the player will now be correct. (When switching from a
team to non-team based mode, and vice versa)
21. Client crash fix for missing sprites (e.g. skins or
additional monsters).
-----------------------------------------------------------------------
16. Point 16 release (2021-03-31)
-----------------------------------------------------------------------
1. Codepointer mismatch notices will now provide more detail:
a. State Number
b. Action Name
c. Actor Name
The mismatch notices have also been limited to appear a maximum
of 5 times per map change/reset. This reduces the spammage that
could otherwise occur.
2. If there are any missing skin and/or sprite frames, it is now
possible to get additional information about these cases with the
following developer cvar values:
a. developer 1: missing skin frames
b. developer 2: missing sprite and skin frames
*** NOTE: When it comes to missing sprite frames, this could be
down to frames being re-used elsewhere as a result of
dehacked modifications, so those notices should only
be used as a gauge rather than an indication of an
actual problem.
3. Implementation of menu 'Weapon Slots' as sub menu of 'Customize
Controls' 'Weapons'.
4. Fix for a crash for 0 byte music lumps.
5. New CVar 'demo_goto' to skip demos to a certain time.
Usage: demo_goto <minutes> [seconds [tics]]
6. Chat block functions can be used in demo playback now. Useful for
recording videos from demo playback.
7. Player angle (for others, not own) can be wrong after spawning
for a short time. Fixed.
8. Fix for Floor_RaiseAndCrush. 8 from the lowest ceiling's height
was missing.
9. Fix for force spawn where the client's view could show position 0/0
during screen wipe (e.g. map_reset in Deathmatch, Warmup to Game
in Duel).
10. Team radar can be set to "Player Color" now. Survival/Coop only.
11. Sitrep can show a square with the player color now (like the
scoreboard) when a "+Col" setting is used. Non-teamgames only.
12. New ACS function added: ZD_GetGameInfo(int info).
Depending on 'info' it returns:
0 ZD_GAMEINFO_SURVIVALRESET All players failed in Survival.
1 ZD_GAMEINFO_IN_OVERTIME Game is in overtime.
2 ZD_GAMEINFO_IN_WARMUP Warmup in Duel is active. Server only.
3 ZD_GAMEINFO_IN_LOBBY Game is in map00 and Lobby is active.
Server only.
13. New ACS function added regarding ScriptedMarines:
The function will return the skin name for the provided TID.
The syntax of the declaration is:
str ZD_GetMarineSkin(tid);
It will return the name as declared in the S_SKIN lump.
14. Weapon flag 'WIF_NOAUTOFIRE' should now work as intended.
15. Implementation of DeHackEd extension 'Flags ZD' for the
'Weapon' (PatchWeapon) block. Allows for weapon flags to be
Added and Removed. The mnemonics are (for now):
"NOAUTOFIRE", - weapon does not autofire.
"READYSNDHALF", - ready sound is played with 50% probability.
"DONTBOB", - no weapon bobbing.
"AXEBLOOD", - (Hexen) axe blood on impact.
"FIREDAMAGE", - fire damage on impact.
"BLOODSPLATTER" - spawns blood splatter on impact.
"NOALERT" - weapon does not alert monsters.
"EXTREMEDEATH" - weapon always causes an extreme death.
Just like "Bits" on the 'Thing' block you can
assign multiple flags to the weapon e.g:
'DONTBOB + BLOODSPLATTER' Using 0 on the same line will
erase everything that comes before it.
16. Fix for player collision when OS wallrunning is enabled.
17. The position of the Client Timer can be set now by using
'cl_timeleft_x' and 'cl_timeleft_y'. A value of 0 means the
position will be done automatically.
-----------------------------------------------------------------------
17. Point 17 release (2021-04-12)
-----------------------------------------------------------------------
1. Support added for maps with NODES in compressed and
uncompressed ZDBSP format.
2. Characters of classic fonts increased, so e.g. all Cyrillic letters
can be used now.
3. Markers for demo playback added. The markers can be set while a
demo is being recorded and get stored in the .zdl demo playlist
file. If you edit a .zdl manually make sure the entries are
separated with tab.
'demo_goto #marker' can be used to skip demo playback to a marker.
New CVars and CCMDs:
* demo_addmarker
* demo_undomarker
* demo_clearmarkers
* demo_tonextmarker
* demo_toprevmarker
All demo related key bindings can be found in 'Demo Settings Menu'.
4. Stalagmite thing (5050) added.
5. Weapon flag 'WIF_NOAUTOFIRE' and Dehacked 'NOAUTOFIRE' reverted
for now to avoid dropshots.
-----------------------------------------------------------------------
18. Point 18 release (2021-05-12)
-----------------------------------------------------------------------
1. Fixed an unusual auto-join case that would result in players on
non-playing teams being joined to the game after a map vote/reset.
2. Fixed a condition with the "Spawn where died" dmflag that would
result in a player being able to pickup an item before spawning
had completed.
3. Uncapped interpolation added for 'AimingCamera', 'SecurityCamera'
and 'MovingCamera'.
4. The Wraithverge, Quietus and Bloodscourge weapons
now have the 'WIF_EXTREME_DEATH' flag set by default.
An internal exception always caused extreme death to occur
when the weapons in question were used, regardless of
whether the flag was set or not.
5. Own settings added for score background in intermission.
6. Doom's Pre-Beta BFG added as Dehacked weapon action 'FireOldBFG'.
Projectiles: 'PlasmaBall1' and 'PlasmaBall2'.
Language obituary keyword: 'OB_MPBFG_MBF'.
Related Dehacked keyword for bouncing type: 'ZD_OLDBFGBOUNCE'.
7. Doom Beta Evil Sceptre ('EvilSceptre', 'BON3A0', 'BETA_BONUS3')
and Unholy Bible ('UnholyBible', 'BON4A0', 'BETA_BONUS4') added.
8. Fixed a crash that would occur if you were killed by an orphaned
projectile while in a weaponless state.
9. The Freeview Player is now capable of full movement while a demo
is in a paused state.
10. Previously when using A_VileChase on an actor it would always
go into the hardcoded Archvile frames when an actor was being
resurrected. It is now possible to change those frames by
rerouting them through using: 'Heal Frame ZD' on the thingblock.
11. You can now also set a custom sound that will play during the
resurrection of an actor. For that you will need to use
'Heal Sound ZD' on the thingblock. It accepts both sound
mnemonic or DeHackEd number.
12. 'spec_warp' allows '$playername' and '#player_id' now.
13. Several fixes for uncapped interpolation in online mode.
"Jackhammer" effect of elevators and floor juddering is gone now.
14. Callvote cancel kicked the players out of the server. Fixed.
-----------------------------------------------------------------------
19. Point 19 release (2021-05-17)
-----------------------------------------------------------------------
1. Transfer Sky Texture To Tagged Sector (272) now properly draws the
sky.
2. The SpawnID has now been removed for PlasmaBall1 and
PlasmaBall2.
*** HOTFIX (2021-06-09) ***
3. Fix for moving floors/ceilings with slopes in online mode.
4. All screen corners can be used now to show vid_fps by using
value 1 to 4.
5. Fix for demo playback rewinding when "client reconnects" is
recorded in the demo.
6. Fixed a bug that caused overall teamscores to reset when a player
disconnected.
7. Fix to prevent mouse input outside of ZDaemon window during
gameplay.
8. Fixed a problem that would allow muted players to call/respond to
votes.
-----------------------------------------------------------------------
20. Point 20 release (2021-12-31)
-----------------------------------------------------------------------
1. Fix for Silent BFG: item pickup does not make the weapon silent
anymore. So it's the same behaviour as vanilla Doom.
2. Fixed an issue with the scoreboard information in Coop/Survival
that could sometimes result in the provided global details not
being up-to-date.
3. Bots did not change their weapon in Single Player. Fixed.
4. In Doom when HUD is shown without statusbar, greater images than
classic Health, Armor or Ammo will be scaled down now.
This avoids overlapping images.
5. Widescreen support for virtual 320x200 resolution added.
6. Fixed a small heap memory leak at map node loading time, it
should diminish the chance of ZDaemon dying out with a ZD_Malloc.
7. Line special 'Teleport_NewMap' usage: if a nextmap entry is defined
in the mapinfo and maplist for the map in question, when exiting as
a result of triggering the special the server will switch to that
specific map; if the map isn't present on the maplist a warning
will be displayed.
8. Fixed the bad Y-offset for scaled textures. This bug had been
around for quite a while and some of the texturing in
ZDaemon-specific wadfiles might now be botched because it required
misalignment on the Y-axis to actually align scaled textures
properly. ZDaemon specific wadfiles that make use Y-scaled
textures as middle textures on two-sided lines or top textures on
one-sided lines (e.g. the FCT shop) will need to be patched.
9. DDOM and KotH compass on the HUD are scaled to screen height now.
10. Fix for Duel: warmup timeout will not end the map while in
countdown for game start.
11. Added a new dmflag (DF3_NOSPY = 16) and an associated CVAR
(sv_nospy). It blocks in all gamemodes spectating (for players),
team radar and other players shown on the automap.
12. Fix for SpawnProjectile with gravity mode 2.
13. Fix for a crash if the number of patches exceeds the number of
textures within the TEXTURE2 lump.
A warning will be shown in console in this case.
14. CVAR 'spy_trig_join' added. When activated it changes the view of
spectators when a player joins the game. Settings can be:
* list 0-6 like other spy triggers (see above).
* $nickname.
* #player_id (will automatically changed to $nickname).
15. Fix for rounding problems with Armor.
16. Implementation of multi-threaded rendering. It can utilize more
CPU cores for rendering, so it will increase the FPS when using
SSAA. Controled by the "vid_render_threads" CVAR; can range from
1 up to 16: defaults to 8.
17. Fix for the incorrect incrementing and decrementing of the
monster counter.
18. BOOM's generalized line types that allow 'monster use': now they
can be activated by anything.
19. Fix for ACS SetPlayerProperty PROP_TOTALLYFROZEN: weapon switching
while being frozen will no more change the weapon when getting
unfrozen.
20. RGB adjustment for balancing screens or people with a reduced
colour perception. Only two colours can be adjusted to a
positive value to avoid brightness advantage.
21. Miscellaneous Single Player fixes:
a) In CTF mode the flag will be dropped when spectate is invoked.
b) Switching teams in the console will no longer result in an
incorrectly coloured playerskin in team modes.
c) The player skin and HUD colour are now properly set when
switching between team/non-team gametypes.
d) In team modes the correct colour override - if enabled - will
be set on bots that are spawned.
e) Non-playable teams are now properly accounted for.
22. Interpolation for scrolling walls, floors and ceilings added.
23. Support for "unusual" gettable dehacked things has been added.
The "unusual" things are defined as any non-inventory actor with an
"Initial frame" set to a state from another actor that "is" within
the Inventory hierarchy; this would normally result in the message
"Unknown gettable thing" and the unsetting of the "Special" flag.
Two DMFLAGS3 have been added:
1) "Unusual Pickups (DeH)" / sv_unusualgettable
DF3_UNUSUAL_GETTABLE (32)
2) "Mismatch Correction (DeH)" / sv_mismatchgettable
DF3_MISMATCH_GETTABLE (64)
** "Mismatch Correction (DeH)" relies on "Unusual Pickups (DeH)".
The "Unusual Pickups (DeH)" flag will allow for the unusual items
to be picked up.
The "Mismatch Correction (DeH)" flag will properly account for the
odd "vanilla" case where a given sprite that is set on a displayed
frame will determine the actor action that will then be executed.
Certain wads such as REKKR for instance require both of the above
to be enabled in order for correct functionality to be achieved.
With (2) this ONLY applies to Doom sprites and the railgun sprite.
Both of these new DMFLAGS3 will only work on a Doom-type game.
24. Pressing F1 in a sub menu will show the CVAR/command name of the
selected entry.
25. Added a new option (vid_disk) to 'video options' that will enable
the floppy disk graphic (STDISK) to display whenever a read or
write event occurs. This mimics the old-school behaviour for
when disk activity was detected.
26. If skipping in demo playback takes more than a second, the view
will be updated to show the demo player is still alive.
27. Midi playback will now ignore "Control Change, 121-Reset All
Controller". This avoids maximum midi volume changed by the midi
lump. E.g. drn_mus.wad (Down the Drain) map23.
*** HOTFIX (2022-02-01) ***
28. Fixed an issue introduced during 1.10.05 that resulted in an
erroneous redscreen being displayed in certain pre-1.10
rocket jump demos. (Credit to TimeOfDeath for stumbling upon and
identifying the "when")
29. Resolution depending limit for vid_ssaa added to avoid a crash.
-----------------------------------------------------------------------
21. Point 21 release (2022-07-11)
-----------------------------------------------------------------------
1. Customize Controls: spy commands, "callvote game", "toggle
messages" and "menu settings" added.
Display Options: "show messages" added.
2. Allowing automap cheats (am_cheat, iddt, ravmap, mapsco) for
demo playback.
3. Borderless fullscreen (windowed) for primary monitor added.
It can be enabled in Video Modes or via ZLauncher.
4. Fix for a visual problem on the client, where a teleported monster
would appear to be sticking in the floor.
5. Fix a bug where the TakeWeapon() ACS function would in some cases
cause the player's weapon to be switched to a different weapon than
expected (mostly to the pistol).
6. If a player changes to spectator, the camera will no longer switch
to own view, so spectating will not be interrupted anymore.
7. Fix for a crash if monster spawner target (destination) was removed
while the cube was flying.
8. Fix for pitch while spectating Heretic extreme death (PlayerChunk).
9. Fix for sticking monsters with NOGRAVITY flag on lifts.
10. Scroll_Texture_Model with id 0 will affect own line now
(e.g. ndcp2.wad MAP02).
11. Fix for Boom generalized linedefs damage transfer
(e.g. ngmvmt1.wad MAP06).
12. Fix for TeleportFog height in Heretic/Hexen when a Thing spawns
or get moved.
13. A new "playerusable_zd" attribute in the skin definition lump;
it will determine whether a given skin can be selected by players
or whether it is explicitly reserved for use on the scriptedmarine
actors by way of the GetMarineSkin/SetMarineSkin functions.
*** The attribute will default to 1 if not defined. ***
14. HTTPS support in GetWAD.
-----------------------------------------------------------------------
22. Point 22 release (2022-10-03)
-----------------------------------------------------------------------
1. Fix for ZDaemon "ghost entries" in alt-tab menu. It happened in
Windows 11 when the client was closed.
2. CVar Overrides on other maps can now be touched while current map
overrides are active. Adding overrides to a current map where none
are present will result in a warning being displayed that a map
reset is needed.
3. Adjusted the threshold of the fake player protection check to
lessen the chances of legitimate players accidentally being caught
out (ie, the "DOS THIS!" temporary ban).
4. Added in the sv_fakeplayerprotection server variable; it is enabled
by default. When disabled the fake player protection check isn't in
effect. *** ONLY DISABLE IF YOU'RE EXPECTING A LARGE NUMBER OF
CONNECTIONS FROM A SINGLE IP. OTHERWISE IT IS STRONGLY RECOMMENDED
TO LEAVE THIS VARIABLE ENABLED. ***
5. Added in the cl_unlag_lowping client-side opt-out cvar. When this
is enabled unlagged calculations won't apply to your targets while
you are equal to or below the reference ping threshold. This has
also been added to the 'Player Setup' area for easy adjustment.
Additionally: If you type 'playerinfo N' (where N is the player
number) while in c/s mode or demo playback, it will display said
player's cl_unlag_lowping choice.
6. Scaled actors now draw correctly in sectors that use fake floors
(transferred heights) commonly used for "deep water".
7. Added in the 'Per ammo ZD' and 'Big ammo ZD' Ammo block dehacked
properties. The 'Per ammo ZD' property takes priority over the
older 'Per ammo' property which only worked on the Doom ammo types.
- 'Per ammo ZD': this allows you to adjust how much ammo is granted
upon picking up a weapon or small ammo item. This
property can be used for all Doom, Heretic and
Hexen ammo types.
NOTE: Unlike the original 'Per ammo' property, using 'Per ammo ZD'
alone won't have any influence on the big ammo packs.
- 'Big ammo ZD': this allows you to adjust how much ammo is granted
upon picking up the big ammo packs (Boxes, Hefty
and Mana). This property can be used for all Doom,
Heretic and Hexen ammo types. (This property is
only usable in-conjunction with 'Per ammo ZD'; it
cannot be used by itself or with the original
'Per ammo' property)
ADDITIONAL: The original 'Per ammo' property is still fully
functional, however it is only usable on Doom-specific
ammo types and it will apply a base multiplication
factor of 5 to account for the big ammo packs (n*5).
8. As a result of internal changes, the 'acs_always_preserve_globals'
cvar is now fully enabled in C/S mode.
9. Fix for scrolling direction and mirrored sky (MBF/Boom line
function 254, 271, 272).
Hint: Scrolling up/down is not implemented yet.
10. Fix for fast moving voodoo dolls skipping linedefs.
*** 2022-12-02 ***
11. Autocompletion for $playername added in online mode and demo
playback (e.g. spy $pla <TAB>). Last entered characters will be
completed now (e.g. bind x menu_k <TAB>).
12. Fix for 8 character long map names.
13. PatchInfo notices now include the rule number; this is to assist
with debugging.
14. Fix for Doom's BlurSphere. Now it has vanilla Doom behaviour for
waking up monsters and not Heretic behaviour.
*** 2022-12-19 ***
15. Removed a bit of ambiguity concerning the functionality of voice
chat in private non-teamplay deathmatch games.
Added "Voice Chat" to menu "Sound Options".
16. Fix for a problem with "3D Sound" where some sounds were played at
full volume.
17. Tweaks to the handling of latched cvars:
* Pending values will now be displayed when viewing the given cvar.
* If you set a latched value back to its current value, it will
cancel out any pending changes to the given cvar.
* A new "list_latched" console command will list any pending cvar
changes. *** NOTE: Only usable in SP mode on the client and C/S
mode on the ZServ or via RCON. ***
18. Protection for Mapinfo for maximum length of map names and
erroneous end of lines.
*** 2022-12-28 ***
19. Removed a recently added constraint on the toggle command that
turned out to be problematic.
20. "Select Audio Device" added in "Sound Options". Now it's possible
to select the audio device for voice chat.
*** 2023-01-08 ***
21. A new server variable has been added 'log_verbcon'; when enabled
it will display prefixed 'CT:' entries in the general log related
to any anomalous traffic directed at the zserv - for use with
services such as fail2ban for general filtering or detection
purposes. *** WARNING: THIS CAN RESULT IN LARGE LOG FILES IF
THERE'S A TON OF ANOMALOUS TRAFFIC. ***
-----------------------------------------------------------------------
23. Point 23 release (2023-08-30)
-----------------------------------------------------------------------
1. "Crosshair Colors" added to "Display Options" by using typical
bright values.
2. Corrected a condition that would prevent server-side demos from
being recorded.
3. Improvement for server's outgoing packets in case of high traffic.
4. The attack key will no longer trigger intermission skipping in
online mode.
5. Added support for Ultrawide (21:9) and Superwide (32:9) display
modes. There is a new dmflag (DF3_XWIDESCREEN = 0x00000080)
which combines with an older dmflag (DF2_FULLSCREEN = 0x00040000)
to select one of the 4 display modes. The combinations of the 2
dmflags are:
DF2_FULLSCREEN=0 & DF3_XWIDESCREEN=0 -> Widescreen (16:9)
DF2_FULLSCREEN=1 & DF3_XWIDESCREEN=0 -> Fullscreen (4:3)
DF2_FULLSCREEN=0 & DF3_XWIDESCREEN=1 -> Superwide (32:9)
DF2_FULLSCREEN=1 & DF3_XWIDESCREEN=1 -> Ultrawide (21:9)
There is also a server CVAR (sv_aspectratio) for your convenience.
It can take one of 4 values:
1 = Widescreen (16:9)
2 = Fullscreen (4:3)
3 = Ultrawide (21:9)
4 = Superwide (32:9)
That CVAR is automatically synced with the dmflags, so you can
use either method (dmflags or sv_aspectratio) to update the
display mode ONLY WHILE the server or client IS RUNNING. You
CANNOT use "+sv_aspectratio N" when STARTING the client (or
server): it will be ignored and it will take the value implied
by the dmflags.
6. Fix for missing skin scaling in online games and demo playback.
7. Classless Inter-Domain Routing (CIDR) ban support has now been
added. (Maximum block size is /16)
Examples:
- 192.168.1.157/32 (singular address, 192.168.1.150)
- 192.168.1.156/31 (2-ip block from 192.168.1.156-157)
- 192.168.1.144/28 (16-ip block from 192.168.1.144-159)
- 192.168.1.0/24 (256-ip block from 192.168.1.0-255)
- 192.168.0.0/16 (65536-ip block from 192.168.0.0-255.255)
Special case examples:
- 192.168.1.157/32 <-> 192.168.1.157 (the /32 is redundant)
- 192.168.1.0/24 <-> 192.168.1.*
- 192.168.0.0/16 <-> 192.168.*.*
With the highlighted special cases you'll be able to add or
remove a ban in either format.
NOTE: If for instance you add a CIDR ban between /31 <-> /25 or
/23 <-> /17 and the entered IP is not the first IP you'd
get within the given block, it will tell you the first IP
and record that accordingly. (It will properly recognise
if you attempt to remove a given entry as long as the IP
is within the referenced block) For example:
- 192.168.1.157/31 -> 192.168.1.156/31
- 192.168.1.157/28 -> 192.168.1.144/28
- 192.168.1.157/25 -> 192.168.1.128/25
- 192.168.1.157/17 -> 192.168.0.0/17
8. Server variable 'ban_match_notices' has been added that will
check for overlapping and/or redundant ban cases.
Valid values:
1 - A check is performed when addban is used.
2 - A check is performed when addban is used and when lists
are (re)loaded.
The type of ban will also be highlighted.
9. Client: console command history can be stored now in file
"command.hst" and loaded when the client starts. So the last
entered commands are available.
The function can be enabled with CVAR "con_savehist".
Disabling will delete the file.
10. Spectator caused telefrags in Single Player. Fixed.
11. Height transfer in uncapped mode could cause a visible "spike" when
the sector got changed. Fixed.
12. Implementation of skipping forwards/backwards to frags in demo
playback in Deathmatch based games. It works per player (the one
you spectate) or for all players using Freeview Player.
Key binds can be defined in Demo Settings Menu or
- demo_tonextfrag: "Skip forward to frag"
- demo_toprevfrag: "Skip backward to frag"
13. Auto-size selections for the scoreboard have been added for all
applicable fonts.
14. New server CVAR "sv_intermission_skip" to allow or disable skipping
intermission in online games. By default it's enabled.
15. Implementation of ACS function Floor, Round and Ceil.
16. Implemented Raw Input support for both Keyboard and Mouse.
New or returning cvars:
- in_keyboard
- in_mouse
On both cvars the values are:
a) 0 - DirectInput (default)
b) 1 - RawInput
NOTE: Due to issues with RawInput functionality under WINE, only
DirectInput will be available in that environment.
17. The original 'mouse_sensitivity' cvar has been replaced with:
- mouse_sensitivity_x
- mouse_sensitivity_y
They range from 0.1 to 8.0 in 0.05 steps.
NOTE: YOUR OLD SENSITIVITY WILL BE MIGRATED TO THE NEW CVARS.
18. Implemented an 'Advanced Input Options' area under Options for
easier access of the more advanced but occasionally travelled
input settings.
Available Settings:
- Keyboard
- Mouse
Both of the above will allow you to switch between Direct or
Raw Input.
- Prescale Mouse Movement
The visibility of this option has returned in this area.
19. Set aside the key combination 'Ctrl Pause', when executed it will
reinitialize the mouse and keyboard devices. It can only be used
while you're in "game" mode (playing).
The purpose is to account for any external overlays that may not
play well with DirectInput devices.
20. Fix for uncapped interpolation for scrolling textures with line
special "Scroll Texture Model".
21. Added the read-only CVAR "get_hudsize_extend" on the client.
It's the factor of the extension of a wider screen than 4:3.
Useful for HudMessage with SetHudSize and printing to left or right
side of the screen. Format: fixed-point.
22. Fixed a detail concerning the toggling of vid_vsync that would
result in the window dimensions being reset to the height/width
of the selected resolution.
23. Borderless fullscreen can now be used on different monitors.
24. Borderless and Native fullscreen modes will now obey the
vid_monitor cvar if adjusted without a change or resolution.
25. Adjustments have been made concerning native fullscreen mode
in order to better account for various issues that would prevent
the screen from being restored upon program activation, either
in a fullscreen or the failover windowed-mode. This should also
help when it comes to the use of various overlays.
26. Linearisation of the midi volume added. So the ratio of the midi
music keeps the same if Midi Volume, Master Volume, Sound
Dampening, Mute when out of Focus, etc. changes the volume.
27. Adjustments have been made for better Windows recognition beyond
version 8.0.
28. Handling additions have been made when it comes to maintaining
the aspect ratio of the internal display regardless of the
dimensions of the windowed or borderless screen. This can be
overridden by setting vid_override_ar to 1.
29. Resolved an issue on the Windows ZServ that would otherwise cause it
to silently terminate during certain network binding cases.
30. Resolved a crash/freeze case in Player Setup (and equivalents)
caused by the use of scaled sprites.
31. Fix for erroneous console in background if the key for menu and
toggle console got pressed at the same time.
32. Added the 'zoom_sensitivity_constraint' CVAR, this is due to a
recently introduced change that adds a lower-constraint for mouse
movement while you're using zooming to:
a. horizontal sensitivity and turning speed
b. vertical sensitivity and mouselook speed
NOTE: By default this CVAR is enabled. If this CVAR is disabled
the lower-constraints will be disabled, this introduces
a condition whereas if your horizontal sensitivity and/or
turning speed or vertical sensitivity and/or mouselook speed
is too low, it may require a more vigorous movement of the
mouse in order for that movement action to be visible on the
screen.
*** 2023-09-06 ***
33. 'client_ar' CVAR has been added, this will allow you to set a specific
game display format (The game display format you set will only be used
if it is equal to or below the maximum allowed format as dictated by
the 'sv_aspectratio' CVAR). 'Max. Game Display Format' has been added
under 'Display Options'.
34. The legacy CVARs 'fullscreen', 'fullscreen_bl' and 'mouse_sensitivity'
will now have the prefix 'l_' added to them to ensure that there are no
post-migration conflicts.
*** 2023-11-03 ***
35. Resolved an issue with 'acs_always_preserve_globals' in C/S mode.
-----------------------------------------------------------------------
24. Point 24 release (2023-11-21)
-----------------------------------------------------------------------
1. Fix for midi and mus to stop all notes when the music restarts.
E.g. Doom2 map14 d_ddtbl2.
2. Centered messages with "scale text in high res" are really in the
middle now. Fixed.
3. Accounted for an edge-case that would result in very subtle phantom
movement with RAW Mouse Input while "Smooth Mouse Movement" (m_filter)
was enabled.
4. Fix for HudMessage when SetHudSize needs to scale down the screen.
Characters on the right could be cut.
5. Automap markers added for Heretic/Hexen. If AMMNUM? can't be found,
it also looks for SMALLIN?.
6. Line thickness for Automap added as CVAR 'am_linethickness' or 'Line
thickness' in Display Options. Setting the value to zero will
automatically adjust it depending on the screen resolution.
7. Add additional episode detection for Retail Doom in order to better
account for official and unofficial episode additions.
8. Fix a very rare case regarding linedef hitscan interception.
9. Joystick support extended. Function of the two joysticks can be set to
Forward, Strafe, Yaw, Pitch and Fly.
Settings can be found in 'Advanced Input Options'.
NOTE: At this time only controllers which are joysticks can be used
in this context. If a controller doesn't have access to the
joystick functions then it'll be unusable.
*** 2023-11-22 ***
10. New constant for GetPlayerInfo() ACS function:
PLAYERINFO_SSDCLIENT (200): Detects if a player is the SSD client.
NOTE: PLAYERINFO constants from 200 to below 300 are for checking
whether a valid result also includes spectators; for now this
only includes the new PLAYERINFO_SSDCLIENT constant.
*** 2023-11-23 ***
11. Resolved an edge-case during legacy to unknown cvar migrations that
would result in a client crash.
(Thanks go to Keyboard_Doomer for helping to narrow down this case)
*** 2023-12-05 ***
12. Fixed a potential crash case.
*** 2024-02-21 ***
13. HudMessage with type HUDMSG_TYPEON and an empty text caused a
client crash. Fixed.
14. Fix for respawning items after disconnecting from Online mode to
Single Player mode.
15. Resolved a case whereas if you had a dmflag being overridden by
both the MAPINFO and a CVAR Override, any subsequent manual changes
to the dmflags CVAR (or any linked individual CVAR) would be negated
on a map change/reset.
16. CVAR Overrides can now be added to a map that already has one or more
active overrides present. (In order for those new overrides to become
active a map change/reset is needed)
17. The 'remove_cvaroverride' command can now utilise an optional third
parameter. It will allow you to be more specific regarding the removal
of one or more overrides for a given map with the same CVAR name.
18. Joystick axis controls can now have general functions bound to them
via the Customize Controls area.
NOTE: Key binds and axis functions can be used at the same time. To
avoid unintended behaviour it's better to just use one of them.
19. Added the 'mapskiptoidx' command in order to skip to a specific
position on the map list.
20. Player names on the chatblock list are now stored within the main
client game ini file under the 'TextChatBlockNames' section. This
only applies to player names; if you're blocking 'all', 'bot' or
'spectator' chat, that will still only apply until the client is
closed.
21. A new 'chat_block_list' command has been introduced to list the
currently present chatblocks.
22. For 'chat_unblock' you can now remove entries based on their index
by using the @ prefix.
-----------------------------------------------------------------------
25. Point 25 release (2024-10-28)
-----------------------------------------------------------------------
1. Fix for an uncommon case regarding the skin not being displayed
initially for other players on connect.
2. Fix for not reaching Z momentum 0 for still standing spectators,
which could cause a very low constant falling speed.
3. Setting 'restartemptymap' to a value of 2 will correctly skip
to the next map upon all players leaving (this is applicable to
all cases except for deathmatch/duel servers that have 'lobby'
set to 1 and the lobby map is active). This also applies in the
survival game mode if all active players leave or are out of lives.
4. Fix for the problem with particles behind mid textures.
5. ZDaemon extension for ACS GetLevelInfo() to get information about
minimum and maximum vertex X and Y data of the map.
The result is in fixed format.
100 = LEVELINFO_VERTEX_MINX
101 = LEVELINFO_VERTEX_MAXX
102 = LEVELINFO_VERTEX_MINY
103 = LEVELINFO_VERTEX_MAXY
6. Adjustments made concerning a window state/size discrepancy that
only cropped up on startup while loading a demo.
7. Underlying optimisations performed on the client and server.
8. Fixed an issue with the application of the client's requested
update rate on the server.
9. Fixed a problem concerning the resetting of the spectate command
invocation interval.
10. Fixed a problem whereas a floor flat was not correctly updated in
c/s mode with Line Action 59 'Floor Raise by 24 (changes texture)'.
11. Adjustments made to the 'screenshot_scores' CVAR; new values are:
0 - Disabled
1 - Only during single player and online modes
2 - Demo playback also included
12. Adjustment made to account for a possible sound sequence crash.
13. Added a 'removebot' command that'll allow you to remove a specific
bot either via the bot's player id or player name.
*** 2024-10-29 ***
14. Fixed a regression concerning MAPINFO error-handling on the ZServ.
*** 2025-02-10 ***
15. Corrected for a subtle change from 1.10.23 concerning
keyboard/joystick turning and how it was affected by mouse turns.
16. Fixed an issue with the recording of the angle/pitch for the
recorder in client demos. This will only effect new recordings.
17. Fixed an uncommon condition that would result in the
"Waiting for server" notice to appear and flicker.
18. Stability improvements to avoid certain crash cases during slow
client-load events.
-----------------------------------------------------------------------
26. Point 26 release (2025-09-01)
-----------------------------------------------------------------------
1. Fix for multiple hit water splash and sounds with higher ping.
2. IP2C overhaul.
3. Added a warning message for players that remain dead for too
long and are about to either be force respawned (if that flag
is enabled) or returned to spectator mode.
4. Fixed an underlying condition that could have an effect on
long-running servers.
*** 2025-09-10 ***
5. Fixed a regression concerning scaled high-definition textures.
(The Turkey is back to no longer floats above the screen object
in the FCT shop!)
|