Version history: Difference between revisions

54,056 bytes removed ,  17 December 2023
Update OSDN link to Heptapod
(Add 0.96 family changelogs.)
(Update OSDN link to Heptapod)
Tag: Source edit
 
(45 intermediate revisions by 2 users not shown)
Line 13: Line 13:
|- style='background: #b3ffb3'
|- style='background: #b3ffb3'
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| '''2.1.2'''
| '''3.1'''
| Dec 12, 2021
| [http://zandronum.com/downloads/zandronum3.1-win32-installer.exe Installer]
| [http://zandronum.com/downloads/zandronum3.1-win32-base.zip Zip]
|
| [http://zandronum.com/downloads/zandronum3.1-linux-x86_64.tar.bz2 x86_64]
|
|
| <code>ZA_3.1</code>
|-
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| 3.0.1
| Oct 13, 2019
| [http://zandronum.com/downloads/zandronum3.0.1-win32-installer.exe Installer]
| [http://zandronum.com/downloads/zandronum3.0.1-win32-base.zip Zip]
|
| [http://zandronum.com/downloads/zandronum3.0.1-linux-x86_64.tar.bz2 x86_64]
|
|
| <code>ZA_3.0.1</code>
|-
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| 3.0
| Sep 07, 2017
| [http://zandronum.com/downloads/zandronum3.0-win32-installer.exe Installer]
| [http://zandronum.com/downloads/zandronum3.0-win32-base.zip Zip]
| [http://zandronum.com/downloads/zandronum3.0-linux-x86.tar.bz2 x86]
| [http://zandronum.com/downloads/zandronum3.0-linux-x86_64.tar.bz2 x86_64]
| [http://zandronum.com/downloads/zandronum3.0-macosx.dmg Installer]
| <code>ZA_3.0</code>
|-
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| 2.1.2
| Jul 19, 2015
| Jul 19, 2015
| [http://zandronum.com/downloads/zandronum2.1.2-win32-installer.exe Installer]
| [http://zandronum.com/downloads/zandronum2.1.2-win32-installer.exe Installer]
Line 107: Line 143:
| [http://zandronum.com/downloads/zandronum1.2-freebsd-x64.tar.bz2 x86_64 server]
| [http://zandronum.com/downloads/zandronum1.2-freebsd-x64.tar.bz2 x86_64 server]
| <code>ZA_1.2</code>
| <code>ZA_1.2</code>
|-
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| 1.1.1
| Jul 17, 2013
| [http://zandronum.com/downloads/zandronum1.1.1-win32-installer.exe Installer]
| [http://zandronum.com/downloads/zandronum1.1.1-win32-base.zip Zip]
| [http://zandronum.com/downloads/zandronum1.1.1-linux-x86.tar.bz2 x86]
| [http://zandronum.com/downloads/zandronum1.1.1-linux-x86_64.tar.bz2 x86_64]
| [http://zandronum.com/downloads/zandronum1.1.1-macosx.dmg Installer]
|
|
| <code>ZA_1.1.1</code>
|-
|-
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
Line 175: Line 223:
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v098b_linux-base.tar.bz2 base] + [http://www.skulltag.com/download/files/release/st-v098a_freebsd.tar.bz2 i386 server]
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v098b_linux-base.tar.bz2 base] + [http://www.skulltag.com/download/files/release/st-v098a_freebsd.tar.bz2 i386 server]
| <code>ST_0.98a</code>
| <code>ST_0.98a</code>
|}
|-
 
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
=== Betas ===
| 0.97d5 security update 1
{| class='wikitable' style='width: 100%'
|
! colspan="2" | Version
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097d5_security_update_windows.zip Patch Zip]
! Beta
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097d5_security_update_ubuntu.tar.bz2 Ubuntu patch tar.bz2]
! Released
|
! [[File:ZDoom Icon 16x16.png|16px|ZDoom base]]
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097d5_security_update_freebsd.tar.bz2 i386 server patch tar.bz2]
! [[File:OpenGL logo (Nov14).svg|16px|GZDoom base]]
| <code>ST_0.97d5-security-update-1</code>
! colspan="1" | [[File:Windows_logo_-_2012.svg|16px|Windows]]
|-
! colspan="2" | [[File:NewTux.svg|16px|Linux]]
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
! [[File:OS_X_El_Capitan_logo.svg|16px|OS X]]
| 0.97d5
! colspan="2" | [[File:Freebsd-sphere-logo.png|16px|FreeBSD]]
|
! [[File:Mercurial logo cropped.svg|16px|Source code tag]]
| [http://www.skulltag.com/download/files/release/installer97d5.exe Installer]
|- style='background: #ffffcc'
| [http://skulltag.com/download/files/release/st-v097d5_windows.zip Zip]
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097d5_linux-base.tar.bz2 base] + [http://www.skulltag.com/download/files/release/st-v097d5_ubuntu.tar.bz2 Ubuntu]
| '''4.0'''
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v098a_linux-base.tar.bz2 base] + [http://www.skulltag.com/download/files/release/st-v098a_freebsd.tar.bz2 i386 server]
| <code>ST_0.97d5</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97d4
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097d4-3_windows.zip Zip]
| [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_linux-base.tar.gz base]
| [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_debian.tar.gz Debian] <br/> [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_fedora.tar.gz Fedora] <br/> [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_gentoo.tar.gz Gentoo] <br/> [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_knoppix.tar.gz Knoppix] <br/> [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_slackware.tar.gz Slackware] <br/> [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_ubuntu.tar.gz Ubuntu]
|
| colspan="2" | [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_linux-base.tar.gz base] + [http://www.skulltag.com/download/files/release/skulltag-v097d4-3_freebsd.tar.gz i386 server]
| <code>ST_0.97d4</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97d3
|
| colspan="2" |
|  
|  
|  
|  
| <code>master</code>
|
| <code>master</code>
| colspan="2" |
|  
| <code>ST_0.97d3</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97d2
|
| colspan="2" |
|  
|  
|  
|  
|
|
| colspan="2" |
| <code>ST_0.97d2</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97d
|
|
| colspan="2" |
|  
|  
| see [https://bitbucket.org/Torr_Samaho/zandronum-zdoom-sync zandronum-zdoom-sync]
|- style='background: #ffffb3'
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| '''3.0'''
| '''160814-2010'''
| Aug 14, 2016
| 2.8pre-441-g458e1b1
| 1.8.6
| [http://zandronum.com/downloads/testing/3.0/ZandroDev3.0-160814-2010windows.zip Zip]
|  
|  
| [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/linux/betas/zandronum-linux-x86_64-3.0-alpha-160814-2010.tar.gz x86_64]* / [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/linux/betas/zandronum-linux-x86_64-3.0-alpha-160814-2010-with-debug.tar.gz debug]*
|
|
| colspan="2" |
| <code>ST_0.97d</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97c3
|
|
| [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/freebsd/betas/zandronum-server-freebsd-x86_64-3.0-alpha-160814-2010.txz x86_64 server]* / [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/freebsd/betas/zandronum-server-freebsd-x86_64-3.0-alpha-160814-2010-with-debug.txz debug]*
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097c3.zip Zip]
| <code>4f775b509b10</code>
|- style='background: #ffffcc'
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| '''2.2'''
|
|
| 2.5.0 (SVN 2560)
| SVN 900
|  
|  
|  
|  
|
|
| colspan="2" |
| <code>ST_0.97c3</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97c2
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097c2.zip Zip]
|
|
|
| colspan="2" |
| <code>ST_0.97c</code> or [http://www.skulltag.com/download/files/release/st-v097c2_src.zip source zip]
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97c
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097c.zip Zip]
|
|
|
| colspan="2" |
| <code>ST_0.97c</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97b
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097b.zip Zip]
|
|
|
|
|
| colspan="2" |
|  
|  
| see [https://bitbucket.org/Torr_Samaho/zandronum-stable zandronum-stable]
|-
|}
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
 
| 0.96f
== Changelogs ==
|
=== Development ===
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v096f.zip Zip]
'''Note:''' Because the versions under this section are still undergoing development, these changelogs might be slightly outdated. It's best to keep up to date via the #zatesting channel on [[IRC]] or checking the history file in the source repository time to time.
|
 
|
==== 3.0 ====
|
* Updated Zandronum's (G)ZDoom base to ZDoom 2.8pre-441-g458e1b1 / GZDoom 1.8.6. [Torr Samaho]
| colspan="2" |
* Rewrote support for preferred weapon order. Weapon info is now automatically looked up, the ORDERDEF lump has been removed. [Dusk]
|
* Generalized the rune system. Any rune can be used as a powerup (including spread, prosperity and reflection, which are now available as powerups), and any powerup can be used as a rune. [Dusk]
|-
* Added NamedRequestScriptPuke, named variant of RequestScriptPuke. The two functions can now take 1-5 parameters, thus supporting 4 script arguments. [Dusk]
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
* Added ACS time and date access functions SystemTime(), GetTimeProperty and Strftime(). The return value of SystemTime() may be overridden by the user with the new CCMD acstime. [Dusk]
| 0.96e
* Quad-buffered stereo / 3D Vision support can now be toggled with the new CVAR gl_quadbufferedstereo (default false). [Torr Samaho]
|
* The warp cheat now works online and can be used by spectators even if sv_cheats is false. [Dusk]
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v096e.zip Zip]
* Being banned from a server now shows the server's contact email address. Being masterbanned now shows a clearer message that directs to the forums. [Dusk]
|
* Players' positions in the join queue are now rendered on the scoreboard. [Dusk]
|
* The internal server browser now automatically loads the wads of the selected server when joining. For this, all wads need to be in a place where they can be found with the '-file' command line option. In the browser menu, the left and right keys allow to scroll through the list of filtered servers. [Torr Samaho]
|
* The 'Join the game' command key used by spectators is now customizable in the 'Customize Controls' menu. [Edward-san, Dusk]
| colspan="2" |
* The default 'authhostname' CVAR has been changed to the official zandronum game authentication server ( auth.zandronum.com:16666 ). [AlexMax, Edward-san]
|
* BOTINFO now allows to define more than 128 bots. [Torr Samaho]
|-
* Chat now features a movable cursor, allowing text insertion/deletion from elsewhere than just the end. [Dusk]
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
* Chat preview is now rendered on multiple lines, if necessary. [Dusk]
| 0.96d
* Chat now remembers the ten previously sent messages that can be brought up with up/down arrow keys. [Dusk]
|
* Chat can now tab complete player names. [Dusk]
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v096d.zip Zip] or [http://www.skulltag.com/download/files/release/st-v096d-FreeDoom.zip with FreeDoom]
* Clients' account names are now visible in the output of CCMD "playerinfo", unless the player hides it with the new CVar cl_hideaccount. The server can always see the accountname from playerinfo. [Dusk]
|
* Added a mechanism to safe login credentials under Windows using the Windows Credential Manager aka Windows Vault. The credentials can be stored using the new CCMD 'login_add'. A default user name can be specified with the new CVAR 'login_default_user'. [Torr Samaho]
|
* Fixed: Newly connecting clients were not properly informed about the secrets that were already revealed. [Torr Samaho]
|
* Fixed: Resurrect cheat didn't work online. [Dusk]
| colspan="2" |
* Fixed: Turbo cheat didn't work online. [Dusk]
|
* Fixed: Kill [class] cheat didn't work online. The kill monsters cheat can also be used by clients if sv_cheats is true. The server can use the kill [class] cheat anytime, like with kill monsters. [Dusk]
|-
* Fixed: Logfiles would sometimes contain timestamps in the middle of lines. [Dusk]
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
* sv_shotgunstart is now respected in non-cooperative gamemodes. [Dusk]
| 0.96c
* Fixed: Take cheat didn't work online. [Dusk]
|
* Fixed: An invalid "winlimit hit" message would be displayed on map change in possession. [Dusk]
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v096c.zip Zip] or [http://www.skulltag.com/download/files/release/st-v096c-FreeDoom.zip with FreeDoom]
* Fixed: The internal server browser didn't list all of the compatible, available servers. [Torr Samaho]
|
* Fixed: A_CheckSight would not jump if a spectator was in the line of sight of the calling actor. [Dusk]
|
* Fixed: Using kick_idx, ignore_idx, unignore_idx, getip_idx, kickfromgame_idx and ban_idx with an invalid player index assumed a default of player 0. [Dusk]
|
* Fixed: SpawnDecal did not work online. [Dusk]
| colspan="2" |
* Fixed: the 'take inventory' server command informed the clients by using the inventory class string instead of the much cheaper network id. Thanks to Siferah for spotting and reporting it. [Edward-san]
|
* Fixed: the 'spawn player' server command used 1 more byte than needed. [Edward-san]
|-
* Fixed problems of the Doom status bar with high res font replacements. [Torr Samaho]
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
* Fixed: ACS function PlaySound did not work online. [Edward-san]
| 0.96b
* Fixed: Bots on a large map may freeze the game. [Torr Samaho]
|
* Fixed: clients would play D'Sparil's attacks sound even when the attacks didn't start because there was no target to attack. [Edward-san]
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v096b.zip Zip] or [http://www.skulltag.com/download/files/release/st-v096b-FreeDoom.zip with FreeDoom]
* Fixed: clients weren't informed to play the heretic Knight attack sounds when it throws the axes. [Edward-san]
|
* Fixed: clients were told to play the 'poison cough' sound even when the poisoning by flechette didn't happen (for example because the player is invulnerable). [Edward-san]
|
* Fixed: clients were not informed correctly about the actors being in alert when another actor is hit by a dagger attack. [Edward-san]
|
* Fixed: clients would play the sounds from the world-activated ACS function ActivatorSound differently from offline. [Edward-san]
| colspan="2" |
* Fixed: the server
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95k
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v095k.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95j
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v095j.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95i
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v095i.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95h
|
| colspan="2" | [http://www.skulltag.com/download/files/release


==== v0.97d5 security update 1 ====
==== v0.97d3 RC2 ====
* Extended the server side client command protection to protect from commands the client is allowed to use often, but that still can be abused for a DOS attack. If a client floods the server with such commands (more than 100 in 10 seconds), the client is kicked and banned for 10 minutes. Commands of this type include toggling the console, toggling chat status and taunting. [Torr Samaho, SuperGod]
* Fixed: When using the CCMD kill in the console, the "in console" icon over the player's head was not removed. [Torr Samaho]
* Fixed: Detection of the local IP under Linux did not work properly. [Torr Samaho]
* Fixed: The ScaleNx code messed up camera textures. [Torr Samaho]
* Fixed some seemingly random problems occurring to clients in CTF or Skulltag games. [Torr Samaho]
* Fixed an exploit that allowed to crash servers. Kudos to kgsws for submitting a detailed report on this issue. [Torr Samaho]
* Fixed: Seemingly randomly clients completely froze in CTF / Skulltag. [Torr Samaho]
* Changed: Players are now notified that they can only pick up a team's flag if there are people on that team. [Torr Samaho]
* Changed the SSDP packet the server sends to find the UPnP root device. This should make the UPnP support compatible with more routers. [Torr Samaho]


==== 0.97d5 ====
==== v0.97d3 RC1 ====
* Added server side client command protection. If a client floods the server with protected commands (more than 6 in 60 seconds), the client is kicked and banned for 10 minutes. [Torr Samaho, SuperGod]
* Added temporary bans! [Rivecoder]
* Fixed: Certain kinds of chat messages that only consist of color codes and white spaces wiped out all other messages currently on the screen. [Torr Samaho, SuperGod]
* Added full TEAMINFO support across all game modes. [Karate Chris, Torr Samaho]
* Fixed: Parsing ban, white or admin list under Linux could crash. [Torr Samaho]
* Optimized the actor spawning code. The name of the actors used to be sent across the network, but now only a 'short' is sent. [Karate Chris, Torr Samaho]
* The server doesn't relay chat messages that only consist of color codes and white spaces anymore. [Torr Samaho, SuperGod]
* Added a custom implementation of the Scale2x/3x/4x algorithm as proposed in http://scale2x.sourceforge.net/ to the OpenGL renderer. This should get rid of the blurriness caused by OpenGL filtering and is controlled by the new CVAR gl_texture_hqresize, which defaults to 0. Textures/sprites whose width or height exceeds the new CVAR gl_texture_hqresize_maxinputsize (default 512) are not upsampled. The new CVAR gl_texture_hqresize_target (default 0) controls whether everything should be upsampled (value 0) or sprites and fonts only (value 1). [Torr Samaho]
 
** gl_texture_hqresize == 0 : no scaling
==== v0.97d4 ====
** gl_texture_hqresize == 1 : Scale2x algorithm
* Extended the authentication mechanism for non-map related lumps to check all lumps included by DECORATE lumps and all ACS library lumps included by LOADACS lumps. [Torr Samaho, SuperGod]
** gl_texture_hqresize == 2 : Scale3x algorithm
* Fixed: The map authentication didn't cover the BEHAVIOR lump. [Torr Samaho, SuperGod]
** gl_texture_hqresize == 3 : Scale4x algorithm
* The authentication mechanism for non-map related lumps now allows Freedoom/Doom clients to join Doom/Freedoom servers. [Torr Samaho]
* Added UPnP support (invoked by the command line parameter "-upnp"). If used, the server tries to automatically add a port mapping on the router that connects the server to the internet. The external port of the mapping can be overridden by #n, if Skulltag is invoked with "-upnp #n". [Torr Samaho]
* Fixed: If a server was queried for unknown flags, these flags were not removed from the Flags field in the answer. [Torr Samaho]
* Added medal families: "higher" medals, such as incredible, now immediately replace lower medals, such as excellent. This means that when on a spree, you can go right from excellent to incredible, accuracy to precision, impressive to most impressive, and so on without waiting for the lower medal to slide off. Overall this makes the queue run a lot faster, especially if you have a large backlog of medals. [Rivecoder]
* Fixed: The clients crashed if the server sent them malformed packets. [Torr Samaho]
* Added an "in console" icon that's shown above a player's head when he's in the menu or console. [Rivecoder, Torr Samaho]
 
* The five/one minute warning announcer sounds are now played. [Rivecoder]
==== v0.97d3 security update 1 ====
* Added chat substitution inspired by ZDoom. [Karate Chris]
* Fixed a critical security bug of the server. Thanks a lot to kgsws for submitting a detailed report on this issue along with an implementation of the exploit. [Torr Samaho]
* Added a chat sound for Strife. [Karate Chris]
* Fixed: A malicious client could skip the map authentication. Thanks to kgsws for his detailed report on this. [Torr Samaho]
* Added a 'singleplayer' console command, complimentary to the 'multiplayer' / 'netgame' console command. [Karate Chris]
* Fixed: The RCON utility crashed when somebody said a chat string with "%n" or similar printf compatible format parameters. Again thanks to kgsws for reporting. [Torr Samaho]
* Added CKeen's submission for an updated Italian language file. [Karate Chris]
* Changed: All line breaks are removed from the comment when an entry is added to the banlist or whitelist. Thanks to kgsws for pointing me to this. [Torr Samaho]
* Significantly reduced the net traffic used by P_MoveThing, e.g. used by SetActorPosition. [Torr Samaho]
 
* Added basic SECTINFO support, currently only displayed in coop info. The SECTINFO parser supports use with the LANGUAGE lump to allow translatable locations. [Blzut3]
==== v0.97d3 ====
* Added Domination as a built in game mode. [Blzut3, Torr Samaho]
* Several improvements to the RCON utility: [Rivecoder]
* Added new actor property "limitedtoteam", currently only has any effect when applied to a player class: When a player joins a team with a player class that is limited to be used only by another team, the player is immediately respawned with the first class that is open to the team just joined. [Torr Samaho]
** Added support for favorites, with stored addresses and passwords.
* Improved Skulltag's response to DOS attacks. Players will be able to keep on playing even if the server is being massively attacked (by several hundred computers or more). In that case, Skulltag will shut off all new connections until the attack subsides. [Rivecoder]
** Added a tray icon to which you can hide the window, and from which you can launch favorites.
* Added new team class selection menu: When joining a team from the team selection menu and more than one player class is available, there now is a menu that lets you select among the available classes (respects limitedtoteam). [Torr Samaho]
** Added file version metadata and an "about" screen.
* Added new dmflag "award damage dealt instead of kills", controlled by the new CVAR sv_awarddamageinsteadkills. If enabled, a player gets one point per 100 damage dealt and doesn't get any extra points for killing monsters. The scaling is done, so that players don't get outrageous amounts of points. Internally no rounding is done, so you'll get your points no matter if you dealt the damage in one or in several attacks. The flag works in all gamemodes, where kills are awarded (coop, survival, invasion). [Torr Samaho]
** Fixed: If you tried to reconnect to a nonexistent server, you wouldn't get 3 retries.
* Added NOINTERACTION flag which completely disables all physics related code for any actor with this flag. Mostly useful for particle effects where the actors just move a certain distance and then disappear. (ported from ZDoom revision 876). [Torr Samaho]
* The authentication mechanism for non-map related lumps now gives detailed warnings on which auto-loaded files contain which protected lumps. [Torr Samaho]
* Added a new entry to the HUD options menu to toggle cl_drawcoopinfo. [Torr Samaho]
* Added new CVAR sv_suddendeath (default true). If set to false, CTF or Skulltag games don't go into sudden death mode when the time limit is hit and no team has more points than all other teams. Instead the game is considered to be a draw. [Torr Samaho]
* Added new DECORATE actor flag CLIENTSIDEONLY. The server doesn't spawn such actors, the clients spawn them on their own. Therefore, they never should need any network bandwidth. Only use it on actors that don't affect the game in any way (visuals aside) and only use it, if you know what you are doing! [Torr Samaho]
* Added new MAPINFO flag "islobby". If a duel is made on a map with this flag, the countdown and the map reset are skipped, e.g. useful for a map selection map like AlexMan's duel16. [Torr Samaho, SuperGod]
* Added new dmflag "force alpha", controlled by the new CVAR sv_forcealpha. If this is enabled, clients are enforced to display alpha, i.e. render as if r_drawtrans == 1. [Torr Samaho]
* Fixed: The code to check the maximum allowed effective skin sprite width/height didn't work with UDMX under Linux. [Torr Samaho]
* Added the cvar sv_enforcemasterbanlist; if true, the server enforces the master server's banlist. This is totally optional and is provided as a convenience to the server hoster and Skulltag staff. [Rivecoder]
* Fixed: For the purpose of sv_smartaim, players of different teams were considered to be friends in non-deathmatch based team game modes, e.g. CTF. [Torr Samaho, SuperGod]
* Added new command ClearBots to BOTINFO (has to be used outside the braces), that clears all previously defined bots (including Skulltag's hardcoded bots). [Torr Samaho]
* Fixed: A client possibly crashed when the server instructed it to spawn blood of an actor the client doesn't know. [Torr Samaho]
* Banned clients are now told the reason for their ban. [Rivecoder]
* Fixed: The network traffic needed by Sector_SetFade and Sector_SetColor increased linearly with the number of sectors that have the given tag instead of being constant. [Torr Samaho, SuperGod]
* Added new DECORATE weapon flag NOAUTOAIM. Weapons with this flag behave as if CVAR autoaim was 0 (as long as the level allows freelook). [Torr Samaho]
* Fixed: If the model flag rotation-speed was used with a value other than 1, the rotation "skipped" every five seconds. [Torr Samaho]
* Added new compatflag "no crosshair", controlled by the new CVAR compat_nocrosshair. If this is enabled, clients are not allowed to use a crosshair. [Torr Samaho, SuperGod]
* Fixed: Friendly actors or actors using A_Chase or A_LookEx could cause the server to freeze completely when the first player connects or the last player disconnects. [Torr Samaho, SuperGod]
* Added new compatflag "old weapon switch", controlled by the new CVAR compat_oldweaponswitch. If this is enabled, players always switch weapons on pickup (as in vanilla Doom). [Torr Samaho, SuperGod]
* Fixed: The one and five minute announcer warnings didn't work at all for clients. [Karate Chris]
* Fixed a positioning bug with rank/spread on the classic HUD when st_scale was off. [Rivecoder]
* Fixed: The network traffic needed by SetLineTexture increased linearly with the number of lines that have the given identification number instead of being constant. [Torr Samaho, SuperGod]
* Fixed: the 'ColorSetter' and 'FadeSetter' actors were broken online. [Karate Chris]
* Fixed: The ACS command SectorSound didn't work properly online if it was called by a line. [Torr Samaho, SuperGod]
* Fixed: SKININFO skins couldn't use sounds from the Sounds subdirectory of PK3s/ZIPs. [Torr Samaho]
* Fixed: Under certain circumstance inactive BatSpawners were treated as active on the clients. [Torr Samaho, SuperGod]
* Fixed: Save games were missing the number of remaining Archviles in Invasion. [Torr Samaho]
* Fixed: The chat sound was played even when messages are disabled. [Torr Samaho, SuperGod]
* Fixed: The Logitech G15 code possibly caused a crash after a map change. [Torr Samaho]
* Fixed: Unfinished client connections to the server didn't timeout properly. [Torr Samaho, SuperGod]
* Fixed: If a player is respawned online with a different player class than before, neither the skin nor the translation of this player is adjusted to the new class on the clients. [Torr Samaho]
* Fixed: Teleport_EndGame caused the server to get stuck. Nevertheless, end sequences are not supported online. They are just skipped. [Torr Samaho, SuperGod]
* Fixed: A client entering a LMS/TeamLMS server crashes, if the wads running on the server give the player no starting weapon at all. [Torr Samaho]
* Fixed: The CCMDs dumpmap, initpolymosttest, quickload, quicksave, select, slot, togglemap and vid_setmode caused the server to crash instead of being ignored. [Torr Samaho]
* Fixed: The server statistics for total data transfer in and out overflowed at 2 gigabyte. Now no overflow should occur before 16 exabyte of traffic are reached. [Torr Samaho]
* Fixed: When the server changed the map while a newly connected client was still loading the map, this client didn't get informed about the map change causing severe sync issues. [Torr Samaho, SuperGod]
* Fixed: If a player disconnected or changed to a spectator while being morphed, various problems occurred. [Torr Samaho]
* Fixed: If you died in co-op and somebody else ended the map before you respawned, you would start the next map with only default inventory, no matter what dmflags was set to. (ported from ZDoom revision 691). [Torr Samaho]
* Fixed: If a player is killed online, its death view doesn't follow the killer. [Torr Samaho]
* Fixed: Under rare circumstances a client could crash while connecting. [Torr Samaho, SuperGod]
* Fixed: If a player turns into a spectator, the currently active sounds associated to it are not stopped. [Torr Samaho]
* Fixed: Some kind of puffs were not spawned in their crash or melee state on the clients online. [Torr Samaho, SuperGod]
* Fixed: Using weapnext or weapprev while recording a single player demo crashed the game. Nevertheless, single player demos are not supported and will go out of sync quickly. Use client demos instead. [Torr Samaho]
* Fixed: Sounds of puffs in the melee or crash state were not played on the clients online. [Torr Samaho, SuperGod]
* Fixed: Some sight check related problems in A_DoChase occurred in games with more than one player. Offline this caused monsters to move strangely, online this caused monster movement sync issues. [Torr Samaho]
* Fixed: Projectiles killing a player, never entered their Crash or XDeath state. [Torr Samaho]
* Fixed: Spectators could trigger sector transitions offline. [Torr Samaho]
* There is now a 10 second time limit on joining. [Torr Samaho, SuperGod]
* Fixed: The scoreboard of the win32 server console is not updated when changing to intermission. [Torr Samaho]
* There is now a 30 second time limit on name changes for clients. [Torr Samaho, SuperGod]
* Fixed: The game crashed while spawning a player in certain game modes (e.g. lms), when certain inventory items (e.g. weapons) were replaced by actors that are not inventory items. [Torr Samaho]
* CVAR timelimit now also applies to cooperative game modes. [Torr Samaho, SuperGod]
* Fixed: When entering the name of the save game in the save menu, the underscore denoting the cursor position is possibly displayed too far to the right. [Torr Samaho]
* Further tuned the UPnP code to make it compatible with more routers. [Torr Samaho]
* Fixed: The points of the teams in team possession are not displayed on the new fullscreen HUD if text scaling is activated. [Torr Samaho]
 
* Fixed: A single malformed packet could possibly crash any client. [Torr Samaho, SuperGod]
==== v0.97d3 RC2 ====
* Fixed: Under rare circumstances the server crashed when creating a FlashFader. [Torr Samaho, SuperGod]
* Fixed: When using the CCMD kill in the console, the "in console" icon over the player's head was not removed. [Torr Samaho]
* Fixed: If an actor is spawned client side with A_SpawnItemEx, A_SpawnItemEx calls without the client side flag made by this actor don't spawn anything at all. [Torr Samaho]
* Fixed: Detection of the local IP under Linux did not work properly. [Torr Samaho]
* Fixed: Bots were not affected by PROP_FROZEN or PROP_TOTALLYFROZEN. [Torr Samaho]
* Fixed: The ScaleNx code messed up camera textures. [Torr Samaho]
* Fixed: Player names ending with "\c" caused various glitches. [Torr Samaho]
* Fixed some seemingly random problems occurring to clients in CTF or Skulltag games. [Torr Samaho]
* Fixed: The ACS function CreateTranslation with syntax "a:b=[red1,green1,blue1]:[red2,green2,blue2]" didn't work properly online. [Torr Samaho]
* Fixed an exploit that allowed to crash servers. Kudos to kgsws for submitting a detailed report on this issue. [Torr Samaho]
* Fixed: The code to check the maximum allowed effective skin sprite width/height checked some textures it shouldn't have checked. [Torr Samaho]
* Fixed: Seemingly randomly clients completely froze in CTF / Skulltag. [Torr Samaho]
* Fixed: If a spectator that is waiting in line leaves the game, the join queue is not updated properly. [Torr Samaho]
* Changed: Players are now notified that they can only pick up a team's flag if there are people on that team. [Torr Samaho]
* Fixed: After a map change in CTF/ST to a map without a team selection room, the players who were waiting in line in the previous map were not removed from their join queue positions. [Torr Samaho]
* Changed the SSDP packet the server sends to find the UPnP root device. This should make the UPnP support compatible with more routers. [Torr Samaho]
* Fixed: Under some conditions one could exit a map during the countdown in survival, e.g. with line special LS_Teleport_NewMap. Now players trying to exit during the countdown are killed. [Torr Samaho]
 
* Fixed: Several code pointers didn't work properly online in the death state of a player, e.g. A_PlaySound. [Torr Samaho]
==== v0.97d3 RC1 ====
* Fixed: The ACS command FadeTo didn't work online if the last argument (seconds) was 0.0. [Torr Samaho]
* Added temporary bans! [Rivecoder]
* Fixed: Under certain conditions the CMPGNINF parser didn't accept proper botteam entries. [Torr Samaho]
* Added full TEAMINFO support across all game modes. [Karate Chris, Torr Samaho]
* Fixed: Player classes using certain code pointers caused "ghost" players to appear under certain conditions. For example this affected Sjas in GvH. [Torr Samaho]
* Optimized the actor spawning code. The name of the actors used to be sent across the network, but now only a 'short' is sent. [Karate Chris, Torr Samaho]
* Fixed: Under certain circumstances changing the CVAR playerclass messed up the ColorRange property of the console player skin (fixed itself upon respawning). [Torr Samaho]
* Added a custom implementation of the Scale2x/3x/4x algorithm as proposed in http://scale2x.sourceforge.net/ to the OpenGL renderer. This should get rid of the blurriness caused by OpenGL filtering and is controlled by the new CVAR gl_texture_hqresize, which defaults to 0. Textures/sprites whose width or height exceeds the new CVAR gl_texture_hqresize_maxinputsize (default 512) are not upsampled. The new CVAR gl_texture_hqresize_target (default 0) controls whether everything should be upsampled (value 0) or sprites and fonts only (value 1). [Torr Samaho]
* Removed the default values for sv_motd, sv_website, and sv_hostemail. sv_motd would show the wrong version over time, and the others should be blank if not set by the server hoster. [Rivecoder]
** gl_texture_hqresize == 0 : no scaling
* Fixed: Online a player and all its corpses used the same translation, i.e. if a player changed his color all corpses of this player changed their color too. [Torr Samaho]
** gl_texture_hqresize == 1 : Scale2x algorithm
* Fixed: The new fullscreen HUD doesn't respect the maxhealth property of the current player class. [Torr Samaho]
** gl_texture_hqresize == 2 : Scale3x algorithm
* Fixed: Instagib ignored the ammo types of Railgun replacements. [Blzut3]
** gl_texture_hqresize == 3 : Scale4x algorithm
* Fixed: After changing the map online or a map reset, the game possibly crashes when using cl_stfullscreenhud == false. [Torr Samaho]
* Added UPnP support (invoked by the command line parameter "-upnp"). If used, the server tries to automatically add a port mapping on the router that connects the server to the internet. The external port of the mapping can be overridden by #n, if Skulltag is invoked with "-upnp #n". [Torr Samaho]
* Fixed: ParticleFountain doesn't work properly online for the first player that connects to a server. [Torr Samaho]
* Added medal families: "higher" medals, such as incredible, now immediately replace lower medals, such as excellent. This means that when on a spree, you can go right from excellent to incredible, accuracy to precision, impressive to most impressive, and so on without waiting for the lower medal to slide off. Overall this makes the queue run a lot faster, especially if you have a large backlog of medals. [Rivecoder]
* Fixed: Things like DeadDemon are not spawned on the clients online. [Torr Samaho]
* Added an "in console" icon that's shown above a player's head when he's in the menu or console. [Rivecoder, Torr Samaho]
* Fixed: Legacy-style 3D floors/liquid linetypes didn't work for Doom-format maps. [Torr Samaho]
* The five/one minute warning announcer sounds are now played. [Rivecoder]
* Changed up the display of medals when you have the key down. Higher medals are now on the right, opposite their subordinates. [Rivecoder]
* Added chat substitution inspired by ZDoom. [Karate Chris]
* Each player's "ready to go on" status, shown at the intermission, can now only be turned on. Hopefully, this will help clear up what this command is for and prevent rapid toggling of it. [Rivecoder]
* Added a chat sound for Strife. [Karate Chris]
* Rank/Spread is no longer drawn if there's only one player. [Rivecoder]
* Added a 'singleplayer' console command, complimentary to the 'multiplayer' / 'netgame' console command. [Karate Chris]
* Armor is no longer drawn on the new HUD if you don't have any. [Rivecoder]
* Added CKeen's submission for an updated Italian language file. [Karate Chris]
* You can now join the game while spectating during intermission. [Rivecoder]
* Significantly reduced the net traffic used by P_MoveThing, e.g. used by SetActorPosition. [Torr Samaho]
* You no longer have to wait 10 seconds to change your team during the team last man standing countdown. [Karate Chris]
* Added basic SECTINFO support, currently only displayed in coop info. The SECTINFO parser supports use with the LANGUAGE lump to allow translatable locations. [Blzut3]
* Changed: The FLOATBOB flag is not applied to spectators anymore, no matter if the corresponding player class has it or not. Furthermore, spectators now always have flags3 = MF3_NOBLOCKMONST, flags4 = 0 and flags5 = 0. [Torr Samaho]
* Added Domination as a built in game mode. [Blzut3, Torr Samaho]
* Changed: Spectators now always have forwardmove 1, sidemove 1 and viewheight 41 (default values from PlayerPawn), no matter how the values of the corresponding player class are. [Torr Samaho]
* Added new actor property "limitedtoteam", currently only has any effect when applied to a player class: When a player joins a team with a player class that is limited to be used only by another team, the player is immediately respawned with the first class that is open to the team just joined. [Torr Samaho]
* Changed: Spectators are fixed in their spawn state and don't execute any code pointers. [Torr Samaho]
* Improved Skulltag's response to DOS attacks. Players will be able to keep on playing even if the server is being massively attacked (by several hundred computers or more). In that case, Skulltag will shut off all new connections until the attack subsides. [Rivecoder]
* Changed: If a player selects the "Random" player class, a new class is selected randomly every time the player respawns. [Torr Samaho]
* Added new team class selection menu: When joining a team from the team selection menu and more than one player class is available, there now is a menu that lets you select among the available classes (respects limitedtoteam). [Torr Samaho]
* Changed: In a single player campaign with a team based game mode, you can now rejoin after spectating with the in game join team menu, if you select the team the campaign wants you to have. [Torr Samaho]
* Added new dmflag "award damage dealt instead of kills", controlled by the new CVAR sv_awarddamageinsteadkills. If enabled, a player gets one point per 100 damage dealt and doesn't get any extra points for killing monsters. The scaling is done, so that players don't get outrageous amounts of points. Internally no rounding is done, so you'll get your points no matter if you dealt the damage in one or in several attacks. The flag works in all gamemodes, where kills are awarded (coop, survival, invasion). [Torr Samaho]
* Hard-coded bots have been exported to BOTINFO. [Blzut3]
* Added NOINTERACTION flag which completely disables all physics related code for any actor with this flag. Mostly useful for particle effects where the actors just move a certain distance and then disappear. (ported from ZDoom revision 876). [Torr Samaho]
* Changed: If ArtiTeleport is used in a team game and the user is on a team with valid starts on the current map, the user is now teleported to a random team start of the user's team. [Torr Samaho]
* Added a new entry to the HUD options menu to toggle cl_drawcoopinfo. [Torr Samaho]
* Changed: GrenadeLauncher doesn't auto aim anymore (it now has the NOAUTOAIM weapon flag). [Torr Samaho]
* Added new DECORATE actor flag CLIENTSIDEONLY. The server doesn't spawn such actors, the clients spawn them on their own. Therefore, they never should need any network bandwidth. Only use it on actors that don't affect the game in any way (visuals aside) and only use it, if you know what you are doing! [Torr Samaho]
 
* Added new dmflag "force alpha", controlled by the new CVAR sv_forcealpha. If this is enabled, clients are enforced to display alpha, i.e. render as if r_drawtrans == 1. [Torr Samaho]
==== v0.97d2 ====
* Added the cvar sv_enforcemasterbanlist; if true, the server enforces the master server's banlist. This is totally optional and is provided as a convenience to the server hoster and Skulltag staff. [Rivecoder]
* Fixed: The sv_maxclientsperip code didn't take into account timeouts of non finished connection attempts. [Torr Samaho]
* Added new command ClearBots to BOTINFO (has to be used outside the braces), that clears all previously defined bots (including Skulltag's hardcoded bots). [Torr Samaho]
* Fixed: the pissed of player face should not work in spectator mode. [Karate Chris]
* Banned clients are now told the reason for their ban. [Rivecoder]
* Fixed: In game modes that reset, P_DoCrunch and A_BarrelDestroy gave the actor to be destroyed the MF_NOBLOCKMAP flag without unlinking it from the blockmap by calling UnlinkFromWorld(). This possibly caused some strange survival crashes. [Torr Samaho, SuperGod]
* Added new DECORATE weapon flag NOAUTOAIM. Weapons with this flag behave as if CVAR autoaim was 0 (as long as the level allows freelook). [Torr Samaho]
* Fixed: Monsters that are alive when a countdown is started in Invasion are not handled properly causing online sync problems. Clients wrongly deleted friendly monsters locally two waves after they have been spawned. Furthermore, the server deleted living hostile monsters that didn't come from an Invasion spawner without notifying the clients about this. Now all living hostile monsters (that can only exist because of bugs or cheats anyway) are deleted when the countdown is started. [Torr Samaho, SuperGod]
* Added new compatflag "no crosshair", controlled by the new CVAR compat_nocrosshair. If this is enabled, clients are not allowed to use a crosshair. [Torr Samaho, SuperGod]
* Fixed: In game modes that reset, the server tells newly connecting clients to spawn certain kind of actors even though they are already destroyed, e.g. exploded ExplosiveBarrels. [Torr Samaho, SuperGod]
* Added new compatflag "old weapon switch", controlled by the new CVAR compat_oldweaponswitch. If this is enabled, players always switch weapons on pickup (as in vanilla Doom). [Torr Samaho, SuperGod]
* Fixed: When a player respawns while a time freezer owned by another player is active, the respawned player can't move anymore as long as the freezer is active. [Torr Samaho, SuperGod]
* Fixed a positioning bug with rank/spread on the classic HUD when st_scale was off. [Rivecoder]
* Fixed: In cooperative game modes, when the players travel from any map to a map with fewer player starts than players, some of them may end up in a zombie like state. [Torr Samaho, SuperGod]
* Fixed: the 'ColorSetter' and 'FadeSetter' actors were broken online. [Karate Chris]
* Fixed: When an Archvile raises a monster online, on the clients the total monsters counter is increased by two instead of one. [Torr Samaho, SuperGod]
* Fixed: SKININFO skins couldn't use sounds from the Sounds subdirectory of PK3s/ZIPs. [Torr Samaho]
* Fixed: If an invasion monster spawner is hijacked to spawn something that is not a monster, the remaining monster count is not adapted accordingly. [Torr Samaho]
* Fixed: Save games were missing the number of remaining Archviles in Invasion. [Torr Samaho]
* Fixed: In game modes that reset, when an actor is hidden instead of being destroyed, P_DelSector_List() is not called. This caused some strange survival crashes. [Torr Samaho, SuperGod]
* Fixed: The Logitech G15 code possibly caused a crash after a map change. [Torr Samaho]
* Fixed: If there is only one player class, the client tells the server that it's going to send the name of it's class (on connect and when changing the CVAR playerclass), but didn't actually do so. This led to network packet parsing errors on the server. [Torr Samaho, SuperGod]
* Fixed: If a player is respawned online with a different player class than before, neither the skin nor the translation of this player is adjusted to the new class on the clients. [Torr Samaho]
* Fixed: In game modes that reset when using COMPATF_LIMITPAIN, hidden lost souls were counted to the number of lost souls when checking if a pain elemental may spawn a new lost soul. [Torr Samaho, SuperGod]
* Fixed: A client entering a LMS/TeamLMS server crashes, if the wads running on the server give the player no starting weapon at all. [Torr Samaho]
* Fixed: When a client is kicked because of user info change flood, the server doesn't finish parsing the user info packet, resulting in network packet parsing errors. [Torr Samaho, SuperGod]
* Fixed: The server statistics for total data transfer in and out overflowed at 2 gigabyte. Now no overflow should occur before 16 exabyte of traffic are reached. [Torr Samaho]
* Fixed: The line special Ceiling_CrushStop doesn't work properly online, the crusher is stopped on the server but continues to move on the clients. [Torr Samaho, SuperGod]
* Fixed: If a player disconnected or changed to a spectator while being morphed, various problems occurred. [Torr Samaho]
* Fixed: The server doesn't inform the clients about the arguments of the SoundEnvironment actor. This prevented reverbs from working online. [Torr Samaho, SuperGod]
* Fixed: If a player is killed online, its death view doesn't follow the killer. [Torr Samaho]
* Fixed: A_PlaySound and similar functions didn't work online on actors that don't have a net id, e.g. Blood and derived actors. [Torr Samaho, SuperGod]
* Fixed: If a player turns into a spectator, the currently active sounds associated to it are not stopped. [Torr Samaho]
* Fixed: A minor grammar error in the possession scoreboard code. [Torr Samaho]
* Fixed: Using weapnext or weapprev while recording a single player demo crashed the game. Nevertheless, single player demos are not supported and will go out of sync quickly. Use client demos instead. [Torr Samaho]
* Changed: Instead of crashing the game when being called twice, AActor::UnlinkFromWorld() now just gives a warning to signal that a bug in the code was encountered. [Torr Samaho]
* Fixed: Some sight check related problems in A_DoChase occurred in games with more than one player. Offline this caused monsters to move strangely, online this caused monster movement sync issues. [Torr Samaho]
* Changed: Calling a vote during intermission is not allowed anymore. [Torr Samaho, SuperGod]
* Fixed: Spectators could trigger sector transitions offline. [Torr Samaho]
* Changed: Clients can't set the CVAR turbo higher than 100 anymore. [Torr Samaho, SuperGod]
* Fixed: The scoreboard of the win32 server console is not updated when changing to intermission. [Torr Samaho]
* Changed: For consistency with the handling of the CVARs dmflags and dmflags2, the value of the CVAR compatflags is not archived in the ini any more. [Torr Samaho, SuperGod]
* Fixed: The game crashed while spawning a player in certain game modes (e.g. lms), when certain inventory items (e.g. weapons) were replaced by actors that are not inventory items. [Torr Samaho]
 
* Fixed: When entering the name of the save game in the save menu, the underscore denoting the cursor position is possibly displayed too far to the right. [Torr Samaho]
==== v0.97d2 RC6 ====
* Fixed: The points of the teams in team possession are not displayed on the new fullscreen HUD if text scaling is activated. [Torr Samaho]
* Optimized the monster movement code. Under some circumstances this drastically decreases network traffic. Compare map09 of dr2008v2.zip to see an example, where a lot of bandwidth is saved. Special thanks to SuperGod for finding a way to reproduce the excessive net traffic. Without it, this problem would still silently be wasting net traffic. [Torr Samaho]
* Fixed: A single malformed packet could possibly crash any client. [Torr Samaho, SuperGod]
* Added new CVAR sv_nodrop. If set to true on a server, clients can't use the drop CCMD online. [Torr Samaho]
* Fixed: Under rare circumstances the server crashed when creating a FlashFader. [Torr Samaho, SuperGod]
* Added constant SXF_CLIENTSIDE for the "client side spawn" option of A_SpawnItemEx. [Torr Samaho]
* Fixed: If an actor is spawned client side with A_SpawnItemEx, A_SpawnItemEx calls without the client side flag made by this actor don't spawn anything at all. [Torr Samaho]
* Fixed: The reflection rune's obituary would read "[victim] was killed via [victim]'s reflection rune". [Rivecoder]
* Fixed: Bots were not affected by PROP_FROZEN or PROP_TOTALLYFROZEN. [Torr Samaho]
* Fixed: Joining a survival invasion server with "start as spectator" off would make you join immediately. [Rivecoder]
* Fixed: Player names ending with "\c" caused various glitches. [Torr Samaho]
* Fixed: Clients sometimes accidentally switch the weapon of one of the other players locally. [Torr Samaho]
* Fixed: The ACS function CreateTranslation with syntax "a:b=[red1,green1,blue1]:[red2,green2,blue2]" didn't work properly online. [Torr Samaho]
* Fixed a typo in the callvote code. [Rivecoder]
* Fixed: The code to check the maximum allowed effective skin sprite width/height checked some textures it shouldn't have checked. [Torr Samaho]
* Fixed a typo in the BFG10k's obituary. [Rivecoder]
* Fixed: If a spectator that is waiting in line leaves the game, the join queue is not updated properly. [Torr Samaho]
* Fixed the fake players exploit; introduced sv_maxclientsperip, which defaults to 2. [Rivecoder]
* Fixed: After a map change in CTF/ST to a map without a team selection room, the players who were waiting in line in the previous map were not removed from their join queue positions. [Torr Samaho]
* Fixed an exploit in the name code which allowed invisible names. [Rivecoder]
* Fixed: Under some conditions one could exit a map during the countdown in survival, e.g. with line special LS_Teleport_NewMap. Now players trying to exit during the countdown are killed. [Torr Samaho]
* Fixed: Clients may completely freeze, i.e. get stuck in an infinite loop, when handling actors with a looping death state that loops over multiple frames, but doesn't loop back to the beginning of the death state. [Torr Samaho]
* Fixed: Several code pointers didn't work properly online in the death state of a player, e.g. A_PlaySound. [Torr Samaho]
* Fixed: The first player waiting in line in a survival invasion game joins the game when one of the in game players leave. [Torr Samaho]
* Fixed: The ACS command FadeTo didn't work online if the last argument (seconds) was 0.0. [Torr Samaho]
* Fixed: After using the CCMD map on the server, clients may accidentally be blocked for 10 seconds before they can enter the new map. [Torr Samaho]
* Fixed: Under certain conditions the CMPGNINF parser didn't accept proper botteam entries. [Torr Samaho]
* Fixed: Clients are not informed if the current sky differs from the default map sky when connecting to a server. [Torr Samaho]
* Fixed: Player classes using certain code pointers caused "ghost" players to appear under certain conditions. For example this affected Sjas in GvH. [Torr Samaho]
* Fixed: In competitive game modes with sv_noexit == true, players are not killed when trying to exit a map while being in a sector with sector special 75 (dDamage_End). This happened for example in exec.wad on map09. [Torr Samaho]
* Fixed: Under certain circumstances changing the CVAR playerclass messed up the ColorRange property of the console player skin (fixed itself upon respawning). [Torr Samaho]
* Fixed online monster sync problems involving the MF2_BLASTED flag. Among others, this affected A_RadiusThrust. [Torr Samaho]
* Removed the default values for sv_motd, sv_website, and sv_hostemail. sv_motd would show the wrong version over time, and the others should be blank if not set by the server hoster. [Rivecoder]
* Fixed: The 'GetPlayerInfo' ACS command didn't return the correct team. [Karate Chris]
* Fixed: Online a player and all its corpses used the same translation, i.e. if a player changed his color all corpses of this player changed their color too. [Torr Samaho]
* Fixed: Maps using ACS possibly crash during a map reset. Kudos to SuperGod for finding a way to reproduce this nasty bug! [Torr Samaho]
* Fixed: The new fullscreen HUD doesn't respect the maxhealth property of the current player class. [Torr Samaho]
* Fixed: When a client disconnects from a server, then changes its name in the console, and then reconnects, the server is not informed about the name change. [Torr Samaho]
* Fixed: Instagib ignored the ammo types of Railgun replacements. [Blzut3]
* Fixed: A single malformed packet could crash any server. Again thanks to Luigi Auriemma for a detailed report on this issue. [Torr Samaho]
* Fixed: After changing the map online or a map reset, the game possibly crashes when using cl_stfullscreenhud == false. [Torr Samaho]
* Fixed: Assigning a net id to a moving ceiling used much more CPU time than necessary. This caused certain wads to be displayed at less than 1 fps. [Torr Samaho, SuperGod]
* Fixed: ParticleFountain doesn't work properly online for the first player that connects to a server. [Torr Samaho]
* Fixed some map change related crashes. [Torr Samaho]
* Fixed: Things like DeadDemon are not spawned on the clients online. [Torr Samaho]
* Fixed: Thing_Hate caused serious monster position sync issues online. [Torr Samaho, SuperGod]
* Fixed: Legacy-style 3D floors/liquid linetypes didn't work for Doom-format maps. [Torr Samaho]
* Fixed: Removing SectorAction and derived actors in game modes that reset, didn't remove those from the sector's list of actions. [Torr Samaho]
* Changed up the display of medals when you have the key down. Higher medals are now on the right, opposite their subordinates. [Rivecoder]
* Changed: Clients are now always informed when other players are pressing any attack buttons. This is done in a way that doesn't increase net traffic at all and fixes several problems: [Torr Samaho]
* Each player's "ready to go on" status, shown at the intermission, can now only be turned on. Hopefully, this will help clear up what this command is for and prevent rapid toggling of it. [Rivecoder]
** Now fully fixed: Attack animations are not always displayed properly in demos if you are spying a player that you didn't spy when recording the demo.
* Rank/Spread is no longer drawn if there's only one player. [Rivecoder]
** When using coop spy, other players may get stuck in the attack state locally.
* Armor is no longer drawn on the new HUD if you don't have any. [Rivecoder]
* Changed default value of the CVAR sv_showwarnings to false. Should only be turned on for debugging purposes. [Torr Samaho]
* You can now join the game while spectating during intermission. [Rivecoder]
* Increased the packet buffer size from 256 to 1024. Hopefully this reduces the chance of being forced to quit a network game due to packet loss. [Torr Samaho]
* You no longer have to wait 10 seconds to change your team during the team last man standing countdown. [Karate Chris]
* The maximum allowed effective skin sprite width/height is now limited corresponding to the width/radius of the player class the skin belongs to. This fixes an exploit of the skin dir. [Torr Samaho]
* Changed: The FLOATBOB flag is not applied to spectators anymore, no matter if the corresponding player class has it or not. Furthermore, spectators now always have flags3 = MF3_NOBLOCKMONST, flags4 = 0 and flags5 = 0. [Torr Samaho]
* Added the ALLOWCLIENTSPAWN flag to the DynamicLight actor. This fixes that map spawned dynamic lights are not working online, but comes with the drawbacks of ALLOWCLIENTSPAWN. [Torr Samaho, Karate Chris]
* Changed: Spectators now always have forwardmove 1, sidemove 1 and viewheight 41 (default values from PlayerPawn), no matter how the values of the corresponding player class are. [Torr Samaho]
* Renamed the Heretic spawner HexenGhostSpot to HereticGhostSpot. [Torr Samaho]
* Changed: Spectators are fixed in their spawn state and don't execute any code pointers. [Torr Samaho]
* Changed: If a player selects the "Random" player class, a new class is selected randomly every time the player respawns. [Torr Samaho]
* Changed: In a single player campaign with a team based game mode, you can now rejoin after spectating with the in game join team menu, if you select the team the campaign wants you to have. [Torr Samaho]
* Hard-coded bots have been exported to BOTINFO. [Blzut3]
* Changed: If ArtiTeleport is used in a team game and the user is on a team with valid starts on the current map, the user is now teleported to a random team start of the user's team. [Torr Samaho]
* Changed: GrenadeLauncher doesn't auto aim anymore (it now has the NOAUTOAIM weapon flag). [Torr Samaho]


==== v0.97d2 ====
==== v0.97d2 RC3 ====
* Fixed: The sv_maxclientsperip code didn't take into account timeouts of non finished connection attempts. [Torr Samaho]
* Completely NEW and expanded encryption of the executable, so that hacking it is now even more difficult than before. [SuperGod]
* Fixed: the pissed of player face should not work in spectator mode. [Karate Chris]
* Added support for OpenGL texture compression. Depending on the GPU capabilities up to four new texture formats (COMPR_RGBA, S3TC_DXT1, S3TC_DXT3, S3TC_DXT5) are selectable with gl_texture_format. [Torr Samaho]
* Fixed: In game modes that reset, P_DoCrunch and A_BarrelDestroy gave the actor to be destroyed the MF_NOBLOCKMAP flag without unlinking it from the blockmap by calling UnlinkFromWorld(). This possibly caused some strange survival crashes. [Torr Samaho, SuperGod]
* Actor flag ALLOWCLIENTSPAWN is now available in DECORATE. The server doesn't tell clients to spawn actors with this flag, the clients spawn them on their own when loading the map. This is useful for decorations that will never be moved, removed, or changed in any way. Only use it, if you know what you are doing! [Torr Samaho]
* Fixed: Monsters that are alive when a countdown is started in Invasion are not handled properly causing online sync problems. Clients wrongly deleted friendly monsters locally two waves after they have been spawned. Furthermore, the server deleted living hostile monsters that didn't come from an Invasion spawner without notifying the clients about this. Now all living hostile monsters (that can only exist because of bugs or cheats anyway) are deleted when the countdown is started. [Torr Samaho, SuperGod]
* Added CKeen's submission for an updated Italian language file. [Karate Chris]
* Fixed: In game modes that reset, the server tells newly connecting clients to spawn certain kind of actors even though they are already destroyed, e.g. exploded ExplosiveBarrels. [Torr Samaho, SuperGod]
* Added new CVAR sv_pure (default true). If set to false, the extended authentication mechanism for non-map related lumps is disabled. This is mainly intended for testing purposes and LAN play, official servers will always set sv_pure to true. [Torr Samaho]
* Fixed: When a player respawns while a time freezer owned by another player is active, the respawned player can't move anymore as long as the freezer is active. [Torr Samaho, SuperGod]
* Added UDP server console flood protection and improved the messages generated by unexpected challenges. [Torr Samaho]
* Fixed: In cooperative game modes, when the players travel from any map to a map with fewer player starts than players, some of them may end up in a zombie like state. [Torr Samaho, SuperGod]
* Added a workaround that allows to inform 97d-beta4.3 (or earlier) clients trying to connect to a 97d2 (or newer) server that there version is outdated. [Torr Samaho]
* Fixed: When an Archvile raises a monster online, on the clients the total monsters counter is increased by two instead of one. [Torr Samaho, SuperGod]
* Fixed: The activator of the alarm should receive a message. [Karate Chris]
* Fixed: If an invasion monster spawner is hijacked to spawn something that is not a monster, the remaining monster count is not adapted accordingly. [Torr Samaho]
* Fixed: The Sigil was broken client side. [Karate Chris]
* Fixed: In game modes that reset, when an actor is hidden instead of being destroyed, P_DelSector_List() is not called. This caused some strange survival crashes. [Torr Samaho, SuperGod]
* Fixed: Strife's AlienSpectre, EntityBoss, Inquisitor, LoreMaster, Programmer's lightning, Sentinel and Templar didn't work properly online. [Karate Chris]
* Fixed: If there is only one player class, the client tells the server that it's going to send the name of it's class (on connect and when changing the CVAR playerclass), but didn't actually do so. This led to network packet parsing errors on the server. [Torr Samaho, SuperGod]
* Fixed: Dead spectators aren't revived after a map change in survival invasion. [Torr Samaho]
* Fixed: In game modes that reset when using COMPATF_LIMITPAIN, hidden lost souls were counted to the number of lost souls when checking if a pain elemental may spawn a new lost soul. [Torr Samaho, SuperGod]
* Fixed: A single malformed packet could be use to freeze a server for about 5 seconds. Kudos to Luigi Auriemma for submitting a detailed report on this issue. [Torr Samaho]
* Fixed: When a client is kicked because of user info change flood, the server doesn't finish parsing the user info packet, resulting in network packet parsing errors. [Torr Samaho, SuperGod]
* Fixed: Coop info possibly covers the keys displayed in the fullscreen HUD. [Torr Samaho]
* Fixed: The line special Ceiling_CrushStop doesn't work properly online, the crusher is stopped on the server but continues to move on the clients. [Torr Samaho, SuperGod]
* Fixed: Players may get stuck after a map reset in invasion. [Torr Samaho]
* Fixed: The server doesn't inform the clients about the arguments of the SoundEnvironment actor. This prevented reverbs from working online. [Torr Samaho, SuperGod]
* Fixed: The kill count is not reseted after a map reset in invasion. [Torr Samaho]
* Fixed: A_PlaySound and similar functions didn't work online on actors that don't have a net id, e.g. Blood and derived actors. [Torr Samaho, SuperGod]
* Changed: Changes to the CVAR sv_maxlives are now applied on the next map change (like done with sv_cheats). This fixes the problems that previously occurred when changing sv_maxlives during a game. [Torr Samaho]
* Fixed: A minor grammar error in the possession scoreboard code. [Torr Samaho]
* Changed: Instead of crashing the game when being called twice, AActor::UnlinkFromWorld() now just gives a warning to signal that a bug in the code was encountered. [Torr Samaho]
* Changed: Calling a vote during intermission is not allowed anymore. [Torr Samaho, SuperGod]
* Changed: Clients can't set the CVAR turbo higher than 100 anymore. [Torr Samaho, SuperGod]
* Changed: For consistency with the handling of the CVARs dmflags and dmflags2, the value of the CVAR compatflags is not archived in the ini any more. [Torr Samaho, SuperGod]


==== v0.97d2 RC6 ====
==== v0.97d2 RC2 ====
* Optimized the monster movement code. Under some circumstances this drastically decreases network traffic. Compare map09 of dr2008v2.zip to see an example, where a lot of bandwidth is saved. Special thanks to SuperGod for finding a way to reproduce the excessive net traffic. Without it, this problem would still silently be wasting net traffic. [Torr Samaho]
* Added basic HUD model support. [Torr Samaho]
* Added new CVAR sv_nodrop. If set to true on a server, clients can't use the drop CCMD online. [Torr Samaho]
* Added survival invasion! In particular, added new CVAR sv_maxlives. This specifies how many times you are allowed to respawn in survival and invasion. sv_maxlives == 0 means no respawing in survival, but unlimited respawning in invasion. [Torr Samaho]
* Added constant SXF_CLIENTSIDE for the "client side spawn" option of A_SpawnItemEx. [Torr Samaho]
* Added coop info display to show the status of the other players (health, armor, weapon, ammo) in cooperative game modes. Can be toggled by the new CVAR cl_drawcoopinfo. Inspired by the Zalewa/SuperGod enhanced version of VoltlocK's Ally Display. [Torr Samaho]
* Fixed: The reflection rune's obituary would read "[victim] was killed via [victim]'s reflection rune". [Rivecoder]
* Added double definition support for the old DECORATE standard. In this case, the new actors override the old ones. [Rivecoder]
* Fixed: Joining a survival invasion server with "start as spectator" off would make you join immediately. [Rivecoder]
* Under Windows, choosing "browse servers" in the Multiplayer menu brings up a new menu, letting you choose between IDEse and the internal browser. Hopefully, this should prevent newbies getting stuck at the old browser. [Rivecoder]
* Fixed: Clients sometimes accidentally switch the weapon of one of the other players locally. [Torr Samaho]
* Added the CVAR chat_sound. With it, you can turn chat sounds off (0), play the default (1), or the Doom 2 (2) or Doom 1 (3) sounds. [Rivecoder]
* Fixed a typo in the callvote code. [Rivecoder]
* Added the dynamic light definitions for Strife made by Dark_Knight. [Torr Samaho]
* Fixed a typo in the BFG10k's obituary. [Rivecoder]
* The error message of the float parser under Linux now mentions the LANG enviroment variable as possible cause for the error. [Torr Samaho]
* Fixed the fake players exploit; introduced sv_maxclientsperip, which defaults to 2. [Rivecoder]
* Added CVAR cl_allowmultipleannouncersounds (default true). If true, multiple announcer sounds can be played at once (like in 97D beta 4.3 and earlier), otherwise any announcer sound stops all previous announcers (like in 97D). [Torr Samaho]
* Fixed an exploit in the name code which allowed invisible names. [Rivecoder]
* Extended the authentication mechanism for non-map related lumps to get rid of more exploits. [Torr Samaho]
* Fixed: Clients may completely freeze, i.e. get stuck in an infinite loop, when handling actors with a looping death state that loops over multiple frames, but doesn't loop back to the beginning of the death state. [Torr Samaho]
* All the server side code that manipulates actors on the clients now checks for valid net ids. A warning is printed if it's not possible to manipulate an actor because of a missing net id. [Torr Samaho]
* Fixed: The first player waiting in line in a survival invasion game joins the game when one of the in game players leave. [Torr Samaho]
* Added: sv_maxlives can now be configured from the "General settings" Windows server window. [Torr Samaho]
* Fixed: After using the CCMD map on the server, clients may accidentally be blocked for 10 seconds before they can enter the new map. [Torr Samaho]
* Added new CVAR sv_showwarnings (default true). If set to false, the new server side warning messages are suppressed. May be necessary for certain mods to prevent the warnings from flooding the log. [Torr Samaho]
* Fixed: Clients are not informed if the current sky differs from the default map sky when connecting to a server. [Torr Samaho]
* Fixed: The 'summonfoe' console command didn't work online. [Karate Chris, Torr Samaho]
* Fixed: In competitive game modes with sv_noexit == true, players are not killed when trying to exit a map while being in a sector with sector special 75 (dDamage_End). This happened for example in exec.wad on map09. [Torr Samaho]
* Fixed: Using the CCMD stat crashes the server. [Torr Samaho]
* Fixed online monster sync problems involving the MF2_BLASTED flag. Among others, this affected A_RadiusThrust. [Torr Samaho]
* Fixed: A_Chase doesn't work properly online when a custom missile or melee state is specified as argument. [Torr Samaho]
* Fixed: The 'GetPlayerInfo' ACS command didn't return the correct team. [Karate Chris]
* Fixed: Summoning a monster that doesn't count as a kill with the CCMD summonfriend messed up the invasion monster count online. [Torr Samaho]
* Fixed: Maps using ACS possibly crash during a map reset. Kudos to SuperGod for finding a way to reproduce this nasty bug! [Torr Samaho]
* Fixed: If a spawn by A_SpawnItem or A_SpawnItemEx is blocked, the server still instructs the clients to spawn the thing, leading to a "ghost" actor on the clients. [Torr Samaho]
* Fixed: When a client disconnects from a server, then changes its name in the console, and then reconnects, the server is not informed about the name change. [Torr Samaho]
* Partially fixed: Attack animations are not displayed in demos if you are spying a player that you didn't spy when recording the demo. By design this has display problems with weapons using A_ReFire. [Torr Samaho]
* Fixed: A single malformed packet could crash any server. Again thanks to Luigi Auriemma for a detailed report on this issue. [Torr Samaho]
* Fixed: The summon commands should inform a client when an invalid class is specified. [Karate Chris]
* Fixed: Assigning a net id to a moving ceiling used much more CPU time than necessary. This caused certain wads to be displayed at less than 1 fps. [Torr Samaho, SuperGod]
* Fixed: The Cleric's staff didn't animate correctly when draining health. [Karate Chris]
* Fixed some map change related crashes. [Torr Samaho]
* Fixed: 'A_SetBlend' didn't work online. [Karate Chris]
* Fixed: Thing_Hate caused serious monster position sync issues online. [Torr Samaho, SuperGod]
* Fixed: Heretic survival crashes within seconds after the countdown ends. [Torr Samaho]
* Fixed: Removing SectorAction and derived actors in game modes that reset, didn't remove those from the sector's list of actions. [Torr Samaho]
* Fixed: SetFont() doesn't work properly online. [Torr Samaho]
* Changed: Clients are now always informed when other players are pressing any attack buttons. This is done in a way that doesn't increase net traffic at all and fixes several problems: [Torr Samaho]
* Fixed: A_Mushroom possibly causes problems with the invasion monster count. [Torr Samaho]
** Now fully fixed: Attack animations are not always displayed properly in demos if you are spying a player that you didn't spy when recording the demo.
* Fixed: Level spawned actors revived by an Archvile aren't restored by GAME_ResetMap(). [Torr Samaho]
** When using coop spy, other players may get stuck in the attack state locally.
* Fixed: Level spawned actors that have been respawned in nightmare aren't restored by GAME_ResetMap(). [Torr Samaho]
* Changed default value of the CVAR sv_showwarnings to false. Should only be turned on for debugging purposes. [Torr Samaho]
* Fixed: Level spawned actors that have been removed by A_FreezeDeathChunks aren't restored by GAME_ResetMap(). [Torr Samaho]
* Increased the packet buffer size from 256 to 1024. Hopefully this reduces the chance of being forced to quit a network game due to packet loss. [Torr Samaho]
* Fixed: GAME_ResetMap() didn't properly restore the total number of monsters in case of monsters that were not spawned by the map and removed during the game, e.g. killed lost souls spawned by a pain elemental. [Torr Samaho]
* The maximum allowed effective skin sprite width/height is now limited corresponding to the width/radius of the player class the skin belongs to. This fixes an exploit of the skin dir. [Torr Samaho]
* Fixed: Enter scripts were run twice in all game modes that reset (expect for invasion). For example this broke the custom HUD of sp_usimp.pk3 in survival. [Torr Samaho]
* Added the ALLOWCLIENTSPAWN flag to the DynamicLight actor. This fixes that map spawned dynamic lights are not working online, but comes with the drawbacks of ALLOWCLIENTSPAWN. [Torr Samaho, Karate Chris]
* Fixed: If the ACS function SetActorPitch was called on a server, the clients were not notified about the updated pitch. [Torr Samaho]
* Renamed the Heretic spawner HexenGhostSpot to HereticGhostSpot. [Torr Samaho]
* Fixed: No melee sound is played online by A_CustomComboAttack. [Torr Samaho]
* Fixed: For some actors the server tried but failed to instruct the clients to set the actor to a certain frame. [Torr Samaho]
* Fixed: A_Print crashes the server online. [Torr Samaho]
* Fixed: When starting a new survival game offline, while one is currently in progress, you immediately get "mission failed". [Torr Samaho]
* Fixed problems with A_Respawn online. [Torr Samaho]
* Fixed: In coop games a client didn't keep track of the ammo of other players when they were firing / reloading their weapons. [Torr Samaho]
* Changed: Spectators are now allowed to use chasecam in all game modes. [Torr Samaho]
* Changed: When a jump is done online in A_JumpIfCloser, the server now synchronizes the actor position with the clients to reduce the sync issues caused by the client side monster movement. [Torr Samaho]
* Dormant actors are no longer removed in Invasion countdowns. [Rivecoder]
* Extended the 'sv_nocallvote' console variable. When 'sv_nocallvote' is at 0, all players can call votes, when it's at 1, no players can call votes, when it's at 2, only players in game can call votes. [Karate Chris]
* Removed the tediously annoying crouching console variable. [Karate Chris]
* Restored the plasma bump compat flag handling from the pre 97b era. This doesn't perfectly resemble the vanilla Doom behavior, but should be better than nothing. [Torr Samaho]
* The IWAD is now displayed in the internal browser. [Karate Chris]


==== v0.97d2 RC3 ====
==== v0.97d ====
* Completely NEW and expanded encryption of the executable, so that hacking it is now even more difficult than before. [SuperGod]
* Added an authentication mechanism for several non-map related lumps to get rid of some exploits. [Torr Samaho]
* Added support for OpenGL texture compression. Depending on the GPU capabilities up to four new texture formats (COMPR_RGBA, S3TC_DXT1, S3TC_DXT3, S3TC_DXT5) are selectable with gl_texture_format. [Torr Samaho]
* Added flood protection to the drop/invdrop command. You can't use it online more than once per second anymore. [Torr Samaho]
* Actor flag ALLOWCLIENTSPAWN is now available in DECORATE. The server doesn't tell clients to spawn actors with this flag, the clients spawn them on their own when loading the map. This is useful for decorations that will never be moved, removed, or changed in any way. Only use it, if you know what you are doing! [Torr Samaho]
* Added CCMD kickfromgame_idx, works like kickfromgame but uses the player index instead of the name. [Torr Samaho]
* Added CKeen's submission for an updated Italian language file. [Karate Chris]
* Added new inventory flag FORCERESPAWNINSURVIVAL. Items with this flag are respawned in survival even if sv_itemrespawn is false. [Torr Samaho]
* Added new CVAR sv_pure (default true). If set to false, the extended authentication mechanism for non-map related lumps is disabled. This is mainly intended for testing purposes and LAN play, official servers will always set sv_pure to true. [Torr Samaho]
* Fixed: Damaging a charging lost soul online leads to serious sync issues regarding the lost soul between client and server. [Torr Samaho]
* Added UDP server console flood protection and improved the messages generated by unexpected challenges. [Torr Samaho]
* Fixed a z position client/server sync issue of floating monsters. [Torr Samaho]
* Added a workaround that allows to inform 97d-beta4.3 (or earlier) clients trying to connect to a 97d2 (or newer) server that there version is outdated. [Torr Samaho]
* Fixed: Enter scripts are not executed in team games when a spectator joins a team. [Torr Samaho]
* Fixed: The activator of the alarm should receive a message. [Karate Chris]
* Fixed exploit: Dropping ammo at baby and nightmare skill levels would give you back more than you dropped (ported from ZDoom revision 708). [Torr Samaho]
* Fixed: The Sigil was broken client side. [Karate Chris]
* The drop/invdrop command is not allowed online in non-cooperative game modes anymore. [Torr Samaho]
* Fixed: Strife's AlienSpectre, EntityBoss, Inquisitor, LoreMaster, Programmer's lightning, Sentinel and Templar didn't work properly online. [Karate Chris]
* RadSuit now has the FORCERESPAWNINSURVIVAL inventory flag. This was necessary because some maps are nearly impossible to finish in survival with sv_itemrespawn == false. [Torr Samaho]
* Fixed: Dead spectators aren't revived after a map change in survival invasion. [Torr Samaho]
* Fixed: A single malformed packet could be use to freeze a server for about 5 seconds. Kudos to Luigi Auriemma for submitting a detailed report on this issue. [Torr Samaho]
* Fixed: Coop info possibly covers the keys displayed in the fullscreen HUD. [Torr Samaho]
* Fixed: Players may get stuck after a map reset in invasion. [Torr Samaho]
* Fixed: The kill count is not reseted after a map reset in invasion. [Torr Samaho]
* Changed: Changes to the CVAR sv_maxlives are now applied on the next map change (like done with sv_cheats). This fixes the problems that previously occurred when changing sv_maxlives during a game. [Torr Samaho]


==== v0.97d2 RC2 ====
==== v0.97d RC10 ====
* Added basic HUD model support. [Torr Samaho]
* Restored Windows 98/ME compatibility. [Torr Samaho, Rivecoder]
* Added survival invasion! In particular, added new CVAR sv_maxlives. This specifies how many times you are allowed to respawn in survival and invasion. sv_maxlives == 0 means no respawing in survival, but unlimited respawning in invasion. [Torr Samaho]
* Added one missing dmflag2 and seven missing compatflags to the "Configure DMFlags" server window. [Torr Samaho]
* Added coop info display to show the status of the other players (health, armor, weapon, ammo) in cooperative game modes. Can be toggled by the new CVAR cl_drawcoopinfo. Inspired by the Zalewa/SuperGod enhanced version of VoltlocK's Ally Display. [Torr Samaho]
* Added CCMD addbanexemption to add entries to the whitelist. [Torr Samaho]
* Added double definition support for the old DECORATE standard. In this case, the new actors override the old ones. [Rivecoder]
* Added CCMDs delban and delbanexemption to remove entries from the banlist/whitelist. [Torr Samaho]
* Under Windows, choosing "browse servers" in the Multiplayer menu brings up a new menu, letting you choose between IDEse and the internal browser. Hopefully, this should prevent newbies getting stuck at the old browser. [Rivecoder]
* Added CCMD viewbanexemptionlist to print the whole whitelist. [Torr Samaho]
* Added the CVAR chat_sound. With it, you can turn chat sounds off (0), play the default (1), or the Doom 2 (2) or Doom 1 (3) sounds. [Rivecoder]
* If (sv_banfilereparsetime > 0) the whitelist is now reparsed in addition to the banlist. This also applies to the CCMD reloadbans. [Torr Samaho]
* Added the dynamic light definitions for Strife made by Dark_Knight. [Torr Samaho]
* Added admin list support. Clients with an IP on this list can now join even if the server is full. The new CVAR sv_adminlistfile specifies the filename of the list. [Torr Samaho]
* The error message of the float parser under Linux now mentions the LANG enviroment variable as possible cause for the error. [Torr Samaho]
* Fixed: The red/blue team scores messages in CTF online are at the wrong position. [Torr Samaho]
* Added CVAR cl_allowmultipleannouncersounds (default true). If true, multiple announcer sounds can be played at once (like in 97D beta 4.3 and earlier), otherwise any announcer sound stops all previous announcers (like in 97D). [Torr Samaho]
* Fixed: A successful kick vote doesn't kick the target. [Torr Samaho]
* Extended the authentication mechanism for non-map related lumps to get rid of more exploits. [Torr Samaho]
* Fixed: A client with idmypos set to true crashes when connecting to a server. [Torr Samaho]
* All the server side code that manipulates actors on the clients now checks for valid net ids. A warning is printed if
* Fixed: In case cl_medals == true, carrier floating icons are not removed immediately after the carrier looses the item. [Torr Samaho]
* Fixed: The new icon and medal hierarchy doesn't always prevent medals from overriding carrier icons. [Torr Samaho]
* Fixed: The fraglimit code is executed on client and server, causing several problems. Among them is the incorrect number of wins display in duels online. [Torr Samaho]
* Fixed: Toggling the "Lose half ammo (CO-OP)" box in the "Configure DMFlags" server window doesn't automatically update the dmflags value in the window


==== v0.97d-beta4.3 ====
==== v0.97d-beta4 ====
* Fixed vulnerability that allowed clients to crash all other clients by saying a chat string with "%n". [Carnevil]
 
==== v0.97d-beta4.2 ====
* Fixed vulnerability that allowed servers to be crashed be a remote party. [Carnevil]
* Fixed vulnerability that allowed clients to be crashed by another playing saying a very long chat string. [Carnevil]
* Fixed a crash that would occur frequently in game modes in which the map experiences a map reset at some point (LMS, duel, survival, etc.). [Carnevil]
* Players no longer lose their team affiliation when they die in team LMS. [Carnevil]
 
==== v0.97d-beta4.1 ====
* Added a new display on the 'Target Identification' to help shift to the new ally icon. [Rivecoder]
* Added a new 'information unknown' display for when spying. [Rivecoder]
* When spying somebody who's health you don't know, the crosshair is now a neutral color. [Rivecoder]
* If a definition of an already defined decorate actor is encountered, instead of exiting with an error, it's simply ignored. [Torr Samaho]
* Refined the code that hides health/armor in instagib. It now only hides it in deathmatch. (You could set the instagib flag and play coop, for example). [Rivecoder]
* Fixed client-side crash that would occur when connecting to buckshot servers. [Carnevil]
* Fixed server-side error that would result in numerous overflow messages and strange behavior on the client end. [Carnevil]
* Fixed client-side crash that would occur when a sound played with the original sound curve compatflag enabled and the player's view was not active. [Carnevil]
* Fixed crash that would occur if the level time became too high (or in the case of clients, joining servers that have been up for more than two days without a map change). [Carnevil]
* Pointlimit is now properly implemented in team games. [Carnevil]
* The console player's states now update properly in client mode. [Carnevil]
* Error handing (not the same as a crash) is now properly handled on the server end. [Carnevil]
* The correct name is now highlighted on the scoreboard. [Carnevil]
* Fixed issues with player prediction that could cause noticeable issues when running up stairs. [Carnevil]
* Ping is now displayed on the scoreboard during client demo playback. [Carnevil]
* Restructured the way the contents of the autoload directories are loaded. Now the Linux version also loads files in the subdirectories of the Skulltag directory. [Torr Samaho]
* Removed d2st10 from Skulltag's maplist. It should no longer appear in the Skirmish menu or default rotation. [Aabra and Rivecoder]
 
==== v0.97d-beta4 ====
* Added Linux client and server support! [Torr Samaho]
* Added Linux client and server support! [Torr Samaho]
* ADDED CLIENT-SIDE DEMO RECORDING! You can now record a demo when connecting to a server with the "-record" <demo name> command line argument. Demos can be played back with the "playdemo" console command. [Carnevil]
* ADDED CLIENT-SIDE DEMO RECORDING! You can now record a demo when connecting to a server with the "-record" <demo name> command line argument. Demos can be played back with the "playdemo" console command. [Carnevil]
Line 2,688: Line 2,323:
* The "Server information" dialog box is now accessible under the "Server" menu, instead of the "File" menu.
* The "Server information" dialog box is now accessible under the "Server" menu, instead of the "File" menu.


==== v0.96b ====
==== v0.96c ====
* Skulltag now runs FASTER! Skulltag is now compiled with a different program, giving it quite a boost in speed!
* Skulltag now runs FASTER! Skulltag is now compiled with a different program, giving it quite a boost in speed!
* You can now set the "chatfrequency" property of custom bots in BOTINFO lumps.
* You can now set the "chatfrequency" property of custom bots in BOTINFO lumps.
Line 2,901: Line 2,536:
* Changed D2DM2 so that you can no longer get up to the rocky waterfall area (and fixed missing textures that were previously viewable from up there).
* Changed D2DM2 so that you can no longer get up to the rocky waterfall area (and fixed missing textures that were previously viewable from up there).
* Bringing up the "join game" prompt while a spectator is now always activated by hitting space, instead of whatever key "+use" was bound to.
* Bringing up the "join game" prompt while a spectator is now always activated by hitting space, instead of whatever key "+use" was bound to.
==== v0.95k ====
* Duels no longer restart when a spectator leaves the game.
* Fixed problem where dropped flags were often invisible to clients not using the cable connection type.
* Fixed problem where the duel countdown didn't show up on the client end after the duel limit is hit.
* Spectators can no longer suicide.
* Fixed glitched lift on D2CTF2.
* The settings sv_forcepassword and sv_forcejoinpassword are no longer archived (meaning you have to explicitly set them to TRUE if you want them to be on when you launch a server).
==== v0.95j ====
* The join queue now works in ALL gameplay modes; not just duel. So now, in packed servers, you can "wait in line" to play when all the server slots are taken. When a slot opens up, you will then automatically spawn in, instead of having to manually join the game.
* Spectators can now pass through teleports. No more being stuck in the team selection room while spectating!
* Added a Doom 64 guy skin. Thanks RottKing!
* The room now lights up when you fire the railgun like with other weapons.
* Added a missing announcer sound for the Perfect medal.
* Added "Wins" display alongside "Rank" and "Spread" while dueling.
* That annoying bug where a letter would rarely, randomly drop out while typing in a chat string should be fixed.
* The time freeze sphere is disabled in multiplayer for now.
* Fixed problem where the effect of the random powerup could be different on the client end from the server end.
* Fixed a bug where dropped weapons were giving twice as much ammo as they were supposed to.
* When a duel begins, any missiles fired during the warmup are now removed.
* Fixed problems relating to duellimit. It should work fine now.
* Fixed problem where you could have up to 350% armor with 150 max. armor bonuses.
* Fixed a small bug where the fragcount would display on the scoreboard under the deaths column in teamplay DM.
* Fixed some problems with the dynamic wad loading related to the MAPINFO lump.
* You can no longer get Excellent/Incredible/Domination/Total Domination medals by fragging your teammates with friendly fire on.
* Players who join a team and them spectate now lose their team affiliation.
* Improved the gameplay and visuals of d2ctf6.
* Improved the gameplay of D2ST2. The lifts have been sped up, and additional ammo and armor has been added.
* Improved the gameplay and visuals of D2ST1. It is now more clear which team the bases and goal areas belong to, and an alternate path into each base has been added.
==== v0.95i ====
* Added dynamic wad loading! Wads can now be loaded from inside Skulltag with the "load" command.
* Added checksum checks on wads! Now, the server makes sure that players aren't using any cheat wads!
* The ingame browser now automatically loads the appropriate wads when connecting to a server.
* Upgraded Skulltag to ZDoom version to 2.0.60.
* Added "Allow cheat skins" option. When off, players that use skins flagged as cheat skins will appear to have the default skin. Hissy, Doomcrate, Romero, and Daisy are considered cheat skins.
* Added Victory and Perfect medals! Victory is awarded when you win a duel, Perfect is awarded when you win a duel with the other player having zero or less frags.
* Added "You Skill Is Not Enough!" medal! This is awarded for dying 10 straight times without a frag.
* Implemented join passwords! Servers can now set it so that players must have a certain password to join the game. sv_forcejoinpassword and sv_joinpassword control this on the server end.
* Added the "duellimit" variable! Now, when this is set, the level will change after the number of duels equals the number you have "duellimit" set to.
* Added an option to scale the scoreboard! The scoreboard now automatically stops scaling when a lot of stuff is being displayed on it so that everything fits onto it!
* Filled in missing Daisy skin frames with dummy frames.
* Added "r_drawweapon", which controls whether or not to draw your current weapon. Can be useful if you'd like to not draw your weapon while taking a screenshot, for instance.
* Fixed major security hole where clients could rcon a server that didn't have a password set.
* Fixed reported crashes.
* Fixed bug where gibbed bodies would turn into normal corpses after the player respawned in network games.
* Fixed co-op bug where if people connected to a server where monsters were already dead, and had a DSL connection type or less, they would see blood and missiles would explode if they shot over a corpse.
* Fixed "double explosion" problem that would occasionally happen with missiles.
* Fixed problem where players could hear the chainsaw idle sound from other players even when they weren't using the chainsaw.
* Fixed problem where the railgun could shoot past "block everything" lines.
* Fixed bug in the ingame server browser where you could not scroll down when there were more than 8 servers in the list.
* Fixed bug where the face would sometimes not show up.
* Fixed bug where occasionally, players would get a "Server is full" message when a slot was still left.
* Fixed bug where there was an item on a lowered sector, new clients joining the game would see the item in the original, unlowered position.
* Fixed bug where if you did "weapnext" or "weapprev" while spectating, the game would crash.
* Removed the invisibility sphere from D2DM1.
* Railgun shots that strike team members no longer go toward earning Impressive and Most Impressive medals.
* Made it easier to read chat strings in the console.
* You can no longer kill yourself during intermission.
* Cvar "password" changed to "cl_password".
* Disabled the "kill" console command in oldschool mode.
* The "no exit" dmflag is now applied in oldschool mode. Also, if you try to hit the exit switch while "no exit" is on, the switch will simply not work instead of killing you (oldschool only).
* The behavior of the "allow instant respawn" compatability flag is now always applied in oldschool mode.
==== v0.95h ====
* Added the in-game server browser.
* Greatly revamped the DUEL gameplay mode! Now, players can wait in line and join once the current duel ends. Also, instead of the level changing when a duel ends, the loser is kicked into the spectators, and the next person in line joins him!
* Dramatically improved the player prediction. Movement is now much less jerky, especially on high ping servers!
* Skulltag now broadcasts server information, meaning that if a launcher (such as the in-game browser) listens properly, it can pick up servers on a LAN! (Translation: If you host a server on a LAN, and browser for local servers in the in-game server browser, it will show up!)
* Added sv_duelcountdowntime, which controls how long a duel counts down in seconds.
* Upgraded Skulltag to ZDoom version 2.0.57.
* Skulltag can now go between client mode and single player mode without having to restart.
* Now, if users launch a server with "-host #", "#" will become the maximum number of clients.
* Made a slight tweak so that plasma bumping on MAP01 behaves exactly like doom2.exe when the plasma bump compat flag is set. (Thanks cph!)
* Added dmst-duel.cfg and dmclassic-duel.cfg to the install package.
* Fixed problem where BFG9000 sprays were being done on the client end if you had connection type at 56k or DSL.
* Fixed all reported crashes.
* In co-op, game boes back to the initial episode map after getting to a finale of some sort.
* Fixed problem where scaled skins didn't appear to be scaled in multiplayer.
* Fixed overlapping text problem that occured when some messages were displayed in video modes where the width isn't a multiple of 320.
* Fixed problem where rejoining a teamplay DM server resulting in your saved number of frags being readded to the frag total.
* Icons now inhereit the render properties of their tracers. (ex. If you have an invisibility sphere, your icon will appear invisibile too).
* The quit and exit console commands can no longer be called with the ConsoleCommand ACS function.
* You frag total is no longer subtracted from the team frag total when you go into spectator mode.
* Summon cheats now work in multiplayer if sv_cheats is enabled.
* Sound is now played even when the window is not in focus.
==== v0.95g ====
* Upgraded Skulltag to ZDoom version 2.0.53.
* Made a massive fix to speed up item spawning on the server end. This results in much smoother, less laggy games. (Especially in levels with tons of objects. Co-op games should be MUCH better now.)
* Made large optimizations to how sectors work over the network. They are now smoother and less laggy!
* Applied "connection type" to ALL weapons. 56K users are simply told when a weapon is fired, and by who. DSL users are told that, and the actual XYZ, angle, and pitch of the shot, so they can recreate the shot on their end. Cable users get the information about each actual pellet or missile spawned by the weapon firing. The higher the connection type setting, the higher the precision, and the higher bandwidth used.
* Added sv_maxplayers, which limits the amount of active players in the game. People who join the game beyond this limit spawn as spectators.
* Added a trail effect for when players have the turbosphere or haste rune.
* Added field for the password that clients use to connect to passworded servers to the multiplayer menu.
* Added new compatibility flag that enables the original Doom sound curve.
* Add safety measures to the ConsoleCommand ACS function.
* Applied logic for all dmflags that I hadn't gotten around to doing.
* Added option to start as a spectator when connecting to servers. The option can be toggled via the multiplayer menu.
* Drain and reflection runes now work properly.
* Spread now works with all Heretic and Hexen weapons.
* Added "taunt" to the customize controls menu.
* Added con_textcolor, which allows disabling of color for text strings.
* Added chat flood protection. Now, players who spam servers with chat strings get kicked.
* TakeInventory called by server-side scripts now shows up properly on the client end.
* Improved spying through other people's eyes while in spectator mode.
* Added "plasma bump bug" compatibility flag. When this is enabled, plasma bumping on MAP01, BFG bumping on dwango5.wad MAP01, etc. work "properly".
* Objects spawned by server-side scripts through Thing_Projectile now work.
* Added blue/red leads, teams are tied announcer events for teamplay DM mode.
* Added HUD display for team scores during teamplay DM mode.
* Added limited support for Heretic/Hexen weapons over the net.
* Item respawning has been moved more towards the server end. This removes item respawn problems under certain conditions (ie. item respawn in cooperative).
* While spectating, players' whos eyes you spy through, now display the proper view and weapon bobbing.
* Added "disable taunts" compatability flag. This is important because before, the silent BFG effect was triggerable by taunting.
* Fixed major server crash where if the level remained unchanged for more than a day or so, and someone joined, it would crash.
* Desaturated sectors now appear that way on the client end.
* Fixed connection problems related to the level being loaded, without having gotten the player spawning packet(s) yet.
* Change music functions called by server-side scripts now work on the client end.
* Fixed problem where if a texture was changed to "-" during the course of a level, it would not show up correctly for connecting clients mid-level.
* Fixed problem where going into spectator mode while carrying an important object such as a flag or the terminator, would result in the object disappearing for good.
* Textures that have changed during the level are now updated to joining clients.
* Fixed problem where typing a chat string with a % sign would would result in a bunch of different characters instead of the actual % sign.
* Fixed bug where the joystick would not work in multiplayer games.
* Fixed bug where if you fired plasma against the wall, it didn't appear to come out at all on the client end.
* Fixed rcon problems related to the "map" command.
* Fixed problems with "floating missiles" when connecting to servers.
* Made fix to make the BFG firing sound play at the proper time on the client end.
* The HealThing function called by server-side scripts now works.
* Fixed problem where if the was packet loss on the server end, your missiles would appear to come out at the wrong pitch.
* Fixed problem where if you were spying through the eyes of another player during coop, spectator mode, etc., and they disconnected, Skulltag would crash.
* Players now grunt and have their view height shift when hitting the ground hard on the client end.
* Fixed bugs where weapons appeared to be cleared between levels in co-op, but that really isn't the case.
* Fixed bug where spectators did not show up on the scoreboard in teamgame mode.
* Icons now spawn directly over the player instead of at their feet (with framerate uncapped, medals in pervious versions would "float" up to the top of the player).
* Fixed memory leak related to sound on program exit.
* Voodoo dolls now work again.
* Fixed problem where enter scripts would only execute for one player.
* Fixed problem where sometimes "YOU NEED THE <RED, YELLOW, BLUE> KEY" messages sometimes did not appear on the client end.
* Fixed problem with obituary messages for custom wads where when players' had colored names, their color would persist to the end of the message, instead of reverting back to gold.
* Fixed problems where dropped dehacked pickups would appear to not disappear over the client end.
* Clients now receive dmflags, etc. updates if server updates them using "sv_nomonsters", etc. commands.
* Fixed bug where if the "no monsters" flag was set, and a co-op level was being played on, the monsters still spawned, and appeared to stand in place on the client end.
* Added unique spawnable codes for the dark imp fireball and cacolantern fireball.
* Fixed problem where picking up dehacked items on the client end would not make them disappear.
* Fixed problem where score ladder on D2ST2 occasinally could not be climbed.
* Flag return ticks are now reset after each level.
* Fixed problems relating to being permently frozen if you're in time freeze mode, and restart the level.
* Monster pain chance is now no longer factored into the client end.
* Fixed telefrag bug where you appeared to be dead on the client end, but were still alive.
* Normal player sounds are now played when cl_skins is false. Before, even though the player sprite was normal, the sounds associated with the skin would still play.
* Fixed problem where the silent pickups compatability flag wouldn't work if the silent BFG compatibility flag was enabled.
* Autoaim now always works in oldschool mode.
* Fixed a number of minor co-op bugs.
* Removed cl_noalpha. Turns out it just duplicated the effect of r_drawtrans.
* Regeneration and degeneration are no longer handled on the client end.
* Objects are now always infinitely tall in oldschool mode.
* Players in cooperatvie mode are now considered teammates. The teamdamage cvar now affects how much you can damage your teammates.
* Text lines are no longer broken up into two or more lines if they're too long to fit the screen in oldschool.
* The console is now available in oldschool mode.
* Servers can now enable sv_cheats, allowing cheats.
* Made r_drawtrans settings save to config file, instead of being set to the default each time Skulltag is loaded.
* Changed chatting in oldschool mode so it more closely resembles normal chatting.
* Changed grunt when pushing against a wall to being client-side (of course, other clients still hear the sound).
* Changed grunting when landing the ground to being client-side (of course, other clients still hear the sound).
* Split up the "Cable/DSL" connection type into two seperate types. Now, if both the server and client have at least a cable connection, SSG pellets will appear in exactly the right place, as opposed to their position being generated on the client end. (WARNING: This takes a LOT of bandwidth! Only do this if you're hardcore!)
* Slightly lowered the volume of the firing sound for the minigun.
* Railgun and BFG10K now produce decals.
* Missiles now spawn with the exact correctness of speed, position, and angle on the client end if both the server and client have at least a cable connection.
* Custom names are now allowed in oldschool mode (no more "Green", "Indigo", etc.).
==== v0.95f ====
* If the client cannot connect due to the version different, the server says which version it's using.
* Made some more optimizations to the player movement network code, so the same results are acheived with less bandwidth (translation: less lag).
* Added new fireball graphics for the cacolantern.
* Underwater movement is now far less jerky.
* Sounds triggered by server-side scripts now work.
* Fixed connection problem where a bunch of garbage would spew in the console, and you'd get a "Waiting for server..." message.
* Fixed crash on client end that would happen if the server told the client to print an invalid type of HUD message (never really should happen).
* Fixed "flashing red screen" problem.
* Chat prompt is now visible for people using "scale text in high res".
* Pistol was being fired both client-side and server-side. Now it is only fired server-side.
* The BFG10k shooting is now server-side (before, the gun would appear to fire on the client end, but other players wouldn't see the shot).
* The BFG10k shot and the BFG9000 shot had the same spawnable code for scripts. This has been changed (BFG10K shot is now 217).
* Fixed problem where GiveInventory called by server-side scripts would spawn a version of the item on the client side that could not be picked up.
* Fixed problem where drain and rage icons were mixed up on the status bar in fullscreen.
==== v0.95e ====
* Greatly reduced occurance of connection error occasionally experienced by clients.
==== v0.95d ====
* Added [https://bitbucket.org/Torr_Samaho/zandronum/src/7e43a0725ec1c453ba91a9a7767dfffb5aec4728/docs/Skulltag%20Version%20History.txt?at=default&fileviewer=file-view-default this file].
* Added "connection type" field to the player setup menu, and "sv_connectiontype" for servers, which determines how precise the data sent back and forth between the server and client is.
* Added cl_showcommands, which displays all commands coming to the player from the server.
* HUD messages called by scripts run on the server end now show up on the client end.
* Actor and player properties set by server side scripts are now sent to the clients.
* Now when switches or lines change a sector's light level, it is sent to the clients.
* Dormat objects now appear that way on the client end.
* Give inventory commands called by server scripts are now reflected on the client end.
* Added "<team> has won" to the teamgame intermission screen.
* Textures now set by server side scripts now show up on the client end.
* Line transparency set on the server side now shows up on the client end.
* Fixed two problems after level change: One where a player's names, skins, etc. would be applied to another player, and where players would bomb to the console with a "no player # start" error message.
* Fixed problems with "double vertical" and "double horiz and vert" detail modes, and all other reported crashes.
* Clients no longer play "blue leads, red flag taken," etc. messages when connecting to an active CTF/ST server.
* Fixed ANIMDEFS lump so switches in Hexen now change graphic when activated.
* Having cl_identifytarget on no longer activates lines activated by shooting when your crosshair is over that line.
* Flags crushed by sectors are now returned.
* If a flag is now slightly within a wall, ceiling, etc. it now spawns anyway. (Before, on d2ctf5, the blue flag would not return if the trap lift was up, making it gone permanently.)
* Fixed flag respawn problems and missing texture on d2ctf5.
* Fixed mancubus firing.
* Weapons are now cleared after intermission in DM, CTF, etc. games.
* Fixed problem where the railgun color was always blue until you changed it.
* Railgun shots that don't strike a player now actually reset your consecutive railgun hits total.
* Player's medals and points (in a teamgame) are now not cleared until the new level begins. Now you can see your score, and the medals you racked up on the level during intermission!
* Dropped flags that have not been returned now result in a "?" flagstatus on the HUD for that team onthe client end.
* Got rid of "You fragged <name>", "You were fragged by <name>" messages in oldschool.
* Defaulted the item respawn and spawn farthest dmflags to OFF when Skulltag is ran with -oldschool (that's altdeath).
* Players' current team is now reset after intermission.
* Color codes are now stripped out of the text in the server window.
* Changed spectator mode so that powerups are cleared once you enter spectator mode. (Before, if you had the doomsphere and would spectate, you appeared to still have the powerup (indefinitely).)
* Move up/down keys now work in spectator mode.
==== v0.95b ====
* Upgraded Skulltag to ZDoom v2.0.47q
* New CTF level! d2ctf6: Ruins of Blood
* Two new Skulltag levels! d2st1 and d2st2
* Spectator mode added! Players can now spectate on other games!
* New weapon added! The minigun.
* New monster! The Belphegor (third level hell knight).
* Added the ability to handicap yourself in DM/CTF.
* Co-op is now supported! Includes scoreboard changes.
* New duel deathmatch mode added! Designed for 1 on 1 deathmatch.
* Third episode of Skulltag now selectable through the menu.
* Nicer fadeout on medals.
* Added cl_icons and cl_medals, which are options to disable icons and medals.
* Also added cl_skins, for disabling skins.
* Skirmish menu now allows selecting of levels added from MAPINFO lumps.
* Added shootable versions of the invisible bridges. Useful for room over room with Transfer_Heights.
* Did basic Skulltag tweaks for Hexen support (That's right, since Skulltag is now based on ZDoom v2.0, it now works with Hexen!).
* More frames for the SSG guy.
* Dark Imps, Cacolanterns now have sprites.
* New fireball for the Dark Imp.
* Detail has been increased on d2dm1 and d2dm2.
* Added a display option to turn down the intensity of blood on the screen.
* Fraglimit is no longer factored into team games.
* Player can now taunt and jump at the same time.
* Changed method of calculating rank. Should be more accurate now.
* Dark Imps and Cacolanterns now fire faster projectiles.
* Changed how Incredible medals are awarded. It is now given if you get a frag within two seconds of getting an Excellent, instead of getting two frags within two seconds of getting an Excellent. They should be more common now.
* Changed the Doomsphere duration from 30 seconds to 25 seconds.
==== v0.94c ====
* Added new level! d2ctf5: Massmouth Mansion
* Skulltag now works with Doom 1.
* Added "You're tied for/You've taken/lost the lead" announcer events.
* Added megasphere, soulsphere, and "You win" announcer events
* Added new item: Massmouth statue
* Added new "sv_defaultdmflags" cvar, which when turned off, will NOT use the default dmflags for a DM, CTF, etc. level set by Skulltag.
* Added MOD for killing yourself with the BFG10K.
* Fixed +moveup and +movedown in client/server games
* Fixed the scoreboard so number of points left in team games displays
* Fixed problem where if you switched from a CTF level to a DM level, the "Welcome to CTF" sound would still play.
* Skulltag now updates the master server right away whenever you change the master server IP.
* Fixed problem where Skulltag couldn't load certain PWADS with custom textures (ex. gothic2).
* Fixed "Unknown item" problem with dropped pistols and BFG10Ks.
* Fixed sound bug in terminator mode.
* Fixed problem where sounds would become out of sync if the server or client didn't have the same skins or announcer wads loaded.
* Announcer wads placed in the /ANNOUNCER directory are now automatically loaded.
* Replaced the "-maxclients" command line parameter with the "sv_maxclients" cvar. It can be changed without restarting the server.
==== v0.94b ====
* Announcer suuport. You can select the announcer in the player setup menu.
* Two new levels:
** d2dm3: A 1v1 map with a steep learning curve. Not reccommended as part of your map rotation.
** d2dm6: All-around lots of fun!
* Linux version for running servers.
* Greatly increased stability on newtork games.
* Support for IDE (Internet Doom Explorer). Doom Connector support will be done within days.
* Map rotation. Works the same way as ZDaemon and csDoom's map rotation. addmap, clearmaplist, and maplist are all valid commands. Can also be toggled on and off with the cvar "sv_maprotation".
* MOTD support. Simply set the "sv_motd" cvar.
* New weapon! The BFG10K.
* Now supports playing with *MOST* textured wads (darkening e2, HR2, etc). Some still have a problem.
* The initial sprites for the Super Shotgun Guy.
* Updated music selections on some maps.
* Wadauthor and ZETH configuration files for making maps for Skulltag.
* Minor tweaks to the firing frames of the railgun.
* Doors now close all the way.
* The "You Fail It" medal, which you receive when you die 5 times without getting a single frag.
==== v0.93 ====
* A new level, d2dm5, is included.
* One flag CTF mode has been added. A placed yellow skull becomes the white flag.
* Custom bots can now be added. ... of course, since the bots don't do anything, I won't bother going into how this is done right now. However, if you're REALLY curious, look at the BOTINFO lump in skulltag.wad. You'll see the one custom bot that has been added to skulltag, "crackwhore". heh. She will be promptly removed in the next version :)
* Network code should now be significantly more stable.
* Skulltag can now be ran with -ctf or -onectf, which will setup a teamgame (-teamgame), and change the skull graphics into flags.
* Other wonderful, fabulous stuff!
==== v0.92 ====
''No changelog available.''
(Bugfixes, probably.)
==== v0.91 ====
''No changelog available.''
(Bugfixes, probably.)
==== v0.90 ====
''This is not an official changelog, it is based off of difference in the stmanual.doc file provided in this version.''
* Fix bot AI
* Fix railgun reload problems
* Fix only being able to type in new "ST" codes at the console.
* New medals:
** "Precision!": Given for making 10 consecutive hits with any weapon.
* New<sup>?</sup> gamemodes:
** Terminator: Variant of deathmatch where players try to kill the "terminator."
** Oldschool: Variant of deathmatch that simulates the doom2.exe style of deathmatch, right down to the silent BFG!
==== v0.81 ====
''No changelog available.''
(Bugfixes, probably.)
==== v0.80 ====
''This is not an official changelog, it is based off of difference in the stmanual.doc file provided in this version.''
* Add multiplayer<sup>?</sup>
* Add gamemodes<sup>?</sup>:
** Normal: Kill monsters, find keys. All that good stuff.
** Deathmatch: The standard mode of deathmatch we all know and love.
** Teamplay: Variant of deathmatch where players play in teams.
** Instagib: Variant of deathmatch where all players start off with only the railgun, and one shot kills your enemies.
** Survival: Variant of deathmatch where you lose a frag whenever you die (defense is important!)
** Scoremode: Variant of deathmatch where players are given different amount of points for their frags, depending on the difficulty of the kill. Points are also awarded for receiving medals.
** Teamgame: Divides all players up into two teams for games like Capture the Flag, Skull Tag, and Domination.
* New medal:
** "Total Domination!": Given for getting 25 consecutive frags without dying.
==== v0.71 ====
''This is not an official changelog, it is based off of difference in the stmanual.doc file provided in this version.''
* Fixed bot crashing
* Fixed status bar
* Fixed the "Skull Tag v0.6 beta" message that displays at the bottom
* Fixed having to do "skulltag -file st.wad" instead of just having to type "skulltag" at startup
==== v0.6 ====
* Initial release.
* New dmflags (dmflags2):
** Impaling damage: Causes the player to become impaled when landing on sharp objects.
** Drop weapons (DM/ST): Causes the player to drop their current weapon when killed.
** Allow runes (DM/ST): Allows runes to be spawned on the current level.
** Instant skull return (ST): Returns the skull to its origin instantly after being dropped by a player.
** Return sitting skulls (ST): Returns dropped skulls to their orgin after sitting on the ground for a certain period of time.
** Use team colors (ST): Forces player's color to be the player's team color.
** Allow team switch (ST): Allows player's to switch teams at will.
** Random teams (ST): Automatically places a player on a random team when he enters a game.
** Drop runes (DM/ST): Causes the player to drop his rune when killed.
** 200% health/armor max.: Prevents max. armor and health bonuses from giving you health or armor above 200%.
** Double ammo: Gives the player double the amount of ammo he normally receives from items.
** Clear frags (DM/ST): Resets frags at the beginning of each level.
** No respawn (DM/ST): Prevents the player from respawning when killed.
** Degeneration (DM/ST): Causes the player to slowly lose health when above 100%.
** Lose frag when killed (DM): Causes the fragged player to lose a frag.
** No BFG freeaiming: Causes the BFG to always fire straight.
** Barrels respawn (DM/ST): Allows barrels to respawn like normal items.
** Invulnerable on respawn (DM/ST): Grants temporary invulnerability to players who have just respawned.
* Medals:
** "Excellent!": Given for getting 2 frags in under 2 seconds.
** "Incredible!": Given for getting 2 "Excellent!"'s in under 2 seconds.
** "Impressive!": Given for making 2 consecutive hits with the railgun.
** "Most Impressive!": Given for making 4 consecutive hits with the railgun.
** "Accuracy!": Given for making 10 consecutive hits with any weapon.
** "Domination!" Given for getting 10 frags without dying.
** "Llama!" Given for killing someone while they're typing.
** NOTE: Some of these don't work yet.
** ANOTHER NOTE: There's more that I'm just not mentioning now :)
* New command line switches:
** -deathmatch2: Causes deathmatch to be loaded with a few more dmflags turned on, including respawn invulnerability, and losing a frag on death (note: I call this "survival deathmatch").
** -teamgame: Causes the game to be loaded in teamgame mode.
* New console commands:
** netgame/multiplayer: Enables fake multiplayer mode (no level reloaded when killed, etc).
** botchat: When set to 0, bots will not chat.
** botskill: General bot skill level (doesn't quite work yet :P)
** idkfa/idfa: Same as typing the codes in during the game, only they can now be bound to a key.
** pointlimit: Sets pointlimit for teamgame levels
** railcolor <0-9>: Sets your railgun trail color. (NOTE: I'll allow strings for this soon).
** teamcolor: Sets player's team color
** teamname: Sets player's team name
=== Sources ===
* '''Zandronum 1.0+:''' Zandronum Version History.txt
* '''Skulltag v0.94c to v0.98d:''' [https://bitbucket.org/Torr_Samaho/zandronum/src/7e43a0725ec1c453ba91a9a7767dfffb5aec4728/docs/Skulltag%20Version%20History.txt?at=default&fileviewer=file-view-default Skulltag Version History.txt]
* '''Skulltag v0.94b:''' README.txt in the zip file.
* '''Skulltag v0.93:''' [http://web.archive.org/web/20021202065533/http://www.doomworld.com/skulltag/ http://www.doomworld.com/skulltag/, 2002-12-02].
* '''Skulltag v0.71-v0.92:''' Comparing the stmanual.doc in the zip files against the one of the previous versions.
* '''Skulltag v0.6:''' The stmanual.doc in the zip file.