Changelog for the ZDaemon 1.08 -> 1.09 transition ================================================= 1. Point 01 release (Jan 01, 2006) ----------------------------------------------------------------------- 1. Fixed a sound problem; many sounds (projectiles and map items) were not scaled by sfx volume, which resulted in very distorted sounds. 2. Added a new possible value to the netstats CVAR; when it's 3, it displays both numbers and graph. 3. When the "cl_showpressuse" CVAR is false, the client does not display the player name while spectating (and if the watched player is equal to the console player). Combined with the no-gravity conditions while spectating, this facilitates the taking of map screenshots. 4. Sometimes you see rockets sticking to a wall; this is a dropped packet problem. Added a fix to circumvent it. 5. Improved the "teleport jackhammer" and "spawn jackhammer" problems when cl_floorfix=1. Right now, cl_floorfix is not 100% right (because it treats the symptom rather than the cause), but it doesn't appear to have any bad side effects either; therefore, it should make the game quite more enjoyable. 6. There was an oversight in the blocking of color changes (while alive and playing) on the server which resulted in some people using disco scripts again. It should be finally put to rest. 7. Skin switching is allowed only in the same cases as color switching. 8. The player setup dialog has been reworked to avoid sending many messages to the server when someone changes teams, colors, etc. Only a single message is sent (if necessary) when someone exits the menu. This should also reduce problems with spamming in team modes. 9. Fixed a CTF exploit: flag carriers cannot switch teams. 10. Added another method to reduce spamming via team switching; any attempts to switch teams more than once in less than 5 seconds are ignored. 11. New server CVAR called "sv_deathlimit". If non-zero, it specifies the max. number of seconds that one is allowed to remain dead. When the limit is reached, he becomes either a spectator or is respawned depending on the sv_forcerespawn dmflag (which was not previously used in practice, so it looked like a fitting candidate for this feature). The default value for the CVAR is 180 seconds. ----------------------------------------------------------------------- 2. Point 02 release (Apr 04, 2006) ----------------------------------------------------------------------- 1. Fixed a problem in coop mode with the sv_deathlimit cvar. If someone remained dead long enough to become a spectator and then rejoined, then that person could not shoot any monsters and monsters could not kill him. It has been fixed now. 2. Fixed a crash on some maps (eg., exec map09) when the "no exit" dmflag is used. 3. Fixed a problem where the "A secret has been revealed" and other (wad- specific) messages were printed on the console instead of being displayed at the screen center. 4. The "weapnext" and "weapprev" commands (bound to the mousewheel by default) are automatically translated to "spynext" and "spyprev" respectively while spectating or viewing demos. This facilitates the switching of POVs while spectating or viewing demos. 5. Fixed a problem with the "Boss cube"; it would crash the client in client/server mode (eg. doom2 map30). 6. Added a new dmflag (DF_RESET_INVENTORY = 1048576) and an associated cvar (sv_resetinventory). It's meant for coop and it determines whether player inventory should be reset at the end of each map. 7. The "respawn items" , "no exit" and "weapons stay" dmflags needed the "alwaysapplydmflags" cvar to operate properly in coop. Not any more: alwaysapplydmflags is gone now and the dmflags work as expected. 8. More server code cleanups. 9. Improved the coop spawn algorithm; if your spot is occupied, it will try all coop spawns until it finds an empty one. 10. Updated the ip-country database. 11. Blocked any runtime changes to the "maxclients" CVAR; it can be set only in zserv.cfg. 12. Added a new dmflag (DF_QUAD_RESPAWN_TIME= 8388608) and an associated cvar (sv_quadrespawntime). It quadruples the time between item respawns and obviously applies only if item respawn is ON. 13. When the OS Sound range dmflag is on AND it's not a team game, then spawns facing west are silent. It's an old doom2.exe bug, but it was inconsistent between VC++ and gcc because it relied on undefined compiler behavior. This has been formalized now and is consistent across the board. 14. When you try to connect to a full server, you get an error message instead of no reply. 15. Added a new dmflag2 (DF2_USEBLOCKING = 16777216) and an associated cvar (sv_useblocking). It's taken from ZDoom 2.0.98 and it means "All special lines can block use lines". 16. Fixed the missing puffs bug introduced in 1.08 17. Grunting on 2-sided linedefs is now blocked when the silent BFG dmflag is on. 18. Multiplayer weapons are now spawned in coop mode (not SP mode). 19. sv_resend defaults to 1 now. 20. New server cvar (sv_maxclientsperip) which limits the number of allowed clients per IP. It defaults to 4. Can be disabled if set to a non- positive value. 21. Various security fixes (mostly DOS-related). When zserv detects a DOS attack, it auto-bans the attacking IP; the ban is temporary and expires in 15 minutes. ----------------------------------------------------------------------- 3. Point 03 release (various revisions at various dates) ----------------------------------------------------------------------- 1. Launcher only. ----------------------------------------------------------------------- 4. Point 04 release (Dec 17, 2007) ----------------------------------------------------------------------- 1. Security fix (DOS-related). 2. New server CVAR "acl" (access list) that controls the nicks allowed to connect. 3. New server commands "acl_add", "acl_remove" and "acl_clear". They're pretty obvious. 4. More code cleanups in zserv. 5. Fixed a memory leak in zserv; it was losing about 1K bytes on each respawn. The memory was reclaimed at level end and that's why it was not noticed in normal games. It would appear though when there was no time and frag limit. ----------------------------------------------------------------------- 5. Point 05 release (Dec. 26, 2007) ----------------------------------------------------------------------- 1. Improved server-side speedhack detection. 2. Better handling of uneven packet delivery (server-side). It avoids the use of a certain delaying technique for strategic purposes. 3. The server is now UPnP-aware, so it can forward ports on NAT routers automatically. It's enabled via the -upnp command line switch. 4. Implemented a "killlimit" server cvar. It's meant for coop and it's analogous to the fraglmit cvar of DM. It can also assume negative values, in which case it means that *everyone* in game must reach the specified number. 5. Implemented an "overtime" server CVAR. When it's different from zero and the time limit expires, the game goes into overtime and ends on the first frag, suicide, capture, etc (ie., sudden death). ----------------------------------------------------------------------- 5. Point 06 release (May 26, 2008) ----------------------------------------------------------------------- 1. Display the target player health along with name in coop or when the target player is a teammate (in team modes), or when spectating (in any mode). The nick and health are color coded depending on the target health. 2. Target names are not shown any more for dead players. 3. Added support for teleporting missiles (all kinds). It's activated with the DF2_TELEMISSILES = 1 dmflag (dmflag2 actually) or the associated "sv_telemissiles" CVAR. If you don't want to enable teleporting of all missiles, you can also use the dehacked approach for selected ones only. Older clients will not be able to handle such missiles properly (they may be hit by invisible missiles: this is the only known incompatibility), so a client upgrade is strongly recommended. 4. We now force "fuzz" rather than translucency when playing non-coop online. 5. Implemented proper weapon animation during spying / demo viewing. There are still two minor glitches that cannot get fixed right now since they require protocol changes. Therefore, they'll have to wait for 1.09. 6. New server CVAR "specs_dont_disturb_players". It defaults to false. If turned on, spectator chat is echoed to other spectators, but not to players. 7. Private messages from players to spectators are now blocked (cheating opportunity). 8. Private messages from spectator to spectator are now enabled. 9. Added support for SECTINFO lumps in wads; they are plain text lumps and specify: 1. which sectors are considered parts of a team "base area". 2. user-assigned names for each sector. There can be more than one such lumps in all wads; you can find some sample SECTINFO at http://www.zdaemon.org/doc/sectinfo/ 10. Added special escape sequences for chat strings: %a -> armor, %h -> health, %l -> current location (as determined by a SECTINFO lump). They can be useful for binds in team modes. 11. Spectator behavior is now identical between SP and CS mode. They don't activate anything, including teleports. Some maps though require teleporting (eg., Icon of Sin map in coop mode). For that reason, a "spectator teleport" button has been added. If you press it while crossing a teleport line, the teleport works (client-side only: nothing gets triggered on the server). 12. Fixed some problems in the automap code; it should now be able to handle maps up to 32767 units wide or long. 13. Implemented recursive directory searching for wads. It's activated by using 2 slashes at the end of the directory path. For example: "-waddir c:\zdaemon" does NOT do recursive searches, while "-waddir c:\zdaemon\\" does. Unix servers naturally use forward rather than backward slashes. 14. Enabled the server to find bots.cfg in the current directory in addition to the zcajun directory. 15. The PCX screenshot format has been replaced by PNG. A nice feature of the format is that it supports the specification of the gamma value, so the screenshot should look similar to the actual display inside the game. 16. Shooting corpses should now be a thing of the past. 17. Fixed a bug where the wrong switch would be lit in online mode. It happened when more than 1 switches triggered the same item. 18. Implemented a new client CVAR called "screenshot_scores". If set to true, it automatically takes screenshots at the end of games. 19. Added a "motd" client command. 20. Fixed a problem where the server might freeze for a few seconds in rare occasions. 21. Got rid of the "tx" and "ty" client CVARs; they are inappropriate for a multiplayer environment. 22. No more "Cannot play non-ZDoom demos. (They would go out of sync badly.)" messages. 23. Fixed the spectator splashing problem (example: heretic e1m1). 24. Spectators should not be pushed by wind (example: heretic e1m1). 25. Spectators should not grunt when hitting walls or landing on things. 26. The "limitpainelemental" server CVAR imposes a limit of 20 lost souls per map. The CVAR now defaults to true (ie., same as classic doom) rather than false. 27. Corrected a sprite scaling issue, courtesy of Phenex2. 28. Heretic gauntlet usage could result in a server kick (turbo); same idea as the doom chainsaw. 29. Fixed a problem with the color of Heretic KeyGizmos in online mode. 30. "Bullet puffs" (so to speak) were missing in Heretic online mode. 31. The client would get stuck into an infinite loop on connection to a heretic server containing dead heretic imps. Fixed. 32. The "zbot" skin name is automatically translated to "zbor" in Heretic mode and "zbox" in Hexen mode. All 3 skins are not available to players: only to bots. 33. The "You need the XXX key to open this door" message now produces a grunt in online mode as well. 34. Fixed the behavior of missiles when they hit Line_Horizon lines. 35. Dormant items should not generate blood spurts or splatter. 36. Water splashes were getting spawned both on the server and the client. Fixed. 37. Keys retained by the DF2_KEEP_KEYS dmflag when someone died in coop were not shown in the HUD. 38. More bot chatter/taunting courtesy of Adereth. 39. No more "Client output packet overflow" while viewing demos. 40. The client's pickup switch method would get inadvertently modified on some unusual conditions (manual map change and player NOT being the first on the server). Fixed. 41. Added a -nomsgbox cmd. line parameter to facilitate auto-restarts in case of crashes. 42. Blocked the respawning of monsters spawned by ACS or the Icon of Sin cube in nightmare mode. That was an old and unresolved doom2.exe bug. 43. No more "attempted server crash" auto-bans. 44. Blue armor is now included in the DF_NO_SUPER dmflag 45. Implemented a server sanity check for teamdamage (0..1) 46. Implemented a server sanity check for air control (0..1) 47. Implemented a server sanity check for gravity (0..1600) 48. Removed the enable_rcon cvar; rcon is enabled only when rcon_password is NOT empty. 49. Removed the force_password cvar: it's implied depending on the "password" cvar; if "password" is empty, then the server is public. If it's not empty, then the server will require a password. 50. Implemented new launcher info packet covering all the functionality needed for 1.09 51. The manual /map command on the server was not saving the bot state, so bots added by /addbot on the current map would not spawn on the next one. 52. Stopped the auto-scrolling of the zserv32 window when the window is not already at the bottom. 53. Sometimes the server would report phantom players to the launcher. Should be fixed now. 54. Sometimes the player list on zserv32 was wrong. Fixed. 55. Increased number of map list slots from 36 to 1024. 56. New mapcycle related commands on the server: mapskipby : Goes forward/backward in the map list mapskipto : Goes forward in the map list to the specified map 57. Automatically saves the mapcycle index to a file before each map start. The file gets deleted on normal exit. If the file is found on startup, it means that the program had previously crashed, so it continues the map cycle from the map following the one in the saved file. 58. Fixed the server to reduce the "pullback" on the first spawn. 59. The server can accept alternate wads in the place of one or more wads. Useful examples are allowing freedoom/freedm rather than doom2 (or vice versa), facevox rather than zvox2, etc. This is enabled via the "setaltwads" server command (which could reside in zserv.cfg). Here is an example: setaltwads "doom2=freedoom062=freedm062 zvox2=facevox2=sharkvox" This tells zserv that it can accept freedoom062.wad or freedm062.wad in place of doom2.wad and it can accept facevox2.wad or sharkvox.wad in place of zvox2.wad. Some important points: a. For any equivalence to be accepted, one of the wads in the equivalence must be already loaded and zserv must be able to find the other ones in order to checksum them. This also means that either all the wads should reside in the current or program directory, or you should use the -waddir cmd. line parameter (or the WADDIR env. variable) to tell zserv where the wads are. b. The entire argument of the setaltwads command must be enclosed in double quotes. c. When zserv executes this command, it does the above checks and sets up the equivalences. It will also display the equivalence on the console, so you can be sure if it has been accepted or not. d. Freedoom and freedm are not frozen like doom2.wad; therefore, we *absolutely* need proper versioning in their filenames, eg., use something like freedoom062.wad rather than freedoom.wad The use of the "unversioned" wad name will lead to chaos from the part of the players (what will happen for example if half the servers run one version of freedoom, the other half uses another version and they all use the same name? how will a player be able to play?). Therefore, we will have no other option but to block from the master server any zserv using the unversioned wad names. 60. The launcher has been upgraded to understand and handle alternate wads properly. It will prompt you when a selection has to be made and it will remember your choice. 61. Implemented a CTF point system that's based on the one from Q3 slightly extended to handle 3- and 4-way CTF. Here is the way points are calculated: 1. +1 point for fragging an enemy player 2. -1 point for fragging a teammate. 3. -1 point for committing suicide (environment kills count as suicide too) 4. +2 points for fragging an enemy carrying your flag. 5. +1 points for fragging an enemy carrying any other flag but yours (applicable to 3- and 4-way games only). 6. -2 points for fragging a teammate carrying an enemy flag. 7. +5 points for capturing an enemy flag. 8. +1 point for returning your flag. 9. +1 point for assisting a capture by returning your flag and your team capturing within 4 seconds. 10. +2 points for assisting a capture by fragging an enemy carrying your flag and your team capturing within 4 seconds. 11. +2 points for fragging someone who has recently damaged your flag carrier. 12. +1 point for fragging an enemy player within sight of AND near your flag carrier. 13. +1 point for fragging an enemy player in your base area (as determined by a SECTINFO lump). The points are added up according to the applicable rules. Suppose for example that you frag an opponent carrying your flag and return it: you get +1 point from rule #1, +2 points from rule #4 and +1 point from rule #8: 4 points in total. If the fragging took place in your base area, then rule #13 would apply as well, so another point would be added. 62. Modified the server to avoid creating the .zdoom directory in the user's home directory (unix) and to enable a common convention across all O/Ss. All WAD files are searched on the current directory first, then on the zserv program directory, then on the directory specified by the "-waddir" cmd. line option or the "WADDIR" environment variable. 63. cl_maxbodies lower bound goes from 1 to 3. 64. New chat spam defaults: 4 messages per 8 seconds for team modes or 10 seconds for non-team modes. 65. New "maplist" command on the client. It prints the server map rotation. 66. The "restartemptymap" server cvar has been extended to reset the level timer (if one is in effect) when the first player joins. 67. Spectators should not trigger "thing specials" (example: jumppads in zdctfmp map10). 68. "New style scoreboard" option removed from options menu. The "newscores" CVAR is still there for those who insist. 69. New client CVAR "zd_overridecolors" that lets you override the colors you see for your teammates and enemies (in all modes). When zd_overridecolors is on, teammates are displayed using the "teammate_color" CVAR, and enemies are displayed using the "enemy_color" CVAR. 70. Fixed a problem in the handling of the up arrow key in the option menus of the client. The menu would appear blank and it could lead to a client crash. 71. New "sitrep" CVAR that shows you your teammates names, health, armor and location in team modes or coop, or works like a mini scores-screen in DM. The report's position can be adjusted by the "sitrep_xofs" and "sitrep_yofs" CVARs. There is also a "sitrep_fontsize" CVAR that controls the size of the report's font (it can range from 0 up to 7: defaults to 1). 72. Fixed various problems with coop spawning, including spawning of players above the number of coop starts in the map, spawning under bridge things, blocking of spawn points by other players or monsters, etc. If a spawn is blocked by a player or monster, they will get telefragged except for the first 5 seconds of the level. That should give players enough time to move off the spawn points. 73. Related to coop spawning is voodoo doll support. A new dmflag (DF2_VOODOO_DOLL = 0x2000000) was added that enables the detection of voodoo doll starts as such; this avoids spawning real players on the voodoo doll starts. Beware: this is only the beginning of voodoo doll support and it's very far from completion. So don't expect voodoo dolls to work yet. 74. Fixed an oversight in the team switching server code whereby one could get around the maxplayersperteam limit. 75. Implemented map reset, map switch and player kick voting. They are controlled by the following server CVARs: sv_vote_limit = 3 // # of times someone can call a // vote per map sv_vote_timeout = 45 // How long the voting will last // (in seconds) sv_vote_reset = 0 // Enable/disable reset voting sv_vote_map = 0 // Enable/disable map voting sv_vote_map_percent = 51 // Percentage needed to pass the // reset/switch vote sv_vote_map_skip = 0 // How many maps must be played before // a given map is eligible for // voting after it has been played. sv_vote_kick = 0 // Enable/disable kick voting sv_vote_kick_percent = 75 // Percentage needed to pass the // player kick vote Player kicking is available only for coop modes. The other forms of voting are recommended only on coop or private/LAN or tournament servers. The voting is initiated by the "callvote" command on the client. It can assume one of the forms: callvote reset callvote map callvote kick When someone calls a vote, a notification about the ongoing vote is displayed on everyone's HUD. Players can then vote for or against the proposal by typing "yes" or "no" on their console or saying "yes" or "no" in chat. There are 2 other voting related client commands: the "voteinfo" command displays the server voting CVARs, while the "maplist" command displays the server map rotation (this is useful for issuing a callvote map command as you may not know which maps are in the server rotation). The position of the voting display on the client can be adjusted by the "vote_xofs" and "vote_yofs" CVARs. The "vote_fontsize" CVAR controls the font size used for the display; it can range from 0 to 7 and it defaults to 1. Finally the "vote_compact" CVAR results in a slightly more compact voting display. 76. Introduced a concept of "limited rcon". The server admin can define up to 9 different "limited rcon levels". Each level is characterized by a different rcon password and a set of commands authorized to issue. Here is an applied example: suppose the server admin wants to give limited rcon access to a tournament referee. The referee should be able to do specific tasks, but he is not supposed to change the server setup, stop, restart the server, etc.The server admin could put the following in the zserv.cfg file: set rcon_pwd_1 "referee" set rcon_cmds_1 "mapskipby mapskipto maplist players kick addtempban" These 2 lines define "limited rcon level 1", its password and the authorized commands. You can define up to 9 such levels (rcon_pwd_1 ... rcon_pwd_9) if you have to. 77. Fixed an item respawn bug where the respawn sound and flash occured twice in quick succession in c/s mode. 78. Fixed an item respawn bug where a respawned item would appear at a different vertical position than where it actually was spawned on the server. 79. Made the parsing of MAPINFO lumps more forgiving in terms of unknown keywords. When such keywords are encountered, the parsing of mapinfo stops and the program continues rather than aborting. 80. Ported ANIMDEFS WARP2 Eternity style flat warping effect from ZDoom courtesy of Worst-vd-plas. 81. Implemented air supply support in MAPINFO courtesy of Phenex2. 82. Started work on enabling dehacked for heretic/hexen courtesy of Worst-vd-plas. ----------------------------------------------------------------------------- 7. Point 07 release (June 3, 2008) ----------------------------------------------------------------------------- 1. Fixed a desync in the appearance/spark/sound of respawned items. 2. Fixed a bug when closing channel tabs in zrc. 3. The launcher would not properly erase the contents of the death column when clicking on a server that didn't show deaths. 4. Various ZSL fixes as reported in the ZSL readme. 5. There was a bug in the handling of new connections in zserv; it could cause server crashes when the server got full. 6. The player color override option would sometimes fail: fixed. ----------------------------------------------------------------------------- 8. Point 07b release (Oct. 15, 2008) ----------------------------------------------------------------------------- 1. Fixed a server crash. 2. Removed the need for the -noinput cmd. line parameter. 3. Added -version and -proto cmd. line parameters to the cmd. line version of zserv to display the zserv version and protocol number respectively. ----------------------------------------------------------------------------- 9. Point 08 release (July 16, 2009) ----------------------------------------------------------------------------- 1. Fixed a server crash in CTF mode. 2. Made the zserv shutdown more robust under unix by ensuring its children are all down before it exits. 3. Removed the log submission mechanism as it's been broken for a long while (and that mechanism will be replaced by something more robust in the future). 4. Added timestamps to the zserv general log. 5. Removed the display of every single ban list entry when the global ban list gets fetched. 6. The server didn't handle password changes on the fly; it does now. 7. The default value for sv_vote_kick_percent goes from 75% to 60%. 8. The DF2_VOODOO_DOLLS dmflag has been inverted for the sake of compatibility with Plutonia and some other WADs. It's called DF2_VOODOO_SPAWNS now which means that it will spawn real players on voodoo doll starts ONLY when the dmflag is on. The associated cvar is called "sv_voodoo_spawns". 9. The unlimited ammo dmflag is now blocked from exp. 10. Introduced a new DMFLAG (DF2_VAMPIRE = 0x4000000) and an associated CVAR (sv_vampire). When this flag is on, damaging an opponent will increase your health by half the damage you deal. There is an upper limit that one can reach through this mechanism and it's halfway between normal health (100) and max. sphere health (200), so it's 150 by default. Those 2 values can be adjusted via dehacked though. DM servers will NOT collect exp when this mode is on. 11. Voting will not be accepted in the first 15 seconds of a round if there are spectators around. 12. Temp. bans arising from voting will be put in place even if the player to be kicked/banned has already left the server. 13. Introduced a server CVAR called "sv_vote_min" that specifies the minimum voter participation needed to ignore non-voters. It's an integer value ranging from 0 to 100 (%) and works as following: if a vote is called and the voters reach the percentage specified by sv_vote_min_participation, then non-voters are excluded from the voting decision. If voters are less than the percentage specified by sv_vote_min_participation, then non-votes are essentially counted as "no". The CVAR defaults to 51 (%). 14. Vote calls as well as actual votes are now displayed on the normal console so the voting process becomes more transparent. 15. Implemented 3 new votes: random voting, random map voting and random team captain voting. The first is always enabled. The other two are controlled by the following server CVARs: sv_vote_randmap = 0 // Enable/disable random map voting sv_vote_randcaps = 0 // Enable/disable random team captain voting. Random voting is about letting the server select a random number (or flip a coin). That number will be used for anything the players want (and have agreed upon before the draw). The command: callvote flipcoin calls a "flip coin" vote. If the vote passes, the server will display "heads" or "tails". The command: callvote random N (where N is a positive integer greater than 1) draws a number between 1 and N. If N is equal to 2 or is omitted, then this is the same as a coin flip. The command: callvote randmap [mapname mapname [mapname ...]] instructs the server to draw a map at random and then switch to it. If the mapnames are omitted, the server draws a map at random from the map rotation. If mapnames are specified, then the map is drawn only from these; they must belong to the server map rotation though. The command: callvote randcaps calls a vote for random selection of team captains. For this to work, the server must be in teamplay mode (TDM or CTF) and maxteams should be equal to 2. The captains are selected at random from players or spectators in the red, blue, white teams. 16. Added a message about who exits the level in coop. 17. Added some server-side checks about the validity of the nicknames. They cannot be empty, they cannot contain leading or trailing spaces and they cannot contain backslashes, single or double quotes or non- ASCII characters. These restrictions are actually a subset of those enforced by the master, so they should not be binding for reasonable use. 18. To facilitate speedrun timings: a. the timer resets to zero on the first spawn in each map. b. the timer display remains on screen during the intermission. c. the timer shows hundredths of a second. All of the above happen only if deathmatch=0 and timelimit=0. 19. Removed a debug message displaying the pickup of Heretic artifacts. 20. Fixed a client problem with mega item respawns. 21. Sometimes a taken item would appear as non-taken because of some bug in the client: fixed. 22. A HOM occured when a skybox was visible in both floor and ceiling: fixed courtesy of Worst-vd-plas and Phenex2. 23. Players, monsters, and other moving objects no longer jump up ledges when near them while the camera is in spectator mode. This applies to demos as well. 24. Changes in the floor height while moving should be smoother now; the jackhammer problem appears to be quite improved. 25. There was some stuttering during teleporting when the entry and exit points were at different floors or when the player tried to keep moving during the teleporting. Should be fixed now. 26. Fixed a problem with ACS print messages in client/server mode. 27. Fixed a problem with ACS death scripts being executed on both client and server in c/s mode. 28. The map powerup was not honored by the client: fixed. 29. Gamma can now range between 1 and 3. 30. The turbo cvar is not supported any more. 31. The Spiderdemon firing animation/sound was not playing in c/s mode. Fixed. 32. The Chaingunner firing animation/sound was not playing in c/s mode. Fixed. 33. The WolfensteinSS firing sound was not playing at all in any mode. It's a problem in the SNDINFO lump of zdaemon.wad and can only be fixed by a new zdaemon.wad (ie., it will have to wait till 1.09); it's fixed temporarily by having it play the zombie firing sound. 34. The WolfensteinSS firing animation/sound was not playing in c/s mode. Fixed. 35. Fixed a problem when firing the chainsaw in c/s mode. 36. Enabled skin scaling courtesy of Phenex2. 37. Introduced a new DMFLAG DF2_INSTASWITCH = 0x8000000) and an associated CVAR (sv_insta_switch). This flag enables instant weapon switching. 38. Uncapped the projectile speeds (useful for dehacked speedups) courtesy of Phenex2. 39. Fixed the display of players having activated the Wings of Wrath. 40. Enabled the taunts to play properly even in the presence of the silent BFG dmflag. 41. The announcement of the last capture in a CTF game would get cut off by the intermission screen. Fixed. 42. Fixed a CTF bug when a bot left the server while carrying a flag. 43. Fixed a bug where a gibbed player/bot corpse would revert to the normal death state when the player/bot respawned. 44. Added ^U to the console cmds: it erases the current line. 45. Made a fix to silent and line teleports to properly adjust the exit angle. The fix is not working perfectly right now, as the teleport code introduces a half-second delay in movement (which it shouldn't). The fix for that needs changes to the net protocol, so it should work fully in 1.09. 46. Added a "bullet_puffs" client cvar that controls the display of bullet puffs. Some people have reported intense cpu loading that happens only when puffs are enabled. If you see such problems, it might be worthwhile to experiment with this option. 47. Fixed several client crashes. 48. r_visibility is gone from the client. It's not wise to keep it around in a multiplayer port. 49. r_drawflat is also gone. Same reasons as above. 50. The coop spawn policy has been modified a bit: the first player on the map always spawns on the first spawn point. Other players spawn at random coop starts. This preserves the desirable properties of random spawning, yet also facilitates speedrunners who need a predictable spawn point. 51. Fixed another bug where someone could pick up items above his head without jumping. 52. Fixed some floor raise/lower problem courtesy of Phenex2. 53. New server CVAR "sv_randmaps" that shuffles maps from the rotation. 54. Fixed a rounding problem in sloped planes courtesy of Phenex2. 55. Added support for some new definitions in MAPINFO related to intermission courtesy of Stealth & Worst-vd-plas. 56. Assorted engine patches for zdoom 2.x compatibility courtesy of Phenex2. 57. Improved the Heretic full screen HUD to display armor and armor type. 58. The CTF point system gets slightly adjusted: 1. +1 point for fragging an enemy player 2. -1 point for fragging a teammate. 3. -1 point for committing suicide (environment kills count as suicide too) 4. +2 points for fragging an enemy carrying your flag. 5. +1 points for fragging an enemy carrying any other flag but yours (applicable to 3- and 4-way games only). 6. -2 points for fragging a teammate carrying an enemy flag. 7. +5 points for capturing an enemy flag. 8. +1 point for returning your flag. 9. +1 point for assisting a capture by returning your flag and your team capturing within 4 seconds. 10. +2 points for assisting a capture by fragging an enemy carrying your flag and your team capturing within 4 seconds. 11. +1 points for touching an enemy flag (taking it either from its base or the dropped state). 12. +2 point for fragging an enemy player within sight of AND near your flag carrier. 13. +1 point for fragging an enemy player in your base area (as determined by a SECTINFO lump). The points are added up according to the applicable rules. Suppose for example that you frag an opponent carrying your flag and return it: you get +1 point from rule #1, +2 points from rule #4 and +1 point from rule #8: 4 points in total. If the fragging took place in your base area, then rule #13 would apply as well, so another point would be added. 59. Added a server CTF points log: it can be enabled / disabled with the "ctflog" command (or -ctflog cmd. line option) and it displays the points given to each player in detail along with the applicable rule from the above list. 60. The ping is now displayed next to the netstats graph. 61. Kick Voting is now enabled in non-coop modes provided that the server is passworded or not advertized to the master. 62. Mancubus fireballs should finally appear properly in client/server mode. 63. The splashfactor CVAR has been renamed to sv_splashfactor and can now become zero or negative; this can be useful for rocket jumping. In such situations, the "jumpback factor" becomes equal to the negative of the specified value while the splash factor becomes zero. If for example we set sv_splashfactor to -1, then the jumpback factor becomes 1, and splash factor 0 (ie., same jumpback as usual, but no splash damage). If we set sv_splashfactor to say -10, then the jumpback factor becomes 10 (quite high) and splash factor 0 (ie., no damage). 64. The launcher can now patch IWADs automatically courtesy of Doom2pro's IWAD patcher: noone should ever need to do it manually. 65. The launcher now handles demos with spaces in the filename. 66. New searching function in the launcher. You can search for strings in the server name or for WADs. Searching is done in full unicode (useful for server names) even under Win9x. 67. Fixed the teleporting/moving of items via ACS in client/server mode. 68. Fixed a ceiling-related bug. 69. Introduced a new server CVAR called "sv_teamautoaim"; when it's non- zero, teammates are excluded from autoaim calculations. Defaults to zero (ie., the game behaves as it always did). 70. Fixed a problem with dmflags map overrides not being properly reflected on clients. 71. Added an appropriate error message when someone tries to issue the "map" command on the client while connected to a server or playing a demo. 72. Added half-op support and /op, /deop, etc commands to zrc. 73. Implemented heretic morphing: this requires new 1.08.08 clients though. Older clients can still connect (since we're still in the 1.08.xx releases), but they will not see things properly. 74. Blocked various various SP cheats while spectating (eg., what would be the meaning of iddqd while spectating? idclev on the other hand is ok). 75. Replaced the "newscores" cvar on the client by the "classic_look" cvar. The new cvar will apply to the scrores screen, HUD and all other GUI elements. If it's on, then the program will look like it always did; if it's off, then you will see ZDaemon-specific enhancements where applicable. 76. Changed the main menu to remove the "new game" command in online mode. It gets replaced by a "disconnect" command in online mode or by a "stop demo" command while demo watching. This change applies only when classic_look is off. 77. Blocked the "testcolor" command from online mode. 78. Added a -nostaticbots command line to the server. It allows only dynamic bots (the ones set via minplayers) in game. Useful for conserving server CPU. 79. Sectors where BOTH the floor and ceiling had moved would not display properly in client/server mode if you connected to the server after the movement. Fixed. 79. Sectors where BOTH the floor and ceiling had moved would not display properly in client/server mode if you connected to the server after the movement. Fixed. 80. The silent chaingunner problem should be fixed now. 81. Added a "splashfactor" variable to mapinfo. It's a float and on the same scale as sv_splashfactor. 82. The splashfactor cvar is now sent to the launcher so that one can setup launcher filters for RJ servers. 83. A player's dying scream would not be heard if he respawned quickly enough. Fixed. 84. The doom "ouch" face has been fixed. 85. There was a bug in mapinfo where changes in dmflags (jump/mlook) would not revert to the previous values at map's end. Fixed now. Mapinfo also incorrectly overrode server cvar overrides; also fixed. 86. Implemented a new game mode called "Survival"; it's basically coop with limited lives. The amount of lives is set by the "maxlives" cvar. Once a player's deathcount exceeds maxlives, he becomes a spectator and his IP address is blocked from joining til the end of the round. If everyone becomes a spectator (ie,. failure), then the map resets. Contrary to other modes, spectators who used to be players can vote (ie they're considered as players for voting purposes). Team damage is forced to zero (and even telefrags dont' affect the deathcount) to avoid "unpleasantries". Survival is also playable in SP mode (from the SP launcher). 87. Introduced a new "gametype" CVAR; it's intended to simplify gametype selection. It can assume one of the following values: 0 -> DM 1 -> TDM 2 -> Coop 3 -> CTF 4 -> Survival If the CVAR is set, it automatically sets the proper values for the "deathmatch", "teamplay" and "ctf" CVARs. If it's not set, then it gets deduced by those 3 CVARs. The reason for this "reciprocity" is to enable the use of the client/server by older launching tools which may not support "gametype" yet. This will not last for ever though; the 3 CVARs are now deprecated and they will be removed sometime in the future. 88. The key display in the HUD would be wrong when someone had a key AND reached the death limit in survival mode AND the "keep keys" dmflag was on. Fixed. 89. Fixed an old problem whereby 2 players would get stuck if their bounding boxes somehow managed to overlap. 90. Telefragging and teamdamage are blocked from cooperative and survival, public, non-passworded servers. 91. Implemented the following policy regarding morphed players (chicken/pigs) in CTF mode: morphed player can always return flags, BUT they cannot carry them in the default setup. If a mapper wants to enable that, he can turn on the MF_PICKUP bit on the ChickenPlayer/PigPlayer actors. In that case, the morphed players will be able to carry flags as usual. 92. Implemented a comprehensive connectivity check for zserv. When advertized to the master, it automatically detects when it's behind a NAT and it turns UPnP on (the -upnp command line option is hereby removed); it also requests a connectivity check from the master in order to determine if the zserv is reachable from outside the NAT or not. When the test finishes, you will see a message informing you about the outcome. This should put an end to the questions "can anyone see my server, etc, etc". 93. Fly/swim up/swim down buttons now work in spectator mode. 94. Replaced the "limitpainelemental" server CVAR by the "maxlostsouls" CVAR. The new one is an integer rather than a boolean and it defaults to 20. 95. High resolutions help and boss screens should work now. 96. The summon command has been improved to avoid getting stuck with the spawned actor; it also tries to avoid spawning an item at a location where it doesnt' fit. 97. Fixed a rendering bug that could crash the client with sloped surfaces viewed from very far. 98. The max. health of vampire mode goes to the soulsphere level (200 by default, but can be changed via dehacked). 99. Updated the zlib library used by both client and server. 100.Made yes/no votes case-insensitive when issued as chat strings. ----------------------------------------------------------------------------- 10. Point 09 release (TBD) ----------------------------------------------------------------------------- 1. Fixed several memory leaks, a resource leak and an out of bounds bug. 2. Fixed a crash when a monster causes the level to end in coop. 3. Fixed a lighting bug on certain sloped surfaces. 4. Enabled the rcon command to allow empty double quotes; useful for removing passwords. 5. Added sector specials sDamage_Hellslime and sDamageSuperHellslime (delayed damage sector). 6. Added the following new sector specials: Sector_Outside (87) sLight_Strobe_Hurt (104) Damage_InstantDeath (115) Sector_Heal (196) 7. Made bots aware of new damaging floors. 8. Fixed multis when a player dies. 9. Relaxed limit on subsectors (Critical map error: Bad firstline number) 10. Added new client commands "spynext2", "spyprev2", "spyown". The first 2 differ from spynext/spyprev in that they avoid going through your own POV. The 3rd command restores the view to your own POV quickly. 11. Fixed a bug whereby movement in the vertical direction was blocked if 2 players managed to overlap. 12. New DMFLAG (DF_TRACE = 0x01000000) and associated cvar (sv_trace) to enable hitscan weapons to cross self referential sectors. Also enabled the "compat_trace" keyword in mapinfo to override that DMFLAG. The mapinfo syntax is: compat_trace = N where N can be 0 or 1. 13. Fixed a client crash on exit from e2m9 of doom.wad 14. Improved the netcode to propagate changes in several server variables on start of each round. 15. Taking advantage of the above improvement, the client can finally split demos automatically on each map start. 16. Added more server query speed settings to the launcher resulting in faster server refreshes. 17. Made the client automatically hide the "press space to join" message when taking screenshots. This removes the need for the "cl_showpressuse" cvar. 18. Improved the Heretic frag/teamscore display when using a full screen HUD: it's now very similar to the DooM one. 19. Fixed the orientation of items spawned in c/s mode when their angle was non-zero. 20. Slightly modified the map reset functionality; when a map is reset by voting, the players at the time of the voting automatically spawn on map reset (so it's not possible for them to lose their place in the game from the map reset). Also added a "map_reset" server command to do the same from the server console. 21. Extended the scoreboard to display health/armor up to 999/999. 22. Extended the nice weapons dmflag to work in DM too: when it's enabled in DM, you spawn with a berserk in Doom or with the gauntlets in Heretic. 23. The monster rail attack now shows in online mode. 24. Fixed a problem with the Heretic artifacts not making the activation sound in c/s mode. 25. Fixed a bug where some doors would remain partially open in online mode. It was a precision loss in the netcode. 26. Removed a precision loss problem in the player movement in c/s mode. It was responsible for a variety of issues including the midget bug. 27. Enabled "irc://", "zds://" and "#channel" hyperlinks inside ZRC. 28. New netcode that sends/shows the player pitch. 29. New netcode that sends/shows the weapon switching. 30. New netcode handling sector lighthing effects. 31. New netcode handling floor and ceiling texture changes. 32. The client sends the full pitch angle rather than the delta to avoid desyncs due to packet loss; we should never see again the RL fire rockets to the floor (and killing us) when we're looking straight ahead. 33. Added an "item_respawn_time" CVAR that determines in seconds the respawning frequency of items. The DF_QUAD_RESPAWN_TIME dmflag and sv_quadrespawntime CVAR are not needed any more, so they're dropped. 34. New netcode to differentiate among the various grunts (grunts/lands/ usefails). 35. Fixed some accuracy problems with all missiles in online mode. It was evident in the cubes fired in the Icon of Sin map. 36. Fixed coordinate truncation problem during teleporting and also improved silent teleports. 37. New connection handshake that avoid DOS issues and also resolves the "invalid nickname" problem. 38. New "+zoom" command that zooms the player view. The zooming behavior is like UT rather than Quake: the amount of zooming is determined by how long you keep the zoom button pressed. When you release the button, the view stays at the current zoom level. You can unzoom it by pressing the button a second time. Zooming is enabled via a new dmflag (DF_ALLOW_ZOOM = 0x1000000) or an associated cvar (sv_allowzoom). 39. Target names should not show on players having an invisibility powerup. 40. New DMFLAG (DF_SPEC_TEAM_BLOCK = 0x00800000) that restricts spectators to own teams in team modes. There is also an associated cvar called "sv_specteamblock". 41. Fixed precision losses at several netcode messages. 42. New netcode handling dormant, hidden, deaf objects properly on spawn. 43. Items taken before someone connected to the server, would appear as non-taken to that client: fixed. 44. New netcode that sends player powers on connection: fixes the display of players which have activated a special power (eg., invisibility, strength, flying) before another player connects. 45. The lowest layer of the netcode has been completely rewritten; the packets have been separated into reliable/unreliable classes and reliable (important) packets will be resent by the server in case they're missed by a client (for example object creation/destruction messages). Enables the use of maps with a large number of objects / items in online mode. 46. New zserv.cfg file with lots of detailed information about all the server options, courtesy of Earthquake. 47. New decals fading after 30 seconds. 48. Implementation of "remote sounds" in online mode so the server can instruct the client to play a given sound from the wads. Fixes a variety of bugs in online mode (eg., the sound when you enter the main area of the Icon of Sin map). 49. Proper implementation of tracer (seeker) missiles in online mode. It should fix the revenant fireballs and various heretic missiles. 50. Fixed the WolfensteinSS firing sound. 51. Reduced the number of packets/data sent by the client while spectating or remaining dead. 52. Implemented the Hexen keys. 53. Fixed some crashes on special projectiles like the tree leaves on Hexen map01. 54. Weapons now reset on episode start. 55. Added missing DMFLAGS to the launcher. 56. Disabled spectator bobbing when they walk on floor. 57. New DMFLAG (DF_NEW_THRUST = 0x02000000) and associated cvar (sv_newthrust) that enables ZDoom 2.x style ThrustThing behavior. The main difference is that the thrust angle and momentum is added to the preexisting player speed/angle instead of replacing it. Careful when using this DMFLAG: some maps require the old behavior (eg., zdctfmp2.wad map17). 58. Added "SR-127" detection to the server. Catches "sideways turbo" hacks. 59. Added "inappropriate SR-50" detection to the server. Catches "SR-50 with turning" hacks. 60. Updated the freedm version bundled with the release. 61. Implemented a "team radar" that shows the position of teammates on a small grid. The radar applies to Coop, Survival, TDM, and CTF modes only. It is controled via the "radar" cvar: 0 = No radar, 1 = Translucent, 2 = Opaque. The size of the graphic defaults to 128 pixels but can be modified via the "radar_size" cvar (valid range: 16-192). The position of the radar is determined by the "radar_x" and "radar_y" cvars. Zero or positive values, indicate the coordinate of the upper left corner of the radar (in pixels). Negative values signify distances from the right or bottom of the screen. For example, the default value of radar_x is -128 while the default value of radar_y is 0. Given that the default value for radar_size is 128, this means that the radar will be shown on the upper- right corner of the screen. The "radar_dot" cvar controls the size of each player dot. It can range from 1 to 6 and defaults to 3. The "radar_scale" cvar controls the map-to-radar scale. It's a floating point number and can range from 0.1 to 10. Defaults to 1. Higher scale values mean smaller distances on sceen and vice versa. 62. Enabled the use of more fonts for the console, normal, large and centered messages. 63. New "conbgdinsta" cvar that enables a quick console transition. 64. New "conbgdshaded" cvar that controls if the console background will be the classic one or a user-definable transparent one. You can control the background color brightness and opacity by the "conbgdbrightness" and "conbgdfade" cvars. 65. Implemented a new demo format (with ZDD extension) that provides the following benefits over ZDOs: 1. WAD information and checksums are embedded into the demo so it's never a mystery about which wad (and version of the wad) was used to record the demo. 2. Native compression support so you don't need to put demos inside zip files for web distribution. 3. The demo can be opened directly by the client (which will then figure the wads on its own); simplified the direct opening of demos either by the Windows Explorer or even by web browsers (in case the demo is downloaded from the web and opened directly). 4. The demo format supports various embedded tags (for example, game type, recording date, player information, etc). It can be used to simplify the creation and maitainance of large demo repositories. 5. Quite a few of the above tags are filled automatically by the recording client. 66. Implemented a "demo tool" program that lets you add/edit tags to demo files, automatically saves the demo in compressed format and can be used to convert a ZDO demo to the new (ZDD) format. 67. Enabled the use of "DVD-like" playback controls while watching demos. You can play/pause, skip forward/backward to "chapter points" (evenly spaced at 20 second intervals) and you can also go forward/backward by a single frame (1/35th of a second) while in paused mode. The chapter spacing is controled by the "demo_chapterspacing" cvar; it defaults to 20 (seconds). The forward/backward skipping is done with the "demo_tonext" and "demo_toprev" commands, which are bound to the "n" and "p" keys by default. You can adjust them from the "customize controls" menu. 68. Added an optional demo panel that may show either the "demo clock" only or the clock plus the key bindings for the forward/backward operations. The cvar is called "demo_panel": 0 = no display, 1 = clock only, 2 = full panel. Themed panels for the various games (doom/heretic/hexen) kindly provided by Cybershark. 69. Added an optional progress bar during the demo playback. It is displayed at the bottom of the screen and can provide useful feedback as the ZDD format contains duration information. The display of the progress bar is controled by the "demo_progressbar" cvar (0 = off, 1 = on). You can also control its height via the "demo_progressheight" cvar; valid range: 1-32; default = 3. 70. Updated the fmod library. 71. Added support for the Game_Music_Emu library (gme.dll) which emulates game music in various file formats. For more details check: http://www.fly.net/~ant/libs/audio.html#Game_Music_Emu 72. Fixed the monsters count when monsters respawn from nightmare, archviles, or scripts. 73. Fixed a division by zero crash on maps with zero length lines. 74. Using 'connect' on the console will first disconnect from the current server if possible. 75. Relaxed segs, sector, linedef limits. dv.wad map05 will load now. 76. Increased the consolelines buffer. 77. Fixed the installation script to avoid removing unrelated stuff. 78. Added friction and noalert support to terrains. Removed lowfriction keyword since it was not working at all. Updated terrain lump in zdaemon.wad to make heretic splashes not alert monsters. Replaced lowfriction with friction (whole patch by worst-vd-plas). 79. Added vavoom and vertex slopes (by worst-vd-plas). 80. Fixed heretic sludge damage to 4 (was using doom nukage with 5). 81. Fixed bridge things not blocking players on elevators. 82. Made a small fix for survival/maxlives when going from CS to SP mode: maxlives was set to 1, if it was zero. 83. Updated zlib to 1.2.5 84. Fixed ACS thingsound to play on client and extended remote sound to allow scaled sound playback! 85. Fixed syncing issue with once usable switches for new connecting players. 86. Own death didn't stop double kills: fixed. 87. Restored client heapsize to 32M to reduce the "out of memory" errors. 88. Fixed a music restarting problem in online games when the client had lost focus and the "mute when out of focus" option was on. 89. Added high byte support for Line_SetIdentification. 90. Changes to DMFLAGS and splashfactor while a map was active, would be reverted at map's end. Fixed. 91. Fixed the archvile blast that sent players flying too high. 92. Fixed a HOM/up/down problem when spectating/spying on others. 93. Changed the bodyqueue to prevent a rare client crash. 94. The scores screen should not remain up when you die and remain dead through a map change. 95. Fixed slope things to behave as in ZDoom 2.x 96. Fixed invisible thing and custom thing bridges 97. Fixed prediction error from ThrustThings 98. Fixed transfer height things 99. Fixed fake floor things 100. Fixed local scripts for SecThings, for later ACS fixes 101. Chainsaw and railgun shots should not be sent back to shooter. Railgun will be animated locally now. 102. Set heretic gauntlets kickback to 0. They should not push! 103. Disabled torque simulation. 104. Simple fix for waterzones. 105. Removed snesapu support from the code. 106. Extended the netcode to support polyobjects in online mode. 107. Updates FLAC to version 1.2.1. 108. Don't allow dehacked to read beyond patchfile. 109. Allow boom pointers to be handled properly in dehacked. 110. Precision fixes regarding r_pointToAngle2: huge slopes should be viewable from a distance now, 111. Allow RAW and ADLIB files to be used for music and played by the OPL synth. 112. Made r_drawtrans persistent. 113. Fixed nextmap of several heretic episodes for a full map rotation. 114. Palette problems in windows vista/7 should be a thing of the past. 115. Fixed a client crash happening at the start of Heretic E2M9. 116. Fixed a vampire mode bug: it would count barrels as monsters. 117. Implemented a reconnect-flooding control. 118. Avoid showing the IP of people getting banned/disconnected when there is no nickname available. 119. Implemented a temporary black hole on the server for people who are banned and keep flooding the server with connection attempts. 120. The Doom HUD didn't clear properly when a card/skull was removed via ACS: fixed. 121. Fixed a crash that happened on both client and server when all weapons were removed via ACS. 122. The auto chaos device use will now play a sound and update the players health and inventory when it is triggered. 123. The netcode now spawns items over the wire by a unique ID rather than class name. This results in significant savings in bandwidth on map start (when the map contains many monsters/items). 124. Fixed a client crash when an inactive acs script was terminated. 125. The fraglimit would not show properly when a server used a cvar override: fixed. 126. Fixed a problem with mapinfo overrides in conjunction with manual overrides of dmflags and sv_splashfactor. 127. Fixed a visual glitch in the doom boss cube. 128. Added high-ASCII characters from the Western European codepage to the Trebuchet (scores) fonts. 129. New weapon firing netcode: produces full weapon animation, sounds, bullet puffs and proper ammo consumption from the POV of other players too. That includes punching in doom as well as all heretic weapons. 130. No more separate "deathmatch", "teamplay", "ctf" cvars; game modes are now set solely via the gametype CVAR. 131. Increased hard client limits from 16 to 32. 132. When someone remained dead at the end of map in coop, he was not able to spawn normally on the next map. Fixed. 133. Added unlagged calculations to the Fist, Chainsaw, Dragon Claw (normal mode only), Hellstaff (tomed-up mode only), Staff, Elven Wand, Gauntlets and Beak (both modes). 134. Added proper obituaries for Heretic DM to replace the generic "Player died" message. 135. Removed several renderer related CVARs which are inappropriate for multiplayer games: r_drawtrans, r_particles, tilt, r_skyboxes, r_fogboundary, r_drawmirrors and r_drawplayersprites. 136. Fixed a teleporting missile bug where a player/monster blocking the exit of a teleport would prevent the missile from teleporting. 137. Added more default bots to bots.cfg (suitable since we're increasing maxclients) 138. Implemented a new version of unlagged that's tick rather than ping based. It's far more accurate and efficient than the previous version. 139. Don't get out of automap mode if you die and the map is overlaid. 140. 4 new heretic sounds by Adereth: New connection sound, found a secret, player connection, chat sound. 141. Fixed some problems with the archvile attacks in client/server mode. 142. The resurrection of monsters by archviles would not work properly in online mode. Fixed. 143. The position of items marked as "pushable" or "windthrust" was not properly updated in c/s mode. Fixed. 144. The -nbots cmd. line parameter on the server would sometimes be ignored if a map ended without all the bots having spawned yet. Fixed. 145. Implemented the -nbots cmd. line parameter on the client. 146. New Chicago font: comes in 8 font sizes and can be used anywhere. 147. Teleporters no longer lag in high-latency games, but appear instant to the client. 148. Enabled the connect command in client to issue a true disconnect and fixed an server inconsistency with CTF Flag states (reported by [BR]Mega-Dog). 149. Implemented a new server CVAR called "sleep_on_empty". It's about having the server sleep when there are no human clients connected. When its value is 0, the level/monsters/bots tick as usual even when no human is around. When its value is 1 and there are no human clients connected, then everything BUT the level timer sleeps (so the maps will obey a timelimit if set). When its value is 2 and there are no human clients connected, then everything, including the timer, is put to sleep. The CVAR defaults to 1. 150. Made the face background in the HUD reflect your selected color. 151. Modified the full screen HUD to use the bottom side for the team scores (and keys/cards in coop), to make room for the team radar on the upper right corner. 152. Items/Monsters spawned via the summon command (in SP mode) should not respawn. 153. Items/Monsters spawned via ACS on the server should not respawn independently on the client. -----------------------------------------------------------------------------