|
|
Changelog for the ZDaemon 1.08 -> 1.09 transition ================================================= 1. Point 01 release (2006-01-01) ----------------------------------------------------------------------- 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 (2006-04-04) ----------------------------------------------------------------------- 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 (2007-12-17) ----------------------------------------------------------------------- 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 (2007-12-26) ----------------------------------------------------------------------- 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). ----------------------------------------------------------------------- 6. Point 06 release (2008-05-26) ----------------------------------------------------------------------- 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 <number>: Goes forward/backward in the map list mapskipto <mapname>: 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 <mapname> callvote kick <playername> 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 (2008-06-03) ----------------------------------------------------------------------------- 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 (2008-10-15) ----------------------------------------------------------------------------- 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 (2009-07-16) ----------------------------------------------------------------------------- 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 till 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 08b release (2010-11-30) ----------------------------------------------------------------------- 1. Added support for 16, 24 and 32 bit per color (bpp) DirectX modes. The program defaults to 8 bpp modes under Win 9x/ME and 24/32 modes on all other Windows versions. One can override it from the command line via the -bits parameter, but that should be completely unneces- sary. This should finally put to rest all palette issues under all Windows versions. 2. Added support for secondary monitors in full screen mode. This is enabled via the command line parameter "-screen N" where N is a positive integer identifying the display you want to use. To use a second screen for example, you would specify "-screen 2". Full screen is forced when using a secondary display. 3. by [XXX]Krawa: added tab autocompletion for client console rcon commands. 4. Fixes client spawning monsters generated by dsparil locally. 5. Avoid moving floors/ceilings/etc. locally on the client in c/s mode; it conflicts with movement done on the server. 6. Extended changemus command to show the name of the current song when no argument is specified. 7. Fixed ghost monsters left by archvile resurrections. 8. Make sure that monsters spawned by the boss cube don't respawn (on the client side) 9. When using regular or team chat the "say:" prompt will be drawn with the color specified in the messages color options. ----------------------------------------------------------------------------- 11. Point 08c release (2011-07-14) ----------------------------------------------------------------------- 1. Fixed chainsaw/gauntlet bug on clientside that would result in players warping around the map after they hit an enemy. 2. Fixed rendering glitch when r_detail is used and the console is active. 3. Fixed a rare decal rendering crash (320 res + r_detail + min screensize). 4. Fixed a particle rendering crash (e.g. zdomination map05). 5. Fixed a sound problem on maps that blocked sound clipping. 6. Fixed rare menu selection bug when full console was active. 7. Added the message "Cannot change color/skin while alive!" showing in the player setup menu while the player is alive. 8. Sometimes one would spawn looking the wrong way if his corpse went through a teleport. Fixed. 9. Fixed missing map names during intermission in some rare cases (eg. zdctf_bsides-.wad). 10. Fixed an infinite loop during intermission when someone had a fragcount above 99 or below -99. 11. Removed local port binding from client. 12. Implemented Picture-in-Picture (PiP) feature for duels. When watching a duel demo or spectating a duel online, while spying on one of the players, a PiP of the opponents view will be shown on screen. It is controled via the "pip" cvar: false = No PiP, true = render PiP. The size of the PiP defaults to a width of 160 pixels but can be modified via the "pip_width" cvar (valid range: 80-640). The position of the PiP is determined by the "pip_x" and "pip_y" cvars. Zero or positive values, indicate the coordinate of the upper left corner of the PiP (in pixels). Negative values signify distances from the right or bottom of the screen. For example, the default value of pip_x is -160 while the default value of pip_y is 20. The PiP will be shown on the upper-right corner of the screen by default. 13. Allow passworded servers to change the spam limits. 14. Fixed a potential server crash (thx to kgsws_cz). 15. Fixed a numeric overflow bug that would crash unix servers at certain times. 16. Improved the team balancing behavior: when "maxplayersperteam" is equal to -1, then the server uses the current method (ie., does not allow more than maxplayers/maxteams players in any single team) for the first 7 seconds ONLY. After that period is up, then joins can be made only to the team that has the least number of players. If there are more than one such teams, then joins can be made only to the one with the lowest team score (from among the teams with the least number of players). ----------------------------------------------------------------------------- 12. 1.09b21 public release (2011-07-16) ----------------------------------------------------------------------------- 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. The monster rail attack now shows in online mode. 23. Fixed a problem with the Heretic artifacts not making the activation sound in c/s mode. 24. Fixed a bug where some doors would remain partially open in online mode. It was a precision loss in the netcode. 25. 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. 26. Enabled "irc://", "zds://" and "#channel" hyperlinks inside ZRC. 27. New netcode that sends/shows the player pitch. 28. New netcode that sends/shows the weapon switching. 29. New netcode handling sector lighting effects. 30. New netcode handling floor and ceiling texture changes. 31. 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. 32. 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. 33. New netcode to differentiate among the various grunts (grunts/lands/ usefails). 34. Fixed some accuracy problems with all missiles in online mode. It was evident in the cubes fired in the Icon of Sin map. 35. Fixed coordinate truncation problem during teleporting and also improved silent teleports. 36. New connection handshake that avoid DOS issues and also resolves the "invalid nickname" problem. 37. 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). 38. Target names should not show on players having an invisibility powerup. 39. 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". 40. Fixed precision losses at several netcode messages. 41. New netcode handling dormant, hidden, deaf objects properly on spawn. 42. Items taken before someone connected to the server, would appear as non-taken to that client: fixed. 43. 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. 44. 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. 45. New zserv.cfg file with lots of detailed information about all the server options, courtesy of Earthquake. 46. New decals fading after 30 seconds. 47. 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). 48. Proper implementation of tracer (seeker) missiles in online mode. It should fix the revenant fireballs and various heretic missiles. 49. Fixed the WolfensteinSS firing sound. 50. Reduced the number of packets/data sent by the client while spectating or remaining dead. 51. Implemented the Hexen keys. 52. Fixed some crashes on special projectiles like the tree leaves on Hexen map01. 53. Weapons now reset on episode start. 54. Added missing DMFLAGS to the launcher. 55. Disabled spectator bobbing when they walk on floor. 56. 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). 57. Added "SR-127" detection to the server. Catches "sideways turbo" hacks. 58. Added "inappropriate SR-50" detection to the server. Catches "SR-50 with turning" hacks. 59. Updated the freedm version bundled with the release. 60. 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. 61. Enabled the use of more fonts for the console, normal, large and centered messages. 62. New "conbgdinsta" cvar that enables a quick console transition. 63. 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. 64. 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. 65. 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. 66. 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. 67. 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. 68. 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. 69. Updated the fmod library. 70. Added support for the Game_Music_Emu library (gme.dll) which emulates game music in various file formats. For more details check: http://slack.net/~ant/libs/audio.html#Game_Music_Emu 71. Fixed the monsters count when monsters respawn from nightmare, archviles, or scripts. 72. Fixed a division by zero crash on maps with zero length lines. 73. Using 'connect' on the console will first disconnect from the current server if possible. 74. Relaxed segs, sector, linedef limits. dv.wad map05 will load now. 75. Increased the consolelines buffer. 76. Fixed the installation script to avoid removing unrelated stuff. 77. 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). 78. Added vavoom and vertex slopes (by worst-vd-plas). 79. Fixed heretic sludge damage to 4 (was using doom nukage with 5). 80. Fixed bridge things not blocking players on elevators. 81. Made a small fix for survival/maxlives when going from CS to SP mode: maxlives was set to 1, if it was zero. 82. Updated zlib to 1.2.5 83. Fixed ACS thingsound to play on client and extended remote sound to allow scaled sound playback! 84. Fixed syncing issue with once usable switches for new connecting players. 85. Own death didn't stop double kills: fixed. 86. Restored client heapsize to 32M to reduce the "out of memory" errors. 87. Fixed a music restarting problem in online games when the client had lost focus and the "mute when out of focus" option was on. 88. Added high byte support for Line_SetIdentification. 89. Changes to DMFLAGS and splashfactor while a map was active, would be reverted at map's end. Fixed. 90. Fixed the archvile blast that sent players flying too high. 91. Fixed a HOM/up/down problem when spectating/spying on others. 92. Changed the bodyqueue to prevent a rare client crash. 93. The scores screen should not remain up when you die and remain dead through a map change. 94. Fixed slope things to behave as in ZDoom 2.x 95. Fixed invisible thing and custom thing bridges 96. Fixed prediction error from ThrustThings 97. Fixed transfer height things 98. Fixed fake floor things 99. Fixed local scripts for SecThings, for later ACS fixes 100. Chainsaw and railgun shots should not be sent back to shooter. Railgun will be animated locally now. 101. Set heretic gauntlets kickback to 0. They should not push! 102. Disabled torque simulation. 103. Simple fix for waterzones. 104. Removed snesapu support from the code. 105. Extended the netcode to support polyobjects in online mode. 106. Updates FLAC to version 1.2.1. 107. Don't allow dehacked to read beyond patchfile. 108. Allow boom pointers to be handled properly in dehacked. 109. Precision fixes regarding r_pointToAngle2: huge slopes should be viewable from a distance now, 110. Allow RAW and ADLIB files to be used for music and played by the OPL synth. 111. Fixed nextmap of several heretic episodes for a full map rotation. 112. Palette problems in windows vista/7 should be a thing of the past. 113. Fixed a client crash happening at the start of Heretic E2M9. 114. Fixed a vampire mode bug: it would count barrels as monsters. 115. Implemented a reconnect-flooding control. 116. Avoid showing the IP of people getting banned/disconnected when there is no nickname available. 117. Implemented a temporary black hole on the server for people who are banned and keep flooding the server with connection attempts. 118. The Doom HUD didn't clear properly when a card/skull was removed via ACS: fixed. 119. Fixed a crash that happened on both client and server when all weapons were removed via ACS. 120. The auto chaos device use will now play a sound and update the players health and inventory when it is triggered. 121. 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). 122. Fixed a client crash when an inactive acs script was terminated. 123. The fraglimit would not show properly when a server used a cvar override: fixed. 124. Fixed a problem with mapinfo overrides in conjunction with manual overrides of dmflags and sv_splashfactor. 125. Fixed a visual glitch in the doom boss cube. 126. Added high-ASCII characters from the Western European codepage to the Trebuchet (scores) fonts. 127. 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. 128. No more separate "deathmatch", "teamplay", "ctf" cvars; game modes are now set solely via the gametype CVAR. 129. Increased hard client limits from 16 to 50. 130. When someone remained dead at the end of map in coop, he was not able to spawn normally on the next map. Fixed. 131. 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). 132. Added proper obituaries for Heretic DM to replace the generic "Player died" message. 133. 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. 134. Fixed a teleporting missile bug where a player/monster blocking the exit of a teleport would prevent the missile from teleporting. 135. Added more default bots to bots.cfg (suitable since we're increasing maxclients) 136. Implemented a new version of unlagged that's tick rather than ping based. It's far more accurate and efficient than the previous version. 137. Don't get out of automap mode if you die and the map is overlaid. 138. 4 new heretic sounds by Adereth: New connection sound, found a secret, player connection, chat sound. 139. Fixed some problems with the archvile attacks in client/server mode. 140. The resurrection of monsters by archviles would not work properly in online mode. Fixed. 141. The position of items marked as "pushable" or "windthrust" was not properly updated in c/s mode. Fixed. 142. The -nbots cmd. line parameter on the server would sometimes be ignored if a map ended without all the bots having spawned yet. Fixed. 143. Implemented the -nbots cmd. line parameter on the client. 144. New Chicago font: comes in 8 font sizes and can be used anywhere. 145. Teleporters no longer lag in high-latency games, but appear instant to the client. 146. 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). 147. 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. 148. Made the face background in the HUD reflect your selected color. 149. 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. 150. Items/Monsters spawned via the summon command (in SP mode) should not respawn. 151. Items/Monsters spawned via ACS on the server should not respawn independently on the client. 152. Textures and line properties can be changed with acs now. 153. Implemented 2 new dehacked thing properties: SpawnID #= <value>, where value can be 0-255. Game = <gamename>, valid names are "Any", "Doom", "Heretic", "Hexen" and "Raven". SpawnID is used in line specials like Thing_Spawn. Game is used for changing the game an actor belongs to. 154. Fixed a problem where doom "missing key" messages would show in heretic. 155. New connected clients will set changed scrollers properly now. 156. Client will now correctly adjust pusher values on connect. 157. Fixed a vertical jitter (jackhammer) problem when going down stairs. Significantly improves the movement when running over non-flat floors. 158. Fixed a problem where the monsters would sometimes not appear in their attacking state (when they were in fact attacking) after getting shot. 159. Some monster melee sounds were missing: fixed too. 160. The Burning and Ice death sequences would not display properly in online mode. Fixed. 161. The 'do not switch if firing' PWO rule gets suspended for one second after spawn. 162. Implemented new dehacked features: 1. Added heretic armor classes to dehacked misc section. The properties are "Silver Armor Class" and "Enchanted Armor Class". 2. Made armorclass values fixedpoint, eg. "Green Armor Class = 1.5" will give 150 armorpoints. 3. Mixed Doom and Heretic armorlists, it's now possible to have 4 different armors in doom or heretic. 4. Added 3 thing state types "Burning death frame", "Ice death frame" and "Crash frame". 5. Added support for MBF-style codepointer A_Spawn. It uses the frames "Unknown 1" field as the dehacked thing number to spawn, and the "Unknown 2" field as the height relative to the thing to spawn. 163. Ceiling flat changes with linespecials should work now. 164. Made parsing of DECALDEF lumps more forgiving in terms of unknown generator actors. When such definitions are encountered, the unknown generators are skipped and the program continues rather than aborting. 165. Changed default ID for lines to -1 instead of 0. This emulates standard Hexen behavior where Line ID 0 can be used, and it's still different from all the other lines in the map without a ID. 166. Certain hyperlinks are safe in ZRC, so always enable them. This includes #channel, zds:// and http://*.zdaemon.org/* links. 167. Added custom colors for 2 more operator categories in ZRC: half-ops and "above normal" operators. 168. Implemented automatic altwads on the server: it's controled via the "auto_altwads" CVAR; when that CVAR is non-zero (the default value) and there are no manual altwads in effect, the server checks the maps in the rotation (or all maps if there is no rotation). If all maps come from PWADs and the IWAD is doom2.wad, then the server inserts the standard freedoom (freedoom070.wad) as an alternate IWAD. If all maps come from PWADs and the IWAD is doom.wad, then the server inserts the ultimate version of freedoom (freedoomu070.wad) as an alternate IWAD. 169. Added missing sounds of archviles, mancubi and revenants. 170. Several monsters erroneously played their "SeeSound" in c/s mode. 171. The state of lost souls would not be accurately relayed to the client after they attacked and hit some wall or similar. 172. Disabled spawning of unknown things in shareware games. Heretic shareware deathmatch would display "thing has no frames" error messages for pickups of the full game. 173. Updated TERRAIN support to match latest zdoom, fixed terrain based damage. 174. Fixed a server/client crash when bots are used. 175. The program would produce an error after the last episode of the shareware IWADs (doom1.wad, heretic1.wad). Fixed. 176. Added a -show_spawns cmd. line parameter to show the player spawns in SP mode. 177. Implemented a "Classic Death Behavior" mode; this lowers the player view to the floor and rotates the view towards the killer (human or monster). It's enabled via a server dmflag (DF_OS_DEATH = 0x08000000). 178. Implemented the proper turning of the marine head in the HUD towards the direction of the attacker (human or monster). 179. Extended the main menu to include load/save commands. 180. Fixed the Ironlich fire column in online mode. 181. Implemented a "Double Domination" (DDOM) mode which is a direct port of the Unreal Tournament mode with the same name. DDOM is a team mode: the map contains two control points (called Domination Points); they look like the letter A or B rotating inside a circle. The objective for each team is to capture and hold both Domination Points at the same time for ten seconds. Dom. Points are captured by running over them, and will remain captured until an opponent runs over them (and captures them for his own team). The color of the domination points indicates their capture status: gold -> not captured (neutral), red -> captured by the red team, blue -> captured by the blue team. If a team succeeds in holding both Points for ten seconds, that team scores a point and the Domination Points are reset. Individual points are awarded by the usual TDM rules (+1 for normal kills, -1 for suicides and teamkills) with 2 additions: fragging an opponent near a Domination Point gives an extra +1, and all players belonging to a team (and actually playing: not spectating) get +3 when the team scores a point. A "last second save" awards +1 as well. Here is a sample video of the mode in action: http://www.youtube-nocookie.com/watch?v=3Lk5-uH9GN0 The thing numbers for the domination points are 5135 (A) and 5136 (B). 182. Fixed the Heretic Beast attack (missing puffs). 183. Fixed the Heretic tomed up mace behavior. 184. Efficiency improvements in the client to better handle higher numbers of players. 185. Fixed hitscan activated lines not always passing the lineside. 186. Fixed a rare case where players would lose their camera when they entered a NULL state. 187. Modified the nice weapons dmflag to work in DM/TDM/CTF the same as in Coop mode. 188. Added stacked sectors from zdoom. 189. Fixed the Computer area map pickup sound. 190. The Heretic staff should not hit ghost monsters or players. Fixed. 191. Fixed the ghost flag not being cleared from the player when the Heretic Shadowsphere weared off. 192. Separated the Doom and Heretic invisibility effects to be powerup specific instead of depending on the game being played. 193. Fixed editor placed Gib things not appearing in game. 194. Fixed generating textures that had columns with no patches. 195. Quit server and show error message if threads cannot be started. 196. Added support for more than 4 mouse buttons. 197. Implemented a built-in railgun as a Doom weapon. It is placed in slot 6 next to the plasma rifle and consumes plasma bullets (4 per shot). It deals 150 units of damage in coop or survival and 100 units in other modes. Its edit ID is 5012. This means that it can be used in any map / mode without having to replace some other weapon (as for example TLSDM does). 198. Fixed bfg tracer rays not hitting a target in rare cases when the shooter used a teleporter just before the bfg ball hit a wall. 199. New DMFLAG (DF_INSTAGIB = 0x10000000) and associated CVAR (sv_instagib) that enables instagib mode. This mode applies to doom only: when it's on, all health, armor, powerups, weapons, ammo are removed from maps and everyone spawns equipped with a railgun and infinite ammo. All railgun shots are fatal (single-shot kills). This dmflag is incompatible with the vampire and dropweapons dmflags; they will be unavailable while the instagib dmflag is on. 200. Implemented spawning of voodoo dolls in coop and survival modes, when the dmflag (DF2_VOODOO_SPAWNS = 0x2000000) is disabled. Otherwise players will instead spawn at the voodoo doll starts. The voodoo dolls are for vanilla and boom-format map support, and may change in the future for better behavior in the c/s setting. Using them in other map formats is not recommended. 201. Fix from zdoom; Improved positioning of heretic and hexen walltorches: when placed directly on a 1-sided line, they are moved toward the middle of the sector, so the renderer can clip them more reliably. 202. Fixed the Heretic ChickenPlayer grunt sounds. 203. Heretic gasbags were getting heavily out of sync in c/s mode. Should be fixed now. 204. Fixed the respawning of items that moved on the server before someone connected (eg., items that were placed on scrollers, or barrels that had been shot, but not exploded before a player connected). 205. Fixed the spawnming (and respawning) of the Heretic Mace. 206. Fixed the syncing of Heretic volcano blasts as well as the obituaries. 207. Implemented killlimit in SP mode and also updated the scoreboard to show killlimit/timelimit/found secrets in coop mode. 208. Extended the meaning of the teamscorelimit CVAR for coop/survival modes. When it's positive, it indicates the total number of dead monsters that will signal the end of the round. 209. Corrected the size of the blood splats in c/s mode to be dependent on the damage dealt. 210. Implemented an accuracy statistic for the instagib mode: it's defined as "hits" / shots and applies to non-coop modes only. "Hits" are defined as "kills of opponent players": suicides (environment kills) are completely ignored, while a teamkill decreases the "hits" value by one. Killing of monsters does not increase the "hits" value either. The accuracy statistic appears on the DM scoreboard, but not for any team modes as this is not their primary objective. 211. New DMFLAG (DF2_OS_BLAST = 0x10000000) and associated CVAR (sv_oldblast) that enables vanilla blast physics. Explosions will move the player only along the X and Y axis. 212. Fixed floating cacodemon corpses for connecting players. 213. The server now sends the weapons, ammo, keys, artifacts, armor, etc owned by existing players on connection. Results in more accurate representation by the clients. 214. Assign slots for all doom and heretic weapons regardless of game mode. 215. Spectators (ex-players) in survival should not be able to call votes. 216. Heretic tomed up mace balls now obey teamdamage and sv_teamautoaim. 217. Preserve color codes on wrapped lines for long acs messages. 218. Added detection of 0 length and otherwise too small REJECT lumps. This fixes splash damage issues in some maps. 219. Fixed a sound desync on BFG that could give the shooter a wrong impression regarding the success of silencing the BFG. 220. Removed the am_overlay CVAR and replaced it with am_style. Possible values are 0 (Standard), 1 (Overlay) and 2 (Both). 221. Allow team chat on intermission screen. 222. Assigned proper puffs for each hitscan attack. 223. Made bloodsplatter actor specific instead of depending on the game being played. 224. New server CVAR "sv_intermissiontime" that lets you adjust the intermission time from 3 to 300 seconds. This is restricted to private OR passworded servers. 225. Enabled map, reset and randmap voting even with no maplist. 226. Various fixes to the Minotaur, DSparil and Ophidian monsters. 227. New client CVAR "r_eyecandy" that controls most visual effects introduced by ZDoom and can restore the doom2.exe looks. It can be found in Options -> Display Options -> ZDoom eye candy. Client needs to be restarted to apply all changes. When disabled it over- rides and disables the settings of cl_maxdecals, cl_rockettrails, cl_bloodtype, cl_pufftype and will remove transparency from the following doom actors: TeleportFog, ArachnotronPlasma, ArchvileFire, SpawnFire, BaronBall, CacodemonBall, DoomImpBall, PlasmaBall, BFGBall, BFGExtra, FatShot, RevenantTracer, BulletPuff, BlurSphere, LostSoul. The default value for the CVAR is true. 228. Extended the standard timer to display in overtime too (using a + to indicate overtime operation). 229. Implemented a countdown timer on intermission. 230. New client CVAR called "updfreq". It allows the client to tune the frequency of player position updates to his or her net connection. It can take the values: 1 = updates all positions on every tick: best accuracy, highest bandwith 2 = updates all positions every 2 ticks: medium accuracy, medium bandwidth 3 = updates all postions every 3 ticks: lower accuracy, lowest bandwidth The CVAR defaults to 1 (ie., it requests the most frequent possible updates); older ZDaemon versions had the update frequency hardcoded to 2 (so that's the value you can use if you prefer the older behavior). A value of 3 can be useful for dial-up and other weaker connections. There is also a server CVAR called "sv_fineticks" that controls the availability of the most frequent updates from the server side. That CVAR can take one of 4 values: 0 = "Single tick" updates will be denied to all (so everyone will use an update frequency of 2 or 3). 1 = "Single tick" updates will be available to spectators only. 2 = "Single tick" updates will be available to players only. 3 = "Single tick" updates will be available to everyone. The reason for such a CVAR is that maybe a server host does not want to enable single tick updates on FFA or CTF servers; they're not as important as on duel servers and they cause more bandwidth consumption. The default value for "sv_fineticks" is 1 (ie., available only to spectators). Server hosts that have been using this CVAR in the 1.08.xx series should update their configuration files for the new meaning of the CVAR. 231. New client cvar called cl_colorrails that enables coloring of the railshots according to the shooter's color (railshots coming from monsters will have a rainbow coloring). 232. Added confirmation prompts to the "reset" commands in the options menu. 233. Fixed the BOOM passthrough line flag. 234. Push activated line specials were always treated as activated from the front side. Fixed. 235. Changed the A_KeenDie codepointer to function the same as vanilla; Search among the types that called it, and not exclusively among keens. 236. Changed the A_BrainSpit codepointer to not rely on a pointer to the BrainEye that calls it. This allows it to be used with actors other than the eye. (eg. deimos_revisited.wad) 237. Wine fixes and saving/restoring of the window state for the launcher. 238. Improved server query speed for the launcher, *especially* under wine. 239. The launcher should avoid refreshing the server list while the client is running. 240. New 'humans' column in the launcher: useful for sorting servers by human clients. 241. Implemented an update mechanism into the launcher; it can download and install all mandatory and optional updates with a minimum of effort from the user's part. 242. Added new railgun animation and sprites by SR69MM-JC and rantrave. ----------------------------------------------------------------------- 13. 1.09b22 release (2011-07-28) ----------------------------------------------------------------------------- 1. New netcode for ACS GiveInventory and TakeInventory. 2. Fixed the ACS Spawn and SpawnSpot functions. 3. Made the sitrep display a bit more flexible: it's now an integer rather than a boolean CVAR and it can take the following values: 0 -> no sitrep 1 -> show health/armor only 2 -> show sectinfo only 3 -> show health/armor/sectinfo 4. New rule for individual DDOM scoring: +1 point when someone kills an opponent near a domination point and the killer's team scores within 2 seconds of the kill. 5. Clients are now notified of all CVAR changes on the server during a game. 6. Display health/armor in the PiP next to the player's name. 7. Joins in survival are now blocked when the last player dies and before the map restarts. 8. New server CVAR "survival_timed_spec_reset". It's a boolean. When it's "true" (the default value), the inventory of spectators will be reset at 180 seconds after the round starts (the start of the round is taken as when the first player joins: not when the map changes on the server). The idea is to prevent people from remaining spectators for the purpose of retaining weapon/item stock from previous rounds. The CVAR is forced to true for all public, non- passworded servers. 9. New server CVAR "coop_telefrags". It's a boolean. It controls whether player-to-player telefragging is enabled in coop/survival modes. The CVAR is forced to false for all public, non-passworded servers. 10. Chaingun of other people sounded a bit too fast: fixed. 11. Heretic ambient sounds were mixed up: thx to Krawa for the report and debugging work. 12. Fixed 'ghost' lost souls on client. 13. Fixed drop into ledge when firing railgun at floor. 14. When someone dies in overtime in CTF and DDOM modes, he will be forced to remain dead for a period directly proportional to the time already played in overtime (2 seconds delay per minute played). This is intended to serve as a tie-breaker. 15. New client CVAR "cl_turndeathcam". If disabled then the view will NOT follow your killer. The default value for the CVAR is true. 16. New client CVAR "r_zdoomtrans" to toggle the transparency from the following doom actors: TeleportFog, ArachnotronPlasma, ArchvileFire, SpawnFire, BaronBall, CacodemonBall, DoomImpBall, PlasmaBall, BFGBall, BFGExtra, FatShot, RevenantTracer, BulletPuff, BlurSphere, LostSoul, ARocket (explosion). The default value for the CVAR is true. 17. The client CVAR "r_eyecandy" is now a pure 'meta' CVAR that overrides different CVARs to restore a classic doom2.exe look. When disabled it is the same as setting cl_maxdecals=0, cl_rockettrails=0, r_zdoomtrans=0, cl_chasedeath=0, cl_bloodtype=0, cl_pufftype=0. The default value for the CVAR is true. 18. When a round starts in double domination (after a team score), all players are teleported to their team spawns. This is done to avoid camping on the dom. points. 19. Security and Aiming cameras should now work online. ----------------------------------------------------------------------------- 14. 1.09b23 release (2011-07-30) ----------------------------------------------------------------------------- 1. Blocked the silent BFG dmflag from Heretic/Hexen. 2. Implemented random sound variations for Heretic/Hexen. 3. Linespecials that were implemented/extended and will work online: new: LS_Floor_MoveToValue LS_Ceiling_MoveToValue LS_Thing_ChangeTID LS_Sector_SetFriction LS_NoiseAlert LS_ForceField LS_ClearForceField LS_Plat_UpNearestWaitDownStay LS_Teleport_ZombieChanger LS_Thing_Damage LS_Thing_ProjectileAimed LS_Thing_ProjectileIntercept LS_Thing_Raise LS_Sector_SetFloorScale2 LS_Sector_SetCeilingScale2 added arg0==0 check: LS_Thing_SetSpecial LS_Thing_Activate LS_Thing_Deactivate LS_Thing_Remove LS_Thing_Spawn LS_Thing_SpawnNoFog LS_Thing_SpawnFacing LS_Thing_SetTranslation added floor sound: Plat_DownWaitUpStayLip (tag, speed, delay, lip, floor-sound?) added type arg: LS_TranslucentLine 4. Fixed a bug that prevented game saves. 5. The update dialog in ZLauncher can now produce a list of affected files. 6. Fixed a recently introduced bug that would not let rockets pass through the window in d5m1. 7. Fixed projectiles thrusted by ThingThrust and ThingThrustZ linespecials. 8. Fixed monster reflected projectiles. ----------------------------------------------------------------------------- 15. 1.09b24 release (2012-01-27) ----------------------------------------------------------------------------- 1. Game loading doesn't mix well with start/end of game transitions. Fixed. 2. When someone canceled a game load he'd get into a mixed player/ spectator state. Fixed. 3. ACS Fixes and Improvements: 1. Changes to ACS arrays always affected the first declared array, rather than the one that was being changed. Fixed. 2. Recursive ACS function calls were broken. Fixed. 3. Fixed some cases where garbage values were being written in map variables. 4. Implemented support for ACS libraries. 4. Extended the OS wallrunning dmflag to restore doom2.exe thingrunning when enabled. 5. Restore doom2.exe like item dropping for doom monsters. 6. Fixed player not dropping weapon if he respawned too fast and drop weapon dmflag was enabled. 7. Introduced a new DMFLAG (DF2_OS_DROPOFF = 0x00002000) and an associated CVAR (sv_olddropoff). When this flag is on, actors cannot be pushed from ledges. When the flag is off then the behavior is similar to BOOM's. This option is useful for maps that need vanilla behavior like avj.wad where monsters should not drop from pillars. 8. Fixed melee range calculations for doom and heretic monsters. 9. New font called "Virtue": comes in 8 font sizes and can be used anywhere. 10. New "Major Game Event" font option that lets you specify the font used for major game events (eg., Red flag taken, Blue Team Dominating, Sprees, Multikills) independently of the normal Large font. 11. New client CVAR "secretmessage". It can take the following values: 0: Message and sound effect 1: Message only 2: Sound effect only 3: Neither message nor sound effect 12. Voodoo dolls were not affected by puller/pusher things. Fixed. 13. Implemented ACS Sound & Music functions in online mode. 14. Fixed return values of ACS Spawn and SpawnSpot functions. 15. Added a "compat_shorttex" CVAR that enables the vanilla shortest texture finding logic. This affects how much some floors/ceilings move in maps that require the old behavior to be on or off. The CVAR defaults to true. 16. ENTER scripts in ACS were being executed too early. Fixed. 17. More ACS fixes and improvements: 1. The increment and decrement operators always affected the first element of an array instead of the one that was being changed. Fixed. 2. Implemented DISCONNECT script support. These scripts are executed when a player either disconnects while having spawned, or when a player turns into a spectator. The script is executed by the world, and by the time it runs, the player is already out of the game so nothing can be done to the player at that point. The script takes one argument, which is the number of the player who left. 3. Fixed a divide by 0 in the ACS random function when the maximum was one less than the minimum. Now you can specify the max and min as either parameter. (so now the maximum cannot be less than the minimum). 4. Implemented world and global array support for ACS. 5. Added the PlayerNumber() ACS function for finding out which player is executing a script. For an actual player it returns the number of the player and for anything else -1. 6. Added the ActivatorTID() ACS function to retrieve the TID of the actor that activated a script. 7. Added the strlen ACS function. 8. Added the getcvar ACS function. It returns the value of a cvar as an int, so scripts can alter their behavior based on cvars. 9. Implemented support for LOADACS libraries. 18. Added support for loading multiple DEHACKED lumps. This allows combining multiple dehacked mods, as long as the dehacked in them is not in conflict. 19. New crosshairsize CVAR that modifies the crosshair size. Its a scaling factor applies to the crosshair. Defaults to 1.0 and can range from 0.5 (ie., half the normal size) up to 4 (4 times the normal size). 20. The cl_showpressuse CVAR is back; also 2 new boolean CVARS: cl_showhud (hides/shows the HUD) and cl_showpaused (hides/shows the PAUSED message in SP mode). 21. New CVARs that control the size of the sniper scope. The "scope_scale" CVAR is a boolean indicating whether the scope will scale according to the video mode or it will remain constant in terms of pixels. The "scope_size" CVAR is an overall scaling factor controlling the final size of the scope. It can range from 0.5 (ie., half the normal size) up to 3 (3 times the normal size). 22. Some fancy additions to the sniper scope: it can display the current zoom factor, as well as the range (distance) to whatever you're currently pointing. The zoom display is controled from the scope_zoom boolean CVAR. The ranging is controled by the scope_range integer CVAR. 0 -> "None", 1 -> "Map Units", 2 -> "Meters", 3 -> "Yards", 4 -> "Feet". Furthermore, when you're pointing to something "shootable", the distance is displayed in red rather than gray. This is enabled only when the "target names" dmflag is on. 23. Major speed improvement in the presence of many monsters in online mode. It should be equal in speed to SP mode. 24. Fixed undocumented behavior of DirectDraw that Microsoft introduced on Windows vista and 7. It was causing crashes if the client was run on windowed mode and some application went to the true fullscreen mode. 25. Implemented text (and stacked) language lumps: similar design to zdoom 2.x; it facilitates the overriding of most messages from wads. 26. Fixed missing movebob/stillbob when spectating/viewing demos. 27. New DMFLAG (DF2_BERSERK_SPAWN = 0x00004000) that spawns players with a berserk kit in doom or the gauntlets in heretic.There is also an associated cvar called "sv_berserkspawn". 28. New server "sv_joinlimit" CVAR that applies to survival and blocks spectator joins after the specified number of minutes. The limit applies from the time someone joins the map: not the time the map is loaded on the server. The variable can range from zero (ie., disabled) up to 1000 (16+ hours). Default value is zero. 29. Fixed missing invulnerability and light amp effect when spectating. 30. Fixed player collision jitter. 31. Enable DDOM teleport-reset even when there are no teamstarts. 32. Fixed an overtime-respawn-delay bug in CTF and DDOM. 33. Avoid repeated console messages within brief periods. 34. Add an optional 5-second delay to all deaths in survival. Pressing use within 5 seconds will make you spawn before you are forced to spawn. 35. Fixed a problem with survival giving an extra life sometimes. 36. Fixed a problem in CTF when the game ended in a tie with someone carrying a flag and that person disconnecting (before spawning) on the next round. 37. Fixed a problem in team modes when a player would switch to a non- playing team and would remain a spectator till the next round. 38. Sudden death would not trigger in cases of suicide on overtime. Fixed. 39. Fixed a vertical noclip problem among players. 40. Fixed some cases where BLOCK_EVERYTHING lines would not block. 41. Implemented the Line_SetBlocking linespecial from zdoom. 42. Implemented ACS support for the following properties of Get/SetActorProperty: APROP_Health, APROP_SpawnHealth, APROP_Speed, APROP_Damage, APROP_DamageFactor, APROP_Alpha, APROP_RenderStyle, APROP_Mass, APROP_Invulnerable, APROP_Ambush, APROP_NoTarget, APROP_Dormant, APROP_WaterLevel, APROP_SeeSound, APROP_AttackSound, APROP_PainSound, APROP_DeathSound and APROP_ActiveSound. 43. Fixed projectiles spawned by Thing_ProjectileGravity going out of sync in online mode. 44. Fixed mouse precision loss when aiming while zoomed in. 45. Fixed railgun shooting sound coming from wrong direction sometimes. 46. Damage/HealThing linespecial would not update the player health in c/s. Fixed. 47. Implemented proper handling of negative projectile/detonate damage. The health of players and monsters is capped at spawn health. Works for all modes. 48. Extension of the zd_overridecolors CVAR. It can take the values: 0=Never, 1=Always, 2=Only in DM, 3=Only in team modes, 4=Only in non-team modes. ----------------------------------------------------------------------------- 16. 1.09b25 release (2012-02-03) ----------------------------------------------------------------------------- 1. Don't show health/armor/location in sitrep for spectators. 2. Swap the positions of the multikill and overtime messages to avoid hiding the crosshair in mid-game. 3. Fixed a problem with markers in the automap. 4. Fixed a semi-random client crash in maps with acs scripts. 5. Fixed a crash when the client was started with -nosound. 6. Fixed a problem with the scores screen in survival. 7. Fixed line flags impassable+block_everything resulting in railings. 8. Fixed a bug where the morphed state in Heretic would carry to the next map when the map ended while some player was morphed. 9. More ACS features: a. Information functions: ThingCountName, ThingCountNameSector, ThingCountSector, GetSectorFloorZ, GetSectorCeilingZ, GetSectorLightLevel, GetLevelInfo, GetActorAngle, GetActorFloorZ, GetActorCeilingZ, GetActorPitch, CheckActorCeilingTexture, CheckActorFloorTexture, GetActorLightLevel, PlayerInGame, PlayerIsBot, CheckPlayerCamera. b. Other functions: SpawnProjectile, Thing_Projectile2, SetActorPosition. c. Added support for PRINTNAME_LEVELNAME, PRINTNAME_LEVEL, PRINTNAME_SKILL in print/printbold. d. New ACS operators: ~, &=, ^=, |=, <<= and >>=. 10. Implementation of in-game voice chat. It's intended for team modes, as well as coop/survival. You need to define a "voice" key that you need to keep pressed while talking. The server must also have voice enabled in the first place though: you won't be able to talk otherwise. There are many options/commands pertaining to voice chat. You will find more info at: http://master.zdaemon.org/voice_chat.txt ----------------------------------------------------------------------------- 17. 1.09b26 release (2012-03-15) ----------------------------------------------------------------------------- 1. Implementation of 2 new CVARs; "cv_localtime" and "cv_gmtime". They're read-only and return the number of seconds since midnight in local time and GMT time respectively. 2. Sitrep now works according to the "viewed" player instead of the "real" player. 3. The voice volume now affects the voice_chat CVAR as well, so people don't have to remember the CVAR. 4. Fixed a problem in the prediction code that caused some player collision anomalies. 5. Fixed the auto join/fire after mapstart/respawn problem. 6. New client CVAR "cl_ctfpickupflash". It controls the intensity of the yellow flash a player sees when picking up a flag. It accepts an integer value ranging from 0 (no flash) to 4. The default value for the CVAR is 3. 7. Fixed a spurious turbo detection right upon connection to a server. 8. Four new client CVARs determining the vertical position of the game event, spree, multikill and overtime messages. Their names are vpos_event, vpos_spree, vpos_multi and vpos_overtime. They're floating point numbers ranging from 0 up to 1, where 0 is the top of the screen and 1 the bottom (right above the HUD). Default values are 0.2, 0.28, 0.36 and 0.44 respectively. 9. Fixed a voice chat "stuttering" problem. 10. Voice enabled servers will now echo the voice back to a client when he's alone in the server; this is useful for checking/fine tuning the voice chat parameters. 11. Fixed a relatively rare, device-dependent crash related to voice chat recording. 12. Improved the handling of the "no camera" problem on the client. 13. Improved the handling of out-of-order net packets on the client. ----------------------------------------------------------------------------- 18. 1.09b27 release (2012-05-10) ----------------------------------------------------------------------------- 1. Fixed a "berserk on spawn" problem when viewing older demos. 2. Fixed new connecting clients not being updated about music changes that happened already. 3. Fixed Enter/Respawn scripts being executed at wrong times in non-coop modes. 4. New client CVAR "cl_showpovnames". If the CVAR is false, the client does not display the player name while spectating or when spying other players. 5. Fixed missiles spawned with the A_Spawn codepointer in online mode. 6. Added support for MBF-style codepointer A_PlaySound. It uses the frames "Unknown 1" field as the dehacked sound number to play, and the "Unknown 2" field as either 0 for normal attenuation, or 1 for no attenuation. 7. Made it possible to turn any projectile into a seeker missile with the MF2_SEEKERMISSILE flag. (The projectile needs to call A_Tracer to actually home in the target). 8. Added support for playing the level's default music by using "*" as the track name with the ACS music functions or the changemus console command. 9. Fixed monster rails not being visible sometimes. 10. Players using the voice chat are now visible on the scoreboard. 11. Fixed the CTF flag animation. 12. Fixed a rare case where a map would exit even when 'no exit' was set. 13. Fixed the sequencing after map30 of doom2. 14. Improved the sound dampening scale during voice chat. It now ranges from 1 to 11. 1 = no dampening, 2 = volume will be 90% of normal, 3 = 80% of normal, ... 11 = total muting. 15. Removed the i_remapkeypad CVAR; the numlock state will toggle the KP remapping: when numlock is enabled the KP keys will be bindable. 16. Spectator teleporting should not clear one-time lines. 17. Monsters should never try to chase spectators. 18. Monsters should not attack mapspots. 19. Fixed various problems (and crashes) related to the taking/giving of weapons from ACS. 20. Fixed handling of no-decals animations in ANIMATED lumps. 21. Added support for PATCHINF lumps in wads; they are plain text lumps which allow modifying maps by removing, adding or changing things. PATCHINF lumps are additive, ie. multiple such lumps can be loaded from all wads. You will find more info in: http://master.zdaemon.org/patchinfo.txt 22. Extended (and more convenient) syntax for the "addtempban" server command. It can now take a player id (indicated by a leading #) or a player nickname (indicated by a leading $) instead of the IP address. It can be for example: addtempban #2 some_reason addtempban $nickname some_reason 23. Do not reset chatmode on map start. 24. Introduced a new client CVAR cl_prefertink. If true, then the DSTINK chat sound from Doom is used if possible. Default: false 25. Added new voice_quickmute CCMD. When called it shows a numbered list of all players that were talking in the last 60 seconds. If one of the shown numbers is pressed the player is added to your block list or removed from your allow list. Any other key closes the menu. The CCMD is bound to 'M' by default. 26. Implemented CCMD messagemode3 for private chat. messagemode3 is bound to 'G' by default. When messagemode3 is called you are prompted for a target name. You can either type a name or use the up and down arrows to scroll through all player names. The last used target name will be reused next time. After the target name is confirmed you are presented a chat prompt to write your message as usual. 27. Fix IDBEHOLD cheat code message in SP. 28. Fix pickup message for "big" mace ammo. 29. Unlatch gametype cvar on client for SP mode so it can be changed in the menu. A manual map restart is still needed for the new gametype to take effect though. 30. Don't disable idmypos on map change. 31. Fixed a problem where sv_trace would change when a mapinfo lump was present. 32. Added support for hexen style thing death special activation in maps. It can be enabled in a MAPINFO map section with the keyword "activateowndeathspecials" or disabled with the keyword "killeractivatesdeathspecials". It defaults to off in doom and heretic. 33. Fixed Enter/Respawn scripts being executed at wrong times in coop modes. 34. Implemented client CVAR voice_overdrive2 that controls the sound dampening when the client is recording voice. For details check the voice doc at: http://master.zdaemon.org/voice_chat.txt 35. Improved netcode: it should result in fewer (or no) missing items on map changes/resets. 36. Implemented the inventory HUD for Doom. 37. Fixed selecting inventory items in online mode; when scrolling through items and selecting one, the item was used right away, instead of first being chosen as the current selected item. 38. Fixed rendering the alpha of fake floors in sectors with stacked sectors. 39. Better handling of out-of-order packets on connection/map load/map reset. It should stop the problem of flags sometimes showing as keycards. 40. New "-novoice" command line parameter that blocks voice chat completely; it might be needed under Wine. ----------------------------------------------------------------------------- 19. 1.09b28 release (2012-08-31) ----------------------------------------------------------------------------- 1. ACS fixes and features: a. Fixed using takeinventory to remove the players last weapon. b. New inventory functions: CheckActorInventory, ClearActorInventory, TakeActorInventory, GiveActorInventory. c. Setting an actor's health to 0 or below with SetActorProperty will now properly kill the actor. d. Added support for zdoom switch case statements. e. Fixed ACS operators that did not always work with map arrays: += , -= , *= , /=, %=, ++ and --. f. Fixed line special arguments in Hexen ACS scripts; They should be truncated to bytes. (only with hexen mapinfo and old ACS format) g. Fixed the SpawnProjectile ACS function. h. Added an "acsdebug_pcdcount" CVAR that displays how many ACS P-Code instructions were executed when a script stops or delays. 2. Added support for Risen3D/PrBoom+ MUSINFO lumps. 3. New DMFLAG (DF2_OS_MISSILECLIP = 0x20000000) and associated CVAR (sv_oldmissileclip) that enables vanilla missile behavior regarding clipping to doom obstacles. 4. Better (lower / more dynamic) memory consumption on the server with respect to the clients. 5. Fixed 16-rotation sprites so that the rotation boundaries are where you would expect them to be. 6. Added a "zdoom_blockeverything" CVAR. When enabled, for lines with the BLOCK_EVERYTHING flag it will block some weapon attacks such as the railgun shots and bfg tracer rays. For such lines it will also affect line sliding (bumping and wallrunning). It also affects some monster attacks such as the arch vile attack, and monster sight checks going through such lines. The CVAR defaults to false. 7. Implemented demo playlists; they're plain text files with a ZDL extension containing lists of ZDD files (one per line). When you open a ZDL file for playing, the client will play the specified demos one after the other. ZDL files can contain comments starting with ; or #. One can also specify a brief description for each demo; such descriptions are introduced by a tab immediately following the demo filename. Those descriptions will be shown for 5 seconds at the start of each demo. There is currently a restriction that all ZDD files inside the playlist should use the same IWAD and PWAD(s). This will be relaxed in the future. 8. Implemented two new client CCMDs called "demo_prevdemo" and "demo_nextdemo"; they apply to demo playlists only and they move you to the previous/next demo in the list. They default to the "K" and "L" keys respectively and can be adjusted from the menu. 9. Added two new client CVARs determining the vertical position of the demo descriptions, as well as that of the general messages sent by the server. Their names are "vpos_demo_descr" and "vpos_msg" respectively. They're floating point numbers ranging from 0 up to 1, where 0 is the top of the screen and 1 the bottom (right above the HUD). Default values are 0.8 and 0.4 respectively. 10. When a demo ends or is stopped, there is now a prompt to replay it from the start. 11. Added a CVAR called "demo_autoplaylist". When the CVAR is on and the recorded demos get auto-split, the client will automatically generate a ZDL file listing the demos. In this way, one can play all of them in sequence with no manual labor. 12. Added support for return values in ACS Line specials. 13. Implemented 2 new action specials: ACS_ExecuteWithResult and ACS_LockedExecuteDoor. 14. Implemented the following ACS functions: PlayerClass, GetPlayerInfo, GetScreenWidth, GetScreenHeight, GetLineRowOffset, SetResultValue, Log, ChangeSky, ReplaceTextures, SpawnSpotFacing, SetActorPitch and SetActorAngle. 15. Implemented support for printing map/world/global arrays in ACS. 16. Improved the Print and PrintBold ACS functions to use any specified font. 17. Improved the HudMessage/HudMessageBold functions to properly handle any specified font, added the log option, added the fade in/out type and made them work properly in online mode. 18. Changes in gravity/air control via ACS are properly replicated in online mode. 19. Implemented a "King of the Hill" (KOTH) mode which is similar to Double Domination, but uses one rather than two domination points, leading to simpler gameplay and mapping considerations. Team and individual points are awarded based on the DDOM rules. Kudos to Cybershark for demonstrating the viability/desirability of the mode with his fine prototype: http://www.youtube-nocookie.com/watch?v=Mp3Mcvn41aM The thing number for the KOTH domination point is 5137. 20. Changed domination points to be subject to gravity, and made setting the thing's first argument to 1 enable the NOGRAVITY flag in the thing. 21. Monsters that were attacked by a player with the NOTARGET cheat did not chase after the player. Fixed. 22. The server should send found items and secrets to connecting players. 23. Implemented "damage dealt" for coop & survival; the game keeps track of the damage one inflicts on monsters (not other players, barrels, bots, etc); this solves the "apple-to-oranges-comparison" problem of counting kills of different monsters (eg an imp kill is not the same as a cyberdemon kill). The damage becomes the main ranking criterion in the scoreboard. 24. The DM scoreboard can now show suicides and other players' exp. 25. The coop, survival and DM scoreboards are now customizable regarding which values one wants to show and in which order. 26. Fixed default airsupply value for maps without a MAPINFO definition. 27. Implemented the following ACS functions: CheckActorClass, CheckSight, CheckActorProperty, GetChar, GetActorVelX, GetActorVelY, GetActorVelZ, SetActorVelocity, GetAirSupply, SetAirSupply, SpawnForced, SpawnSpotForced, SpawnSpotFacingForced. CheckActorProperty supports the same properties as the functions GetActorProperty and SetActorProperty. CheckSight supports the CSF_NOFAKEFLOORS flag. 28. Implemented support for printing hexadecimal values in ACS. 29. Quadrupled the ACS P-Code runaway limit to 2 million instructions. 30. Added support for checking if a player is carrying a flag with the ACS CheckInventory functions. (ie. CheckInventory("RedFlag")). 31. Added MAPINFO keywords: minotaurspecial, dsparilspecial, ironlichspecial, and specialaction_killmonsters. 32. Implemented support for using 'lookup' with MAPINFO mapnames. 33. Mixed Doom, Heretic and Hexen keylists, all the keys can now co- exist in any of the games. Note that lock numbers are specific to the game being played. ACS inventory functions can however be used to check for the keys of the other games. 34. Developed and added a brand new heuristic to fix slime trails without rebuilding the BSP tree. This seems to be very effective and fixes almost all of the occuring slime trails, including doom.wad's classical e1m1 slime trail. 35. When you spectate on someone who disconnects or becomes a spectator, the client automatically switches view to another, randomly selected player. If no suitable candidate exists, then it switches to your own view. 36. Implemented two new ZDaemon ACS functions: GetTeamScore(team) and SetTeamScore(team, value). The constants TEAM_BLUE, TEAM_RED, TEAM_GREEN and TEAM_WHITE can be used with the functions. Scripts using the functions need to include "zdaemon.acs" with them, which is an ACS definition file for ZDaemon scripts. It can be found at: https://downloads.zdaemon.org/zdaemon.acs 37. Fixed giving/taking armor, health, backpacks and powerups with ACS in c/s mode (Powerups can only be given). 38. Added a new dehacked A_FireCustomRailgun codepointer. It uses the frames "Args1" and "Args2" fields for the Damage and offset of the railgun shot. 39. When spying other players, camera views set by the ChangeCamera line special were lost. Changed so that it does not only remember your camera view, but also that of every other player too. 40. Fixed things spawned with the A_Spawn codepointer, they should not respawn. 41. Changed the amount of ammo given by ACS spawned items; They now give full ammo like map placed items. A new "sv_full_acsitem" CVAR can be toggled to adjust this behaviour. 42. Implemented the GetArmorType(str armortype, int player) ACS function. 43. New snd_privchatvolume CVAR that controls the audio volume of private chat. 44. New snd_chat, snd_teamchat, snd_privchat CVARs that affect the sound played on reception of different types of chat messages. The sounds default to those of the IWAD, but one can select the doom 1 chat sound or one of several zdaemon-specific sounds residing in zdaemon.wad. These CVARs supercede cl_prefertink introduced in b27. 45. Sync forcewater server cvar with the clients. 46. Fixed a problem that caused ghost items in TLSXCTF1.wad map07. 47. Fixed level timer position on intermission. 48. Fixed BFG spray damage explosions on actors getting spawned twice. 49. Made the server substitute EndSequences in MAPINFOs with the next episode's first map or with the games start map. 50. Show a message when others find secrets. 51. Toggling fast monsters DMFLAG on/off on-the-fly won't need a manual map restart to take full effect. 52. Fixed a crash with empty decalgroups. 53. Show total demo time on demo end screen. 54. If an old demo is replayed, the time from the previous play is used for the progress bar. 55. Fixed the bot trash talk in SP mode. 56. Toned down the redscreen effect when the 'Berserk on Spawn' DMFLAG is enabled. 57. Fixed the counting of own ammo while shooting. 58. Fixed rare desync when spawning missiles near a ledge. 59. Stop sound sequences when skipping on demos. 60. The demo tool will now use (and preserve) the timestamp of ZDO files. 61. Made the importing of old demos easier, by pre-selecting doom2.wad as the iwad and parsing the zdo filename for pwads. 62. Implemented a "free roaming view" while demo playing. It's controlled via the "demo_freeview" CVAR which defaults to true. When enabled, it adds a new "free roaming" POV and also blocks the recording player's POV if the recorder was spectating. When disabled, the free roaming POV disappears and if the recorder was spectating, you will see again his (non-roaming) POV. 63. Extended the slimetrail fix to remove all limitations with the poly- objects. Removed polyobject limitations are: - They had to be convex objects. - They had to stay on the subsector they were spawned in. - Only one polyobject was allowed per subsector. 64. Fixed a crash with hudmessages in SP mode. It could happen if the activator of the script was not a player. 65. Improved the polyobject handling in the renderer. 66. Fixed dehacked frame pointer definitions. Dehsupp ActionLists are now ignored, and an internal list is used instead. Adjusted the code so that the internal order of the codepointers no longer matters. This fixes the issue with dehacked codepointers using the action list. 67. Fixed a bug on the client where inventory keys were not cleared on map changes without intermission. sv_keepkeys had to be on and the game mode had to be cooperative for it to happen. 68. New "-demo_quit_atend" client command line switch that instructs the client to exit automatically at the end of demos. 69. Fix a client crash in e.g. dwango11 map 28 due to 0-length lines. 70. Block chat keys during demo view. 71. Fix dampening not working right while recording voice. 72. Fixed problem where testing for an empty spawn spot resulted in making live players non-solid. 73. Fixed particles being visible through solid walls in some cases. 74. Implemented a new DeHacked thing property for items: "Respawn time", it takes a tic value, which if bigger than zero, overrides the respawn delay for that item. 75. Implemented three new Dehacked global properties (Misc section): * Vampire Max Health: specifies the max. health reachable via vampire. Defaults to 200. * Vampire Player Factor: specifies the vampire scale factor applied to damages on humans/bots. It's a percentage value defaulting to 50 (%). * Vampire Monster Factor: specifies the vampire scale factor applied to damages on monsters. It's a percentage value defaulting to 25 (%). 76. Implemented a "Join Password" for servers; this enables anyone to connect to a server, but he'll have to supply a password to join (play). The password is specified by the "join_password" CVAR on both the server and client sides. The launcher can optionally prompt for (and remember) such passwords when one connects to the server. 77. Enabled the PROP_FROZEN property on the client. 78. Enabled the SetPlayerProperty line special to work properly online. It supports the following properties: PROP_FLY, PROP_FROZEN, PROP_NOTARGET, PROP_INSTANTWEAPONSWITCH. 79. Fixed a crash with redefined decals (cc3up1.wad) 80. Made DDOM/KOTH modes work "completely" in SP. 81. Fixed the total item count not increasing when items respawn. 82. A script's font could crash the game when saving. Fixed. 83. The Spawn Mega Items (sv_nosuper) dmflag has been extended to control whether the EnchantedShield, Invisibility, TomeOfPower, SuperHealth, Fly and Invulnerability items will spawn in Heretic. 84. Changed PIT_FloorDrop to fix an issue in CommunityChest4 Map12 (cc4.wad). 85. Removed the heapsize CVAR on the server. Use the -heapsize command line parameter instead. 86. Fixed crashes and visual glitches in Cybercrime 3 when particles were visible in the skybox. 87. Added a new "con_scaleacsprint2" cvar which scales the print/ printbold ACS messages in the same way that con_scaletext scales all messages. It can be found in the messages menu under display options. The CVAR defaults to false. 88. Added two new fonts to be used with ACS Print/PrintBold statements. They can be adjusted from the Options/Display Options/Fonts submenu. 89. Netcode improvements to reduce problems with missing/duplicate/ghost items and monsters. ----------------------------------------------------------------------------- 20. 1.09 release (2012-09-01) ----------------------------------------------------------------------------- end of line |