|
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. |