Jump to content

Version history: Difference between revisions

46,751 bytes added ,  5 September 2018
Add latest 3.1 info
(Add 0.96 family changelogs.)
(Add latest 3.1 info)
(27 intermediate revisions by the same user 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.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 175: Line 187:
| 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]]
! [[File:OpenGL logo (Nov14).svg|16px|GZDoom base]]
! colspan="1" | [[File:Windows_logo_-_2012.svg|16px|Windows]]
! colspan="2" | [[File:NewTux.svg|16px|Linux]]
! [[File:OS_X_El_Capitan_logo.svg|16px|OS X]]
! colspan="2" | [[File:Freebsd-sphere-logo.png|16px|FreeBSD]]
! [[File:Mercurial logo cropped.svg|16px|Source code tag]]
|- style='background: #ffffcc'
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| '''4.0'''
|
|
| <code>master</code>
| <code>master</code>
|
|
|  
|  
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097d5_security_update_freebsd.tar.bz2 i386 server patch tar.bz2]
| <code>ST_0.97d5-security-update-1</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97d5
|
| [http://www.skulltag.com/download/files/release/installer97d5.exe Installer]
| [http://skulltag.com/download/files/release/st-v097d5_windows.zip Zip]
| 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]
|
| 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" |
|
|
|
| colspan="2" |
| <code>ST_0.97d3</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97d2
|
| 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.97d2</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97d
|
|
| [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" |
| <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.97d</code>
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.97c3
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v097c3.zip Zip]
|  
|  
|  
|  
|
|
| 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]
|  
|  
| see [https://bitbucket.org/Torr_Samaho/zandronum-stable zandronum-stable]
|
|}
|
 
| colspan="2" |
== Changelogs ==
| <code>ST_0.97c</code>
=== Development ===
|-
'''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.
| 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" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.96f
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v096f.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.96e
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v096e.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.96d
|
| 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]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.96c
|
| 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]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.96b
|
| 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]
|
|
|
| colspan="2" |
|
|-
| 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/st-v095h.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95g
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v095g.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95f
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v095f.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95e
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v095e.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95d
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v095d.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.95c
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v095c.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.94c
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v094c.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.94b
|
| colspan="2" | [http://www.skulltag.com/download/files/release/st-v094b.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.93
|
| colspan="2" | [http://www.skulltag.com/download/files/release/stbeta93.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.92
|
| colspan="2" | [http://www.skulltag.com/download/files/release/stbeta92.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.91
|
| colspan="2" | [http://www.skulltag.com/download/files/release/stbeta91.zip Zip]
|
|
|
| colspan="2" |
| [http://www.skulltag.com/download/files/release/st-v091_src.7z source zip]
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.90
|
| colspan="2" | [http://www.skulltag.com/download/files/release/stbeta90.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.81
|
| colspan="2" | [http://www.skulltag.com/download/files/release/stbeta81.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.8
|
| colspan="2" | [http://www.skulltag.com/download/files/release/stbeta8.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.71
|
| colspan="2" | [http://www.skulltag.com/download/files/release/stbeta2.zip Zip]
|
|
|
| colspan="2" |
|
|-
| style='width: 20px; text-align: center;' | [[File:SkullTag Icon.png|16px|Skulltag]]
| 0.70
| Jun 11 2000<sup>?</sup>
| colspan="2" | [http://www.skulltag.com/download/files/release/stbeta1.zip Zip]
|
|
|
| colspan="2" |
|
|}
 
=== Betas ===
{| class='wikitable' style='width: 100%'
! colspan="2" | Version
! Beta
! Released
! [[File:ZDoom Icon 16x16.png|16px|ZDoom base]]
! [[File:OpenGL logo (Nov14).svg|16px|GZDoom base]]
! colspan="1" | [[File:Windows_logo_-_2012.svg|16px|Windows]]
! colspan="2" | [[File:NewTux.svg|16px|Linux]]
! [[File:OS_X_El_Capitan_logo.svg|16px|OS X]]
! colspan="2" | [[File:Freebsd-sphere-logo.png|16px|FreeBSD]]
! [[File:Mercurial logo cropped.svg|16px|Source code tag]]
|- style='background: #ffffb3'
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| '''3.1'''
| 3.1-alpha-180901-1533
| Sep 01, 2018
| 2.8pre-441-g458e1b1
| 1.8.6
| [https://zandronum.com/downloads/testing/3.1/ZandroDev3.1-180901-1533windows.zip Zip]
|
|
|
|
|
| see [https://bitbucket.org/Torr_Samaho/zandronum-stable zandronum-stable]
|- style='background: #ffffcc'
| style='width: 20px; text-align: center;' | [[File:ZanLogo.png|16px]]
| '''zdoom-sync'''
|
|
| <code>master</code>
| <code>master</code>
|
|
|
|
|
|
| see [https://bitbucket.org/Torr_Samaho/zandronum-zdoom-sync zandronum-zdoom-sync]
|}
 
== Changelogs ==
=== Development ===
'''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.1 ====
* Added a new server administration menu, from which server settings can be changed without needing to use the console. The menu will ask for the RCON password if necessary. Gameplay and compatibility settings are now grayed out unless the user has RCON access and work online properly. Added various Zandronum-specific gameplay settings to the menu. [Dusk]
* "stat nettraffic" now also shows information on the number of many missing packets the client requests from the servers. [Torr Samaho]
* The server can now broadcast the MD5 hashes of loaded PWADs to launchers. [Sean]
* Fixed: ACS function SetSkyScrollSpeed didn't work online. [Edward-san]
* Fixed: color codes in callvote reasons weren't terminated properly. [Dusk]
* Fixed: The 'Color Setter' and the 'Fade Setter' things weren't handled properly on map resets. [Edward-san]
* Fixed: A_JumpIfTargetInsideMeleeRange and A_JumpIfTargetOutsideMeleeRange weren't handled properly online. [Edward-san]
* Fixed: Same spot respawn didn't work anymore with dead spectators. [Edward-san]
* Fixed: A_CheckLOF wasn't handled properly online. [Edward-san]
* Fixed the DROPPED flag not being removed from level-spawned things when not needed. [Edward-san]
* Fixed an ACS related server and client crash. [Torr Samaho]
* sv_forcegldefaults renamed to sv_forcevideodefaults. The old name still exists for compatibility. [Dusk]
* r_3dfloors is now forced to be true when sv_forcevideodefaults is true. [Dusk]
 
=== Zandronum ===
==== 3.0 ====
* Updated Zandronum's (G)ZDoom base to ZDoom 2.8pre-441-g458e1b1 / GZDoom 1.8.6. [Torr Samaho]
* 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 a new buffer for the reliable packets scheduled to be sent from the server to the clients. This allows to limit the number of packets the server sends to a client per tick (CVAR sv_maxpacketspertick, default 64). In particular, this allows to spread the full update a client gets when connecting to the server over multiple ticks and should fix problems connecting to large maps with many actors. Also increased the packet loss buffer size from 1024 to 2048. [Torr Samaho]
* Added NamedRequestScriptPuke, named variant of RequestScriptPuke. The two functions can now take 1-5 parameters, thus supporting 4 script arguments. [Dusk]
* 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]
* 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]
* 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]
* 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]
* Chat preview is now rendered on multiple lines, if necessary. [Dusk]
* 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]
* 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]
* This server now prevents players to use a name already used by another player. If a player requests a duplicate name, the player is renamed to 'Player N' where N is a random number from 0 to 9999. [Torr Samaho]
* Added CCMD demo_pause that allows to pause/resume the currently played client side demo. In free spectate mode, the spectator can still move around while the demo is paused. [Torr Samaho]
* Added cl_soundwhennotactive CVAR support to non-Windows clients. [Edward-san]
* Added support to clientside ACS_ExecuteWithResult with four arguments. [Edward-san]
* Added sv_survival_nomapresetondeath Zandronum dmflag to modify survival game mode where the map will not be reset on all players death - the players will be able to continue with fresh amount of lives. Dead players will carry over their inventory in accordance to "keep inventory" flags. [Zalewa]
* Backported ZDoom's ACS function GetActorFloorTexture. [Torr Samaho]
* The SQLite3 database can now be used in WAL mode. This mode is enabled / disabled with the new CCMDs 'db_enable_wal' / 'db_disable_wal'. [Torr Samaho]
* Added new ACS command SetDeadSpectator (int playernumber, int deadspectator). This command can turn alive players into dead spectators (deadspectator == 1) and revive dead spectators  (deadspectator == 0). [Torr Samaho]
* Added the new ACS command SetActivatorToPlayer as a replacement solution for AAPTR_PLAYERx that works with all 64 players instead of only 8. [Dusk]
* Added CVAR sv_forcerespawntime that controls the time delay before force respawn activates and respawns a player. [Ru5tK1ng]
* The authentication mechanism for non-map related lumps now allows Freedoom 0.11.3/Doom clients to join Doom/Freedoom 0.11.3 servers. [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]
* 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]
* sv_shotgunstart is now respected in non-cooperative gamemodes. [Dusk]
* Fixed: Take cheat didn't work online. [Dusk]
* Fixed: An invalid "winlimit hit" message would be displayed on map change in possession. [Dusk]
* 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]
* 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]
* Fixed: ACS function PlaySound did not work online. [Edward-san]
* 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]
* 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]
* Fixed: the server didn't inform the clients to not apply the DROPPED flag to level-spawned items which don't have it by default. [Edward-san]
* Fixed: clients were not informed correctly about the morphed player's morph style. [Edward-san]
* Fixed: clients were not informed to play the active sound of a PowerProtection powerup. [Edward-san]
* Fixed: clients couldn't hide the RaiseAlarm item released by dying NPC actors. [Edward-san]
* Fixed: clients were not informed correctly about actors being affected by A_NoBlocking invoked by an item pickup. [Edward-san]
* Fixed: HUDMessage messages weren't cleared on map resets. [Edward-san]
* Fixed: Player start types were selected based on the CVARs deathmatch and teamgame instead of the GAMEMODE flags DEATHMATCH and TEAMGAME. [Torr Samaho]
* Fixed: A titlemap run with gamemode cooperative and dead spectators was not started correctly. [Edward-san, Torr Samaho]
* Fixed: The ACS function ReplaceTextures didn't show an effect for clients already in the game. [Torr Samaho]
* Fixed: Certain code pointers like A_PlaySound didn't work on MorphFlash/UnMorphFlash online. [Torr Samaho]
* Fixed: Clients played the Archvile resurrect sound twice. [Edward-san]
* Fixed a network inconsistency with Archvile-like monsters which miss the Heal state and use A_VileChase to eventually resurrect the corpses. [Edward-san, Torr Samaho]
* Fixed: clients didn't handle properly resurrecting monsters in rare occurrences. [Edward-san]
* Fixed the wrong thingz positioning after an offline map reset. [Torr Samaho, Edward-san]
* Fixed: clients mispredicted NOGRAVITY things, attached to the ceiling, when pushed by something. [Edward-san]
* Fixed: menu ignore got confused about players with the same name. [Dusk]
* Fixed: A_Respawn wasn't handled correctly online. [Edward-san]
* Fixed: clients couldn't hear the player's jumping sound if present. [Edward-san]
* Fixed: When the server used ACS_ExecuteWithResult to start a CLIENTSIDE scripts, the clients were told the wrong arguments. [Torr Samaho]
* Fixed: A_Mushroom did not work properly online. [Torr Samaho]
* Fixed: The server didn't instruct clients to spawn missiles from A_CustomMissile if they exploded on spawn. [Torr Samaho]
* Fixed: AFastProjectile ignored the CLIENTSIDEONLY flag of its MissileType. [Torr Samaho]
* Fixed: A_SpawnDebris did not work properly online and ignored the CLIENTSIDEONLY flag. [Torr Samaho]
* Fixed: Voodoo dolls could cause unnecessary network traffic. [Torr Samaho]
* Fixed: Indefinitely hidden non-inventory actors caused unnecessary network traffic during a map reset. [Torr Samaho]
* Fixed: Clients were informed about RandomSpawners, even though they only needed to know about the outcome of the spawner, which wasted network traffic. [Torr Samaho]
* Fixed: The server could instruct the client to spawn puffs without a netID even if the puff didn't have the NONETID flag. [Torr Samaho]
* Fixed: Clients with high bandwidth weren't informed about the item dropping physics online. [Edward-san]
* When sv_nocallvote is 2, only consider votes of players joined in the game (addresses 2590). [Ru5tK1ng]
* Fixed: Returning to a map in a hub could crash the clients online. [Torr Samaho]
* Fixed: Votes were not being removed or cancelled when a player disconnected. [Ru5tK1ng]
* Fixed: Server-to-client ACS script executions could not represent the values [-127..-1] as parameters. [Dusk]
* Fixed the inconsistent/missing number of allies and/or opponents left when the displayed player dies/spectates in gamemodes with dead spectators. [Edward-san]
* Fixed: SMF_Look was not working in CTF and other team game modes. [Ru5tK1ng]
* Fixed: Fixed colormaps not being respected for actors beneath 3D floors. [Dusk, Torr Samaho]
* Fixed: The scoreboard duel wins drawer could crash with cameras not attached to the player. [Edward-san]
* Fixed: The screen blending effects wouldn't work on the automap. [Edward-san]
* Fixed: A_BrainScream and A_BrainExplode caused unnecessary network traffic. [Torr Samaho]
* Fixed: the change of the player name with a too short name wasn't handled correctly. [Edward-san]
* Fixed: z-position client-server inconsistencies for things on cliffs. [Zalewa, Edward-san]
* Fixed: Leaf1 and Leaf2 caused unnecessary network traffic. [Torr Samaho]
* Fixed: Mugshot multiplayer background color didn't change with player color in OpenGL. [Zalewa]
* Fixed: "File|Join" from server console wouldn't load DeHackEd patches. [Zalewa]
* Fixed: GetScreenWidth and GetScreenHeight ACS functions did not work online. [Dusk]
* Fixed: the DamageFactor calculation was executed twice for armors. [Edward-san]
* Fixed: body of the player who loses all lives no longer disappears into thin air. [Zalewa]
* Fixed a certain number of commands and server CVARs which weren't protected against the ConsoleCommand. [Edward-san, Torr Samaho]
* Fixed: the server could crash if a morph powerup is taken away when the morphed player exhausts the ammo. [Edward-san]
* Fixed crash with voodoo dolls and PowerIronFeet. [Edward-san]
* Fixed: Under rare circumstances, the server could freeze when selecting a random map from the map rotation. [Torr Samaho]
* Fixed: When the server instructed a client to jump as result of A_Jump*, the client did not call the state function of the state jumped to. [Torr Samaho]
* Fixed: The server didn't fully notify the clients about water splashes. [Torr Samaho]
* Fixed a potential client crash related to the firing sound of a railgun. [Torr Samaho]
* Fixed: Blood splatter caused unnecessary network traffic. [Torr Samaho]
* Fixed: A_FiredSpawnRock and A_FiredSplotch caused unnecessary network traffic. [Torr Samaho]
* Fixed: Angle arguments in DECORATE didn't work properly on ARM devices like the Raspberry Pi (adapted from the corresponding ZDoom fix). [Torr Samaho]
* Fixed: The server informed the clients about the position of the other players during intermission, which generated unnecessary network traffic. [Torr Samaho]
* Fixed: the server erroneously told clients that some slamming actors changed their state to the Spawn state instead of the Idle state. [Edward-san]
* Slightly improved how the MinotaurFriend is handled online. [Edward-san]
* Fixed: When a player was damaged, clients always executed the first state function of the standard pain state. [Torr Samaho]
* Fixed: The server didn't inform the clients about changes made with A_ChangeFlag to the special Zandronum flags, like DONTIDENTIFYTARGET. [Torr Samaho]
* Fixed: CLIENTSIDE scripts lost track of the player as activator when the player was morphed or unmorphed. [Torr Samaho]
* Fixed: A too long value of sv_hostname could crash the Windows server when it was minimized to the system tray. [Torr Samaho]
* Fixed: Using SetDBEntryString with an integer instead of a string as argument could cause a crash. [Torr Samaho]
* Changed: Spectators can now interact with gravity and use the fly/land commands. [Leonard]
* Save games now contain information about the renderer used to create the save. This allows to print a proper error message when an incompatible save is tried to be loaded. [Torr Samaho]
* Clients don't error out anymore when encountering a division by zero in a DECORATE expression. Instead, a one time warning is printed on the first occasion and the result is assumed to be zero. This is necessary since clients can encounter this in valid DECORATE code due to Zandronum's jump handling. [Torr Samaho]
* Changed the dmflags values to match the ZDoom values to resolve compatibility problems with the updated ZDoom base and future ZDoom updates. Launchers and config files need to be updated to account for this change. [Torr Samaho]
* sv_nodrop is now a dmflag. [Dusk]
* sv_limitnumvotes renamed to sv_votecooldown and changed to integer that determines the time to wait before a player can revote. All vote limits and times are double this value. [Ru5tK1ng]
* Merged sv_nokill and sv_disallowsuicide into one dmflag with two names. [Dusk]
* The CVARINFO error message triggered when an existing CVAR in the ini conflicts with CVARINFO now instructs the user to clean the ini. [Torr Samaho]
* The server now displays the IP address of the player upon connection and disconnection in log messages. [Dusk]
* ZDoom changed the jumping physics in ZDoom SVN revisions 2238 and 2970. The old jumping behavior known from Skulltag can be restored with the new CVAR compat_skulltagjumping. [Torr Samaho]
* con_virtualwidth and con_virtualheight now default to 640 and 480, respectively. [Dusk]
* kickfromgame and kickfromgame_idx have been renamed to forcespec and forcespec_idx, respectively, though the old names still exist for compatibility with e.g. aliases. Same also with the ACS function KickFromGame, whose new name is ForceToSpectate.
* A new non-fatal 'Script Error' message will be printed if in a MAPINFO episode definition it's present either 'botskillname' or 'botskillpicname' but not 'botepisode'.
* The CVARs gl_render_things, gl_render_walls, gl_render_flats and gl_mask_threshold are now restricted to beta builds. [Torr Samaho]
* Make newly connected clients wait before calling a vote. The wait time is controlled with the new CVAR 'sv_voteconnectwait'. [Ru5tK1ng]
* Keys can now be used while a client side demo is played. This allows binds to CCMDs like demo_pause to be used during playback. [Torr Samaho]
* Dead spectators will now preserve inventory so that they can be respawned with it. [Zalewa]
* When alive players complete the map in survival, dead spectators will recover their inventory on the next map in accordance to SV_COOP_LOSE* flags [Zalewa]
* The 'authhostname' DNS lookup is not done during startup anymore, but only if the IP address is needed. [Torr Samaho]
* The memory required for the bot nodes is now dynamically allocated when the first bot is added and freed when the last bot is removed. Thus, the CVAR sv_disallowbots is obsolete and was removed (adapted form Konar6's kpatch). This also fixes that offline, the memory required for the bot nodes was always allocated. [Torr Samaho]
* To stay compatible with Zandronum 2.x, GetCVar still returns the consoleplayer's value if called in a non-player activated CLIENTSIDE script to get the value of a user cvar. [Torr Samaho]
* Althud's discovered secret counter now shows global discovered secret count in netgames. [Zalewa]
* Changed the default value of sv_defaultdmflags to false. [Torr Samaho]
 
==== 2.1.2 ====
* Fixed the remaining jitter and weapon sync problems caused by the client movement buffer. [Torr Samaho]
 
==== 2.1.1 ====
* The client movement buffer now can be toggled with the new CVAR sv_useticbuffer (default true). [Torr Samaho]
* Fixed jittery player movement caused by the client movement buffer. [Torr Samaho]
* Fixed: Clients wrongly predicted the health of the consoleplayer. [Edward-san, Torr Samaho]
* Fixed: clients were not updated about the successful A_CustomPunch lifesteal attacks from a player. [Edward-san]
* Fixed: clients were not updated about the successful A_Saw lifesteal attacks from a player. [Edward-san]


==== 3.0 ====
==== 2.1 ====
* Updated Zandronum's (G)ZDoom base to ZDoom 2.8pre-441-g458e1b1 / GZDoom 1.8.6. [Torr Samaho]
* The Zandronum server is now compatible with the Raspberry Pi (based on selected ZDoom backports), so far only tested with a Raspberry Pi 2 Model B. [Torr Samaho]
* Rewrote support for preferred weapon order. Weapon info is now automatically looked up, the ORDERDEF lump has been removed. [Dusk]
* Added support for ACS script numbers higher than 999. This is intended to increase compatibility with mods that worked in 1.3, but stopped working with 2.0. [Torr Samaho]
* 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]
* The server can now broadcast dehacked patches loaded with -deh and -bex to server browsers. [Dusk]
* Added NamedRequestScriptPuke, named variant of RequestScriptPuke. The two functions can now take 1-5 parameters, thus supporting 4 script arguments. [Dusk]
* Added Catastrophe's CCMD 'ifspectator' that executes its argument only if the consoleplayer is a spectator. [Torr Samaho]
* 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]
* Fixed: Too high volume parameters to A_PlaySound and friends caused the volume to overflow online. [Dusk]
* Quad-buffered stereo / 3D Vision support can now be toggled with the new CVAR gl_quadbufferedstereo (default false). [Torr Samaho]
* Fixed: Friendly fire obituaries did not appear online in competitive gamemodes. [Dusk]
* The warp cheat now works online and can be used by spectators even if sv_cheats is false. [Dusk]
* Hopefully fixed a potential weapon switch induced client-side crash. [Dusk]
* 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]
* Fixed: Amount of total monsters went out of count upon map resets. [Dusk]
* Players' positions in the join queue are now rendered on the scoreboard. [Dusk]
* Fixed: When a player scored a point in CTF, Skulltag or Possession, the scoreboard in the Windows server console was not updated properly. [Torr Samaho]
* 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]
* Fixed: -optfile would eat CCMD calls (such as +exec) and treat them and their arguments as wads to include as optional. [Dusk]
* The 'Join the game' command key used by spectators is now customizable in the 'Customize Controls' menu. [Edward-san, Dusk]
* Fixed: the 'light fast strobe in sync' sector special would visually desync while playing a demo. [Edward-san]
* The default 'authhostname' CVAR has been changed to the official zandronum game authentication server ( auth.zandronum.com:16666 ). [AlexMax, Edward-san]
* Fixed: A_LookEx desynced completely online. [Dusk, Edward-san]
* BOTINFO now allows to define more than 128 bots. [Torr Samaho]
* Fixed possible health desync issues in some situations. [Edward-san]
* Chat now features a movable cursor, allowing text insertion/deletion from elsewhere than just the end. [Dusk]
* Fixed: Trying to open a corrupt zip archive crashed the game (backported from ZDoom). [Torr Samaho]
* Chat preview is now rendered on multiple lines, if necessary. [Dusk]
* Fixed: Players were kicked for excessive movement commands instead of simply ignoring the excessive commands. [Torr Samaho]
* Chat now remembers the ten previously sent messages that can be brought up with up/down arrow keys. [Dusk]
* Fixed: clients were not informed of some actor flag modifications with A_ChangeFlag. [Edward-san]
* Chat can now tab complete player names. [Dusk]
* Fixed: Trying to record client demos on some mods, e.g. duel32c_st.pk3, caused the client to error out. [Torr Samaho]
* 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]
* Fixed: A_FadeIn and A_FadeOut did not work for actors which don't have a network id. [Dusk, Edward-san]
* 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: The client could not handle the display of the morphed mugshot in the status bar. [Edward-san]
* Fixed: Newly connecting clients were not properly informed about the secrets that were already revealed. [Torr Samaho]
* Fixed: clients lost some actor flag modifications done in a previous map after a changemap map change. [Edward-san]
* Fixed: Resurrect cheat didn't work online. [Dusk]
* Fixed: Players would be awarded damage dealt to non-COUNTKILL monsters if sv_awarddamageinsteadkills was set. [Dusk]
* Fixed: Turbo cheat didn't work online. [Dusk]
* Fixed: Using alternative track orders with music formats with multiple tracks did not 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: "gl_cachenodes 1" could crash the server. [Torr Samaho]
* Fixed: Logfiles would sometimes contain timestamps in the middle of lines. [Dusk]
* Fixed: A map change in CTF online could crash the game. [Torr Samaho]
* sv_shotgunstart is now respected in non-cooperative gamemodes. [Dusk]
* Fixed: Blocked sliding polyobjects were not handled properly online. [Edward-san]
* Fixed: Take cheat didn't work online. [Dusk]
* Fixed: The delayed stairs building movers were not handled properly online. [Edward-san]
* Fixed: An invalid "winlimit hit" message would be displayed on map change in possession. [Dusk]
* Fixed: Some dehacked weapon attack sounds could not work. [Edward-san]
* Fixed: The internal server browser didn't list all of the compatible, available servers. [Torr Samaho]
* Fixed some weapon sync issues related to the client movement buffer. [Torr Samaho]
* Fixed: A_CheckSight would not jump if a spectator was in the line of sight of the calling actor. [Dusk]
* Fixed: Even when using a random map rotation, the map a server loads on start was not randomized (ported from Konar6's kpatch). [Torr Samaho]
* 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: sv_forcegldefaults 1 stopped working properly for the gl clients. [Edward-san]
* Fixed: SpawnDecal did not work
* Make the crash log unique for SDL platforms by appending the timestamp to the file name. [Edward-san, Dusk]
* The Linux executables now will be able to generate a core dump in case a crash happens. [Edward-san]
* Railgun attacks no longer always pierce armor. The Skulltag railgun in skulltag_actors.pk3 continues to do so, however, through use of +PIERCEARMOR. [Dusk]
* A map is now marked as used when entered instead of when exited in the rotation list. [Leonard, Torr


==== 0.98c ====
==== v0.98b ====
* Skulltag now supports Intel based Macintoshes (mainly done by backporting ZDoom revisions 1571, 1581, 1607, 1736, 1779, 1780, 1786-1788, 1793, 1807, 1814, 2122). [Blzut3, Torr Samaho]
* Greatly improved the windows server dialog! [Rivecoder]
* Added basic outbound net traffic analysis code for the server. This code allows to find out which actor classes and which ACS scripts use how much net traffic and should greatly simply the identification of network bandwidth hogs in custom mods. [Torr Samaho]
** Things that are entirely new:
* Added a verification system that allows the master server to verify that a server-master-challenge came from an existing server. Furthermore, servers now acknowledge the receipt of the ban list to account for packet loss. [Torr Samaho]
*** Added COMMAND HISTORY! Made a mistake entering a command? Want to retrieve a previously-entered command? Just hit the "..." button!
* Added new CVAR sv_logfile_append (default false). If enabled, a logfile is started and there already is a file with the specified name, the new log is appended to the existing file. [Torr Samaho]
**** NOTE: The command box now acts like the in-game console: you no longer have to precede your commands with a "/" to send them. (This was confusing too many people.)
* Added free spectate mode for client side demos, started with the new CCMD demo_spectatefreely. In this mode, you can move freely while the demo is played as if you were a spectator while the game was recorded. [Torr Samaho]
*** "File|Join server" lets you immediately play on your server!
* Added new DECORATE actor flag SERVERSIDEONLY. The clients don't spawn such actors, only the server does. Therefore, spawning or manipulating these actors does not need network bandwidth. Only use it on actors that are always invisible and don't block the movement of players. [Torr Samaho]
*** Added a HELP menu! This provides information for newbies and veterans alike.
* Added new dmflag "don't identify target player", controlled by the new CVAR sv_noidentifytarget. If this is true, clients are enforced not to identify players, i.e. behave as if cl_identifytarget == 0. [Torr Samaho]
** Things that are now much easier to use:
* Added new dmflag "always apply lmsspectatorsettings", controlled by the new CVAR sv_applylmsspectatorsettings. If this is true, lms_spectatorchat will be respected in all game modes. [Torr Samaho]
*** Completely redid the CONFIGURATION DIALOG! It is now MUCH more intuitively designed, and easier to use.
* Added the invasion spawners for Strife made by GorpusMorpus. Also thanks to Archfile for cleaning the doomednums. [Torr Samaho]
*** Settings are grouped into tabs!
* Extended the launcher protocol to optionally report the values of the new flag CVARs dmflags3 and compatflags2. [Torr Samaho]
*** Settings that don't apply to your current game mode are hidden, keeping the dialog nice and clean.
* Added CCMDs ignore_idx and unignore_idx to ignore
*** Added missing settings (for instance, modifiers and voting settings).
*** Rewrote the STATISTICS DIALOG! You can read everything much more easily.
*** In the CHANGE MAP and MAP ROTATION dialogs, there is now a a list of available maps to choose from! It even autocompletes for you.
*** The dialog itself! The console is bigger, you can now see what game mode the server's using, and it's just more intuitive overall.
** Smaller things:
*** You can click the status bar to quickly adjust who can see your server and copy its IP.
*** You can also click the labels at the top of the dialog, to quickly change the map or adjust settings.
*** When editing the MOTD, you now get a reference of all the color codes!
*** When you go to close the server, it will warn you if there are players connected.
*** There is now a button to view the logfile.
*** You can now add bots by right-clicking the scoreboard.
***


==== v0.97d3 RC1 ====
==== v0.97d2 ====
* Added temporary bans! [Rivecoder]
* Fixed: The sv_maxclientsperip code didn't take into account timeouts of non finished connection attempts. [Torr Samaho]
* Added full TEAMINFO support across all game modes. [Karate Chris, Torr Samaho]
* Fixed: the pissed of player face should not work in spectator mode. [Karate Chris]
* 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: 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 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]
* 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]
** gl_texture_hqresize == 0 : no scaling
* 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]
** gl_texture_hqresize == 1 : Scale2x algorithm
* 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]
** gl_texture_hqresize == 2 : Scale3x algorithm
* 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]
** gl_texture_hqresize == 3 : Scale4x algorithm
* 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]
* 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 an invasion monster spawner is hijacked to spawn something that is not a monster, the remaining monster count is not adapted accordingly. [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: 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]
* 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: 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]
* The five/one minute warning announcer sounds are now played. [Rivecoder]
* 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]
* Added chat substitution inspired by ZDoom. [Karate Chris]
* 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]
* Added a chat sound for Strife. [Karate Chris]
* 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]
* Added a 'singleplayer' console command, complimentary to the 'multiplayer' / 'netgame' console command. [Karate Chris]
* Fixed: The server doesn't inform the clients about the arguments of the SoundEnvironment actor. This prevented reverbs from working online. [Torr Samaho, SuperGod]
* Added CKeen's submission for an updated Italian language file. [Karate Chris]
* 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]
* Significantly reduced the net traffic used by P_MoveThing, e.g. used by SetActorPosition. [Torr Samaho]
* Fixed: A minor grammar error in the possession scoreboard code. [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]
* 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]
* Added Domination as a built in game mode. [Blzut3, Torr Samaho]
* Changed: Calling a vote during intermission is not allowed anymore. [Torr Samaho, SuperGod]
* 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: Clients can't set the CVAR turbo higher than 100 anymore. [Torr Samaho, SuperGod]
* 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: 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]
* 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 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]
==== v0.97d2 RC6 ====
* 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]
* 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 a new entry to the HUD options menu to toggle cl_drawcoopinfo. [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 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 constant SXF_CLIENTSIDE for the "client side spawn" option of A_SpawnItemEx. [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]
* Fixed: The reflection rune's obituary would read "[victim] was killed via [victim]'s reflection rune". [Rivecoder]
* 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: Joining a survival invasion server with "start as spectator" off would make you join immediately.  [Rivecoder]
* 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: Clients sometimes accidentally switch the weapon of one of the other players locally. [Torr Samaho]
* Banned clients are now told the reason for their ban. [Rivecoder]
* Fixed a typo in the callvote code. [Rivecoder]
* 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 a typo in the BFG10k's obituary. [Rivecoder]
* 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 the fake players exploit; introduced sv_maxclientsperip, which defaults to 2. [Rivecoder]
* 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 an exploit in the name code which allowed invisible names. [Rivecoder]
* Fixed a positioning bug with rank/spread on the classic HUD when st_scale was off. [Rivecoder]
* 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: the 'ColorSetter' and 'FadeSetter' actors were broken online. [Karate Chris]
* 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: SKININFO skins couldn't use sounds from the Sounds subdirectory of PK3s/ZIPs. [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: Save games were missing the number of remaining Archviles in Invasion. [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 Logitech G15 code possibly caused a crash after a map change. [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: 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 online monster sync problems involving the MF2_BLASTED flag. Among others, this affected A_RadiusThrust. [Torr Samaho]
* 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 'GetPlayerInfo' ACS command didn't return the correct team. [Karate Chris]
* 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: 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 player disconnected or changed to a spectator while being morphed, various problems occurred. [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: If a player is killed online, its death view doesn't follow the killer. [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: If a player turns into a spectator, the currently active sounds associated to it are not stopped. [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: 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 some map change related crashes. [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]
* Fixed: Thing_Hate caused serious monster position sync issues online. [Torr Samaho, SuperGod]
* Fixed: Spectators could trigger sector transitions offline. [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: The scoreboard of the win32 server console is not updated when changing to intermission. [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: 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]
** 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: 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]
** When using coop spy, other players may get stuck in the attack state locally.
* Fixed: The points of the teams in team possession are not displayed on the new fullscreen HUD if text scaling is activated. [Torr Samaho]
* Changed default value of the CVAR sv_showwarnings to false. Should only be turned on for debugging purposes. [Torr Samaho]
* Fixed: A single malformed packet could possibly crash any client. [Torr Samaho, SuperGod]
* 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: Under rare circumstances the server crashed when creating a FlashFader. [Torr Samaho, SuperGod]
* 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: 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]
* 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: Bots were not affected by PROP_FROZEN or PROP_TOTALLYFROZEN. [Torr Samaho]
* Renamed the Heretic spawner HexenGhostSpot to HereticGhostSpot. [Torr Samaho]
* Fixed: Player names ending with "\c" caused various glitches. [Torr Samaho]
 
* Fixed: The ACS function CreateTranslation with syntax "a:b=[red1,green1,blue1]:[red2,green2,blue2]" didn't work properly online. [Torr Samaho]
==== v0.97d2 RC3 ====
* Fixed: The code to check the maximum allowed effective skin sprite width/height checked some textures it shouldn't have checked. [Torr Samaho]
* Completely NEW and expanded encryption of the executable, so that hacking it is now even more difficult than before. [SuperGod]
* Fixed: If a spectator that is waiting in line leaves the game, the join queue is not updated properly. [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]
* 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]
* 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: 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]
* Added CKeen's submission for an updated Italian language file. [Karate Chris]
* Fixed: Several code pointers didn't work properly online in the death state of a player, e.g. A_PlaySound. [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: The ACS command FadeTo didn't work online if the last argument (seconds) was 0.0. [Torr Samaho]
* Added UDP server console flood protection and improved the messages generated by unexpected challenges. [Torr Samaho]
* Fixed: Under certain conditions the CMPGNINF parser didn't accept proper botteam entries. [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: Player classes using certain code pointers caused "ghost" players to appear under certain conditions. For example this affected Sjas in GvH. [Torr Samaho]
* Fixed: The activator of the alarm should receive a message. [Karate Chris]
* 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: The Sigil was broken client side. [Karate Chris]
* 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: Strife's AlienSpectre, EntityBoss, Inquisitor, LoreMaster, Programmer's lightning, Sentinel and Templar didn't work properly online. [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: Dead spectators aren't revived after a map change in survival invasion. [Torr Samaho]
* Fixed: The new fullscreen HUD doesn't respect the maxhealth property of the current player class. [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: Instagib ignored the ammo types of Railgun replacements. [Blzut3]
* Fixed: Coop info possibly covers the keys displayed in the fullscreen HUD. [Torr Samaho]
* Fixed: After changing the map online or a map reset, the game possibly crashes when using cl_stfullscreenhud == false. [Torr Samaho]
* Fixed: Players may get stuck after a map reset in invasion. [Torr Samaho]
* Fixed: ParticleFountain doesn't work properly online for the first player that connects to a server. [Torr Samaho]
* Fixed: The kill count is not reseted after a map reset in invasion. [Torr Samaho]
* Fixed: Things like DeadDemon are not spawned on the clients online. [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]
* Fixed: Legacy-style 3D floors/liquid linetypes didn't work for Doom-format maps. [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]
* 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]
* Rank/Spread is no longer drawn if there's only one player. [Rivecoder]
* Armor is no longer drawn on the new HUD if you don't have any. [Rivecoder]
* You can now join the game while spectating during intermission. [Rivecoder]
* You no longer have to wait 10 seconds to change your team during the team last man standing countdown. [Karate Chris]
* 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]
* 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]
* 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 RC2 ====
* Fixed: The sv_maxclientsperip code didn't take into account timeouts of non finished connection attempts. [Torr Samaho]
* Added basic HUD model support. [Torr Samaho]
* Fixed: the pissed of player face should not work in spectator mode. [Karate Chris]
* 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]
* 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 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: 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 double definition support for the old DECORATE standard. In this case, the new actors override the old ones. [Rivecoder]
* 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]
* 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: 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 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: 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 the dynamic light definitions for Strife made by Dark_Knight. [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]
* The error message of the float parser under Linux now mentions the LANG enviroment variable as possible cause for the error. [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]
* 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: 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]
* Extended the authentication mechanism for non-map related lumps to get rid of more exploits. [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]
* 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: 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]
* Added: sv_maxlives can now be configured from the "General settings" Windows server window. [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]
* 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: 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: The 'summonfoe' console command didn't work online. [Karate Chris, 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: Using the CCMD stat crashes the server. [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: A_Chase doesn't work properly online when a custom missile or melee state is specified as argument. [Torr Samaho]
* Fixed: A minor grammar error in the possession scoreboard code. [Torr Samaho]
* Fixed: Summoning a monster that doesn't count as a kill with the CCMD summonfriend messed up the invasion monster count online. [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: 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]
* Changed: Calling a vote during intermission is not allowed anymore. [Torr Samaho, SuperGod]
* 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]
* Changed: Clients can't set the CVAR turbo higher than 100 anymore. [Torr Samaho, SuperGod]
* Fixed: The summon commands should inform a client when an invalid class is specified. [Karate Chris]
* 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 Cleric's staff didn't animate correctly when draining health. [Karate Chris]
* Fixed: 'A_SetBlend' didn't work online. [Karate Chris]
* Fixed: Heretic survival crashes within seconds after the countdown ends. [Torr Samaho]
* Fixed: SetFont() doesn't work properly online. [Torr Samaho]
* Fixed: A_Mushroom possibly causes problems with the invasion monster count. [Torr Samaho]
* Fixed: Level spawned actors revived by an Archvile aren't restored by GAME_ResetMap(). [Torr Samaho]
* Fixed: Level spawned actors that have been respawned in nightmare aren't restored by GAME_ResetMap(). [Torr Samaho]
* Fixed: Level spawned actors that have been removed by A_FreezeDeathChunks aren't restored by GAME_ResetMap(). [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]
* 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]
* Fixed: If the ACS function SetActorPitch was called on a server, the clients were not notified about the updated pitch. [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 RC6 ====
==== v0.97d ====
* 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 an authentication mechanism for several non-map related lumps to get rid of some exploits. [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 flood protection to the drop/invdrop command. You can't use it online more than once per second anymore. [Torr Samaho]
* Added constant SXF_CLIENTSIDE for the "client side spawn" option of A_SpawnItemEx. [Torr Samaho]
* Added CCMD kickfromgame_idx, works like kickfromgame but uses the player index instead of the name. [Torr Samaho]
* Fixed: The reflection rune's obituary would read "[victim] was killed via [victim]'s reflection rune". [Rivecoder]
* Added new inventory flag FORCERESPAWNINSURVIVAL. Items with this flag are respawned in survival even if sv_itemrespawn is false. [Torr Samaho]
* Fixed: Joining a survival invasion server with "start as spectator" off would make you join immediately.  [Rivecoder]
* Fixed: Damaging a charging lost soul online leads to serious sync issues regarding the lost soul between client and server. [Torr Samaho]
* Fixed: Clients sometimes accidentally switch the weapon of one of the other players locally. [Torr Samaho]
* Fixed a z position client/server sync issue of floating monsters. [Torr Samaho]
* Fixed a typo in the callvote code. [Rivecoder]
* Fixed: Enter scripts are not executed in team games when a spectator joins a team. [Torr Samaho]
* Fixed a typo in the BFG10k's obituary. [Rivecoder]
* 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 fake players exploit; introduced sv_maxclientsperip, which defaults to 2. [Rivecoder]
* The drop/invdrop command is not allowed online in non-cooperative game modes anymore. [Torr Samaho]
* Fixed an exploit in the name code which allowed invisible names. [Rivecoder]
* 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: 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: 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: 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: Clients are not informed if the current sky differs from the default map sky when connecting to a server. [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 online monster sync problems involving the MF2_BLASTED flag. Among others, this affected A_RadiusThrust. [Torr Samaho]
* Fixed: The 'GetPlayerInfo' ACS command didn't return the correct team. [Karate Chris]
* 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: 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: A single malformed packet could crash any server. Again thanks to Luigi Auriemma for a detailed report on this issue. [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 some map change related crashes. [Torr Samaho]
* Fixed: Thing_Hate caused serious monster position sync issues online. [Torr Samaho, SuperGod]
* 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: 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]
** 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.
** When using coop spy, other players may get stuck in the attack state locally.
* Changed default value of the CVAR sv_showwarnings to false. Should only be turned on for debugging purposes. [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]
* 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]
* 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]
* Renamed the Heretic spawner HexenGhostSpot to HereticGhostSpot. [Torr Samaho]


==== v0.97d2 RC3 ====
==== v0.97d RC10 ====
* Completely NEW and expanded encryption of the executable, so that hacking it is now even more difficult than before. [SuperGod]
* Restored Windows 98/ME compatibility. [Torr Samaho, Rivecoder]
* 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 one missing dmflag2 and seven missing compatflags to the "Configure DMFlags" server window. [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 addbanexemption to add entries to the whitelist. [Torr Samaho]
* Added CKeen's submission for an updated Italian language file. [Karate Chris]
* Added CCMDs delban and delbanexemption to remove entries from the banlist/whitelist. [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]
* Added CCMD viewbanexemptionlist to print the whole whitelist. [Torr Samaho]
* Added UDP server console flood protection and improved the messages generated by unexpected challenges. [Torr Samaho]
* If (sv_banfilereparsetime > 0) the whitelist is now reparsed in addition to the banlist. This also applies to the CCMD reloadbans. [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]
* 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]
* Fixed: The activator of the alarm should receive a message. [Karate Chris]
* Fixed: The red/blue team scores messages in CTF online are at the wrong position. [Torr Samaho]
* Fixed: The Sigil was broken client side. [Karate Chris]
* Fixed: A successful kick vote doesn't kick the target. [Torr Samaho]
* Fixed: Strife's AlienSpectre, EntityBoss, Inquisitor, LoreMaster, Programmer's lightning, Sentinel and Templar didn't work properly online. [Karate Chris]
* Fixed: A client with idmypos set to true crashes when connecting to a server. [Torr Samaho]
* Fixed: Dead spectators aren't revived after a map change in survival invasion. [Torr Samaho]
* Fixed: In case cl_medals == true, carrier floating icons are not removed immediately after the carrier looses the item. [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: The new icon and medal hierarchy doesn't always prevent medals from overriding carrier icons. [Torr Samaho]
* Fixed: Coop info possibly covers the keys displayed in the fullscreen HUD. [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: Players may get stuck after a map reset in invasion. [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. [Torr Samaho]
* Fixed: The kill count is not reseted after a map reset in invasion. [Torr Samaho]
* Fixed: Thing_Remove doesn't properly remove invasion spawners. [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]
* Fixed: OPEN NET scripts are not executed on the clients online. [Torr Samaho]
 
* Fixed: AActor::CopyFriendliness doesn't update the the invasion monster count. For example this fixes problems with friendly Painelementals in invasion. [Torr Samaho]
==== v0.97d2 RC2 ====
* Moved "Lose powerups (CO-OP)" and "Lose half ammo (CO-OP)" boxes to the DMFlags section of the "Configure DMFlags" server window. [Torr Samaho]
* Added basic HUD model support. [Torr Samaho]
* Raised CLIENT_TIMEOUT from 25 to 40 seconds. This should fix the timeout problems after intermission in Heretic. [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]
* Changed the default value of vid_renderer to 0 (software renderer) to reduce compatibility problems with systems that can't use the GL renderer. [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]
* Increased the maximal number of servers that can be handled by the internal server browser from 256 to 512. [Torr Samaho]
* Added double definition support for the old DECORATE standard. In this case, the new actors override the old ones. [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]
==== v0.97d RC9 ====
* 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]
* No more paper thin sprites: Added x/y axis billboard mode for sprite rendering! It is controlled by the new CVAR gl_billboard_mode, which defaults to 2. [Torr Samaho]
* Added the dynamic light definitions for Strife made by Dark_Knight. [Torr Samaho]
** gl_billboard_mode == 1 : y axis billboard (the way GZDoom renders sprites)
* The error message of the float parser under Linux now mentions the LANG enviroment variable as possible cause for the error. [Torr Samaho]
** gl_billboard_mode == 2 : x/y axis billboard (the mode countless of people have requested :D)
* 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]
* Added support for 3d floors in coop game modes, i.e. Coop, Survival and Invasion. [Torr Samaho]
* Extended the authentication mechanism for non-map related lumps to get rid of more exploits. [Torr Samaho]
* Added custom states and custom damage types (ported the change from ZDoom revision 368-378). [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]
* Added Linux OpenGL support! [Torr Samaho, Costja]
* Added: sv_maxlives can now be configured from the "General settings" Windows server window. [Torr Samaho]
* Completely revamped monster movement online! Monsters now move much more smoothly, and require far less bandwidth than before. [Carnevil]
* 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]
* Thoroughly updated Skulltag's ZDoom base to the latest ZDoom SVN repository revision (currently 622). [Torr Samaho 366-554+558-622, Carnevil 555-557]
* Fixed: The 'summonfoe' console command didn't work online. [Karate Chris, Torr Samaho]
* Crash logs should finally work on all Windows machines. [Torr Samaho]
* Fixed: Using the CCMD stat crashes the server. [Torr Samaho]
* Added a completely new 97d announcer that was made by SuperGod in a professional sound studio based on the voice of Carnevil. [SuperGod, Aabra, Carnevil, Rivecoder]
* Fixed: A_Chase doesn't work properly online when a custom missile or melee state is specified as argument. [Torr Samaho]
* Added new sprites for the Abaddon. [Jimmy91]
* Fixed: Summoning a monster that doesn't count as a kill with the CCMD summonfriend messed up the invasion monster count online. [Torr Samaho]
* Upgraded the GZDoom renderer to 1.0.29! [Torr Samaho 1.0.25-1.0.26+1.0.28-1.0.29, Carnevil 1.0.27]
* 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]
* Added client-side scripts! Scripts with the NET tag are now purely executed on the client end. This reduces bandwidth usage, and allows things like custom HUD displays to work properly. [Carnevil]
* 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]
* Added Logitech G15 support! Skulltag now natively supports a (fairly basic) LCD applet which displays the HUD, console, and a few other things. [Rivecoder]
* Fixed: The summon commands should inform a client when an invalid class is specified. [Karate Chris]
* Added the dynamic light definitions for Heretic and Hexen from ZDoomGL. [Torr Samaho]
* Fixed: The Cleric's staff didn't animate correctly when draining health. [Karate Chris]
* Added invasion spawners for Heretic! [Carnevil, Aabra, and Tun]
* Fixed: 'A_SetBlend' didn't work online. [Karate Chris]
* Added invasion spawners for Hexen! [Gez, Torr Samaho]
* Fixed: Heretic survival crashes within seconds after the countdown ends. [Torr Samaho]
* Enhanced the IWAD selection box, allowing users to see their version, select their IWAD, and set video settings. It also looks nicer. [Rivecoder]
* Fixed: SetFont() doesn't work properly online. [Torr Samaho]
* Improved the revision display in the console. [Rivecoder]
* Fixed: A_Mushroom possibly causes problems with the invasion monster count. [Torr Samaho]
* Added the r_drawspectatingstring CVAR, which can be used to hide that message for screenshots or movies. [Rivecoder]
* Fixed: Level spawned actors revived by an Archvile aren't restored by GAME_ResetMap(). [Torr Samaho]
* Skulltag can be build and run without FMOD now (without sound, of course). This makes it possible to build servers for systems that FMOD doesn't support, like FreeBSD. [Torr Samaho]
* Fixed: Level spawned actors that have been respawned in nightmare aren't restored by GAME_ResetMap(). [Torr Samaho]
* Added CVAR sv_markchatlines (default false). If set to true, all chat lines will be preceded by a string saying "CHAT " in the server console / logfile. This is to make the chat lines readily identifiable, necessary for MiX-MaN's IRC server control tool for example. [Torr Samaho]
* Fixed: Level spawned actors that have been removed by A_FreezeDeathChunks aren't restored by GAME_ResetMap(). [Torr Samaho]
* Added Player.RunHealth property (ported the change from ZDoom revision 448). [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]
* Server console: you can now kick, ban, and IP check directly from the main scoreboard. [Rivecoder]
* 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]
* Server console: when kicking or banning, reasons can now have spaces. [Rivecoder]
* Fixed: If the ACS function SetActorPitch was called on a server, the clients were not notified about the updated pitch. [Torr Samaho]
* Server console: added a statusbar - you can now see your IP, Public/Private/LAN status, current map, and version. [Rivecoder]
* Fixed: No melee sound is played online by A_CustomComboAttack. [Torr Samaho]
* Improved the display of the bottom string; 'x allies/opponent' display now reflects that of the player you're spying; added a few missing linebreaks. [Rivecoder]
* Fixed: For some actors the server tried but failed to instruct the clients to set the actor to a certain frame. [Torr Samaho]
* Added a GTK+ version of the IWAD selection box (ported the change from ZDoom revision 451). [Torr Samaho]
* Fixed: A_Print crashes the server online. [Torr Samaho]
* Ported the updated startup screen code from GZDoom 1.0.24 to ST. This includes simulations of Heretic's, Hexen's and Strife's startup screen. [Torr Samaho]
* Fixed: When starting a new survival game offline, while one is currently in progress, you immediately get "mission failed". [Torr Samaho]
* Class selection screen is now shown when joining a multiplayer non Hexen, not team based game with more than one available player class. [Torr Samaho]
* Fixed problems with A_Respawn online. [Torr Samaho]
* sv_banfile can now be a path, so that banfiles can be placed anywhere. [Rivecoder]
* 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]
* Added "Class" to the player setup menu. [Carnevil]
* Changed: Spectators are now allowed to use chasecam in all game modes. [Torr Samaho]
* Ban reasons are read from the banfile now. [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]
* Revamped the way the ban list is handled internally. This allows an unlimited number of bans and fixes a memory leak. [Torr Samaho]
* Dormant actors are no longer removed in Invasion countdowns. [Rivecoder]
* Added basic inventory drawing support to the Skulltag Doom HUD (doesn't respect scaling yet). [Torr Samaho]
* 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]
* Revamped the way double defined actors are handled: If a definition of an already defined actor is encountered, "2" will be appended to the name and the new actor replaces to old one. This should give full compatibility with PWADs that use actors whose name conflict with Skulltag actors. [Torr Samaho]
* Removed the tediously annoying crouching console variable. [Karate Chris]
* If a replaced weapon is added to a slot with setslot, the replacement weapon will also be added to the slot. [Torr Samaho]
* 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]
* Added MD2/DMD/MD3 model frame interpolation, controlled by the the new CVAR gl_interpolate_model_frames. [Torr Samaho]
* The IWAD is now displayed in the internal browser. [Karate Chris]
* Added model skin color translation support. The skin texture may only use colors from the game palette, otherwise it won't work properly. [Torr Samaho]
 
* Models respect the actor render style now, e.g. a model of a player with an invisibility sphere is rendered translucent. To reduce the problems caused by missing depth sorting, back face culling is used. This doesn't work if the model is not a closed surface. [Torr Samaho]
==== v0.97d ====
* Added z-offset support to MODELDEF. [Torr Samaho]
* Added an authentication mechanism for several non-map related lumps to get rid of some exploits. [Torr Samaho]
* Added flag ROTATING to MODELDEF. If this is set, the model constantly rotates like the weapon pickup models in Doomsday. [Torr Samaho]
* Added flood protection to the drop/invdrop command. You can't use it online more than once per second anymore. [Torr Samaho]
* Made the model rotation customizable: [Torr Samaho]
* Added CCMD kickfromgame_idx, works like kickfromgame but uses the player index instead of the name. [Torr Samaho]
** rotation-speed  float: Specify the speed of the rotation
* Added new inventory flag FORCERESPAWNINSURVIVAL. Items with this flag are respawned in survival even if sv_itemrespawn is false. [Torr Samaho]
** rotation-vector float float float: Specify the x, y and z component of the vector of the rotation
* Fixed: Damaging a charging lost soul online leads to serious sync issues regarding the lost soul between client and server. [Torr Samaho]
** rotation-center float float float: Specify the x, y and z coordinate of the center of the rotation
* Fixed a z position client/server sync issue of floating monsters. [Torr Samaho]
** (Defining rotation initializes the speed to 1, the vector to (0,1,0) and the center to (0,0,0))
* Fixed: Enter scripts are not executed in team games when a spectator joins a team. [Torr Samaho]
* Added flag IGNORETRANSLATION to MODELDEF. [Torr Samaho]
* 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]
* Added workaround to smooth the model interpolation of actors that use the same frame twice in a row. Most of the standard Doom monsters do this in their see state. Can be activated by the new model flag INTERPOLATEDOUBLEDFRAMES. [Torr Samaho]
* The drop/invdrop command is not allowed online in non-cooperative game modes anymore. [Torr Samaho]
* Added flag PITCHFROMMOMENTUM to MODELDEF. If this is set, the pitch of a model is estimated from the momentum of the corresponding actor. For example this can be used to render the models of rockets fired with a vertical angle different from zero properly. [Torr Samaho]
* 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]
* Added flag NOINTERPOLATION to MODELDEF. If this is set, the model frame interpolation is deactivated for this actor. [Torr Samaho]
 
* Added DECORATE flags FORCEYBILLBOARD and FORCEXYBILLBOARD. If set, the selected billboard mode is enforced (overriding the gl_billboard_mode setting) when the sprite of the actor is drawn. This only affects the OpenGL renderer. [Torr Samaho]
==== v0.97d RC10 ====
* Added CCMD getIP for server admins, which can be used to the IP address of a player. [Rivecoder]
* Restored Windows 98/ME compatibility. [Torr Samaho, Rivecoder]
* Added CCMD getIP_idx for server admins, uses indexes from playerinfo. [Rivecoder]
* Added one missing dmflag2 and seven missing compatflags to the "Configure DMFlags" server window. [Torr Samaho]
* Added CCMD ban_idx for server admins, to ban by index. [Rivecoder]
* Added CCMD addbanexemption to add entries to the whitelist. [Torr Samaho]
* When you run playerinfo from the server or RCON, player IPs (including port) are now displayed. [Rivecoder, Torr Samaho]
* Added CCMDs delban and delbanexemption to remove entries from the banlist/whitelist. [Torr Samaho]
* The compact vote screen now obeys text scaling and displays nicely after voting. [Rivecoder]
* Added CCMD viewbanexemptionlist to print the whole whitelist. [Torr Samaho]
* You can now see who voted for what on the scoreboard. [Rivecoder]
* If (sv_banfilereparsetime > 0) the whitelist is now reparsed in addition to the banlist. This also applies to the CCMD reloadbans. [Torr Samaho]
* On the scoreboard, multiple icons can be shown next to players (bot, talking, ready, handicap, vote). [Rivecoder]
* 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]
* Crash logs can now be configured by the new CVAR crashlogs, which defaults to 1: [Torr Samaho]
* Fixed: The red/blue team scores messages in CTF online are at the wrong position. [Torr Samaho]
** crashlogs == 0 : crash logs are turned off (not recommended)
* Fixed: A successful kick vote doesn't kick the target. [Torr Samaho]
** crashlogs == 1 : the standard crash dialog is shown
* Fixed: A client with idmypos set to true crashes when connecting to a server. [Torr Samaho]
** crashlogs == 2 : the crash report is automatically written to disk using an unused filename of type CrashReportXXX.zip in the directory controlled by the new CVAR crashlog_dir (very useful for server admins)
* Fixed: In case cl_medals == true, carrier floating icons are not removed immediately after the carrier looses the item. [Torr Samaho]
* Added different particle drawing options to the GL renderer, controlled by the new CVAR gl_particles_style (default 2). [Torr Samaho]
* Fixed: The new icon and medal hierarchy doesn't always prevent medals from overriding carrier icons. [Torr Samaho]
** gl_particles_style == 0 : square (the way GZDoom renders particles)
* 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]
** gl_particles_style == 1 : round
* 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. [Torr Samaho]
** gl_particles_style == 2 : smooth
* Fixed: Thing_Remove doesn't properly remove invasion spawners. [Torr Samaho]
* Added "give stdweapons" cheat that gives all weapons except for the Skulltag ones. Useful if you want to start a game in the middle of a Doom coop megawad for example. [Torr Samaho]
* Fixed: OPEN NET scripts are not executed on the clients online. [Torr Samaho]
* Added A_SpawnItemEx (ported the change from ZDoom revision 392+393+545 and made a few changes for the client/server architecture). [Torr Samaho]
* Fixed: AActor::CopyFriendliness doesn't update the the invasion monster count. For example this fixes problems with friendly Painelementals in invasion. [Torr Samaho]
* Added a "client side spawn" option to A_SpawnItemEx. [Torr Samaho]
* Moved "Lose powerups (CO-OP)" and "Lose half ammo (CO-OP)" boxes to the DMFlags section of the "Configure DMFlags" server window. [Torr Samaho]
* The "following" string is now drawn in that person's team color (if playing a teamgame). [Rivecoder]
* Raised CLIENT_TIMEOUT from 25 to 40 seconds. This should fix the timeout problems after intermission in Heretic. [Torr Samaho]
* Added customizable gravity per actor (ported the change from ZDoom revision 456 and added necessary netcode). [Torr Samaho]
* Changed the default value of vid_renderer to 0 (software renderer) to reduce compatibility problems with systems that can't use the GL renderer. [Torr Samaho]
* Added VSpeed DECORATE property so that an actor can be given an initial vertical speed (ported the change from ZDoom revision 373). [Torr Samaho]
* Increased the maximal number of servers that can be handled by the internal server browser from 256 to 512. [Torr Samaho]
* Added the possibility to build a server only binary that needs less depdendencies than the client. [Torr Samaho]
 
* Skins that the server does not have can now be seen by all players who have them. [Carnevil]
==== v0.97d RC9 ====
* Added disconnect scripts! They execute when a player leaves a game after being a non-spectating player. [Carnevil]
* No more paper thin sprites: Added x/y axis billboard mode for sprite rendering! It is controlled by the new CVAR gl_billboard_mode, which defaults to 2. [Torr Samaho]
* The "showmedals" key can now we used while playing back demos. [Carnevil]
** gl_billboard_mode == 1 : y axis billboard (the way GZDoom renders sprites)
* Added the "stopdemo" command, which stops a client-side demo if one is playing. [Carnevil]
** gl_billboard_mode == 2 : x/y axis billboard (the mode countless of people have requested :D)
* Any weapons given by default to a player when he spawns (such as the railgun in instagib) can now be replaced via DECORATE. [Carnevil]
* Added support for 3d floors in coop game modes, i.e. Coop, Survival and Invasion. [Torr Samaho]
* Buckshot and instagib can now be set for campaigns. [Carnevil]
* Added custom states and custom damage types (ported the change from ZDoom revision 368-378). [Torr Samaho]
* The "Held by:" and "Scored by:" messages now display in one flag CTF. [Carnevil]
* Added Linux OpenGL support! [Torr Samaho, Costja]
* Weapon flag NOLMS is now available in DECORATE. Weapons with this flag are not given to the player in LMS. [Torr Samaho]
* Completely revamped monster movement online! Monsters now move much more smoothly, and require far less bandwidth than before. [Carnevil]
* Added whitelist support. IPs on this list are always considered not to be banned. This can be used to define exemptions from a range ban. The new CVAR sv_banexemptionfile specifies the filename of the list. [Torr Samaho]
* Thoroughly updated Skulltag's ZDoom base to the latest ZDoom SVN repository revision (currently 622). [Torr Samaho 366-554+558-622, Carnevil 555-557]
* Code pointer A_CheckRailReload is now available via DECORATE. [Torr Samaho]
* Crash logs should finally work on all Windows machines. [Torr Samaho]
* Converted Minigun and Railgun to DECORATE. The DECORATE code of the Minigun was inspired by the STMinigun from tutnt.pk3. [Torr Samaho]
* Added a completely new 97d announcer that was made by SuperGod in a professional sound studio based on the voice of Carnevil. [SuperGod, Aabra, Carnevil, Rivecoder]
* Added buckshot and instagib to the Skirmish menu. [Rivecoder]
* Added new sprites for the Abaddon. [Jimmy91]
* Added netcode for the CCMDs invdrop and drop. [Carnevil, Torr Samaho]
* Upgraded the GZDoom renderer to 1.0.29! [Torr Samaho 1.0.25-1.0.26+1.0.28-1.0.29, Carnevil 1.0.27]
* Added CCMD kick_ip to kick players based on their IP. Usage: kick_ip <ip:port> [reason]. [Torr Samaho]
* Added client-side scripts! Scripts with the NET tag are now purely executed on the client end. This reduces bandwidth usage, and allows things like custom HUD displays to work properly. [Carnevil]
* Added new dmflag "keep teams", controlled by the new CVAR sv_keepteams. If this is enabled, players keep their team after a map change. [Torr Samaho]
* Added Logitech G15 support! Skulltag now natively supports a (fairly basic) LCD applet which displays the HUD, console, and a few other things. [Rivecoder]
* The server now informs the client if it tries to call a map/changemap vote to a map that is not in the rotation. [Torr Samaho]
* Added the dynamic light definitions for Heretic and Hexen from ZDoomGL. [Torr Samaho]
* You can now tab-complete RCON commands in the console. [Rivecoder]
* Added invasion spawners for Heretic! [Carnevil, Aabra, and Tun]
* Improved the resolution and quality of Skulltag's icon. [Kristus]
* Added invasion spawners for Hexen! [Gez, Torr Samaho]
* Added new CVAR sv_nokill. If set to true on a server, clients can't use the kill CCMD online. [Torr Samaho]
* Enhanced the IWAD selection box, allowing users to see their version, select their IWAD, and set video settings. It also looks nicer. [Rivecoder]
* Added new CVAR cl_alwaysplayfragsleft (default value false). If set to true, the "x frags left" announcer sounds will always be played (no matter if already played before). [Torr Samaho]
* Improved the revision display in the console. [Rivecoder]
* Fixed: values for text scaling under 4 would crash. [Rivecoder]
* Added the r_drawspectatingstring CVAR, which can be used to hide that message for screenshots or movies. [Rivecoder]
* Rank/spread/DM stats and team scores now show up in the ZDoom - and hence Heretic -  HUD. [Rivecoder]
* Skulltag can be build and run without FMOD now (without sound, of course). This makes it possible to build servers for systems that FMOD doesn't support, like FreeBSD. [Torr Samaho]
* Fixed: Ignoring definitions of already defined decorate actors which use ":" or "replace" didn't work. [Torr Samaho]
* Added CVAR sv_markchatlines (default false). If set to true, all chat lines will be preceded by a string saying "CHAT " in the server console / logfile. This is to make the chat lines readily identifiable, necessary for MiX-MaN's IRC server control tool for example. [Torr Samaho]
* Fixed: After a map change some type of custom weapons are lost on the client side (Fist and NewPistol in KDiZD for example). [Torr Samaho]
* Added Player.RunHealth property (ported the change from ZDoom revision 448). [Torr Samaho]
* Fixed many problems with Heretic and Hexen during network games. Both games should be quite playable now online! [Carnevil]
* Server console: you can now kick, ban, and IP check directly from the main scoreboard. [Rivecoder]
* Flags and skulltag skulls now work in any Doom engine-based game. [Carnevil]
* Server console: when kicking or banning, reasons can now have spaces. [Rivecoder]
* If you're spying someone and aren't allowed to view their stats, Skulltag now draws dashes on the original HUD. [Rivecoder]
* Server console: added a statusbar - you can now see your IP, Public/Private/LAN status, current map, and version. [Rivecoder]
* Monsters that do not leave a corpse now respawn properly in survival co-op. [Carnevil]
* Monsters that are crushed by moving ceilings now respawn properly in survival co-op. [Carnevil]
* Items now properly have their specials reset when a map resets. [Carnevil]
* Enter scripts are now executed whenever the map resets. [Carnevil]
* HUD messages that are broken into two or more lines that are centered horizontally now display properly in all scaled resolutions. [Carnevil]
* Fixed the LMS/TLMS column display on the scoreboard. Wins are no longer shown in TLMS, as players do not obtain wins. [Rivecoder]
* Players no longer get stuck in their idle animation if they bump into something in network games. [Carnevil]
* All escape codes (such as linebreaks) are now removed from chat, except for color codes. [Rivecoder]
* Players are now properly spawned when switching to a map with less player starts than players in cooperative mode. [Carnevil]
* You can no longer crash the server by banning somebody with an extremely long reason string. [Rivecoder]
* The list of players displayed by the server console should no longer have any ghost players. [Carnevil]
* Fixed glitchy screen shaking that would occur when riding moving sectors in network games. [Carnevil]
* Fixed a potential crash when using kick_idx on numbers greater than 32. [Rivecoder]
* Fixed glitch that could result in a duel being reset when a spectator leaves the game. [Carnevil]
* Players can now join a team from spectator mode when the "players cannot switch teams" dmflag is enabled. [Carnevil]
* Removed CVAR sv_stay97c3compatible, since Skulltag has been incompatible with 0.97c3 since beta 4. [Torr Samaho]
* When respawn telefragged in LMS and survival games, you no longer instantly respawn when the "Allow instant respawn" compatflag is enabled. [Carnevil]
* Players can no longer be put into a team game without being assigned a team. [Carnevil]
* The cast pics in the finale are now scaled properly. [Carnevil]
* Stealth monsters now work properly on the client end. [Carnevil]
* Thing_Activate and Thing_Deactivate not work properly in network games. [Carnevil]
* Fixed a bug in which under certain circumstances, incorrect sounds would play in network games if the server and client didn't have the same wads loaded. [Carnevil]
* Rune icons now show up correctly on the HUDs. [Rivecoder]
* Seconday ammo is now displayed on the fullscreen HUD. [Rivecoder]
* Improved the display of the bottom string; 'x allies/opponent' display now reflects that of the player you're spying; added a few missing linebreaks. [Rivecoder]
* Improved the display of the bottom string; 'x allies/opponent' display now reflects that of the player you're spying; added a few missing linebreaks. [Rivecoder]
* Added a GTK+ version of the IWAD selection box (ported the change from ZDoom revision 451). [Torr Samaho]
* The Linux version now uses the directory "~/.skulltag/" instead of "~/.zdoom/". [Torr Samaho]
* Ported the updated startup screen code from GZDoom 1.0.24 to ST. This includes simulations of Heretic's, Hexen's and Strife's startup screen. [Torr Samaho]
* Fixed: A disconnecting Linux client doesn't tell the server that he is quitting. [Torr Samaho]
* Class selection screen is now shown when joining a multiplayer non Hexen, not team based game with more than one available player class. [Torr Samaho]
* Fixed crash that would occur when flags/skulls were returned on maps where point (0,0) was an instant return zone. [Carnevil]
* sv_banfile can now be a path, so that banfiles can be placed anywhere. [Rivecoder]
* The "actor hits ceiling" sector action now works properly. [Carnevil]
* Added "Class" to the player setup menu. [Carnevil]
* Objects moved by thing_move now show up in the proper location on the client end. [Carnevil]
* Ban reasons are read from the banfile now. [Torr Samaho]
* The class selection menu now properly animates. [Carnevil]
* Revamped the way the ban list is handled internally. This allows an unlimited number of bans and fixes a memory leak. [Torr Samaho]
* Players who become spectators when killed now have their bodies left on the field. [Carnevil]
* Added basic inventory drawing support to the Skulltag Doom HUD (doesn't respect scaling yet). [Torr Samaho]
* Fixed glitches that would occur when changing to a map without enough starts for the number of players playing. [Carnevil]
* Revamped the way double defined actors are handled: If a definition of an already defined actor is encountered, "2" will be appended to the name and the new actor replaces to old one. This should give full compatibility with PWADs that use actors whose name conflict with Skulltag actors. [Torr Samaho]
* Reorganized and regrouped a good chunk of the classic HUD code - item holders, team scores, and rank/spread. [Rivecoder]
* If a replaced weapon is added to a slot with setslot, the replacement weapon will also be added to the slot. [Torr Samaho]
* Improved: The white flag 'held' display now always strips color codes, text scaling or not. [Rivecoder]
* Added MD2/DMD/MD3 model frame interpolation, controlled by the the new CVAR gl_interpolate_model_frames. [Torr Samaho]
* Heretic/Hexen invasion HUD now displays properly. [Rivecoder]
* Added model skin color translation support. The skin texture may only use colors from the game palette, otherwise it won't work properly. [Torr Samaho]
* One Flag CTF now uses the classic HUD's iconic score display, and not the basic team scores one. [Rivecoder]
* Models respect the actor render style now, e.g. a model of a player with an invisibility sphere is rendered translucent.
* Removed cl_alwaysdrawdmstats and cl_alwaysdrawteamstats. [Rivecoder]
* The reminder about how you cannot talk to players/spectators in LMS is now affected by text scaling. [Carnevil]
* Fixed: If you loaded a game while a demo was playing, you'd be stuck. [Rivecoder]
* The dmflag "Don't spawn multiplayer weapons in co-op games" now works properly. [


==== v0.97d-beta3 ====
==== v0.97d-beta1 ====
* FIXED THE SPECTATOR WEAPONS BUG! All of the information is updated properly now. No more rocket shotguns. :*( [Torr Samaho]
* ADDED GZDOOM RENDERING! Skulltag has switched renderers and we've dropped the slow and buggy ZDoomGL renderer. This entails fantastic support for ZDoom's features, blistering speed, and fewer bugs! [Torr Samaho!]
* Fixed the silent railgun shots bug, and other sound related errors. [Torr Samaho]
* Added dynamic lighting for ALL items for the new renderer! These include Doom items and Skulltag ones. Torches now cast light, plasma shots let out an eeire glow, and the spheres pulse ominously. [Metalhead]
* Rewrote the scoreboard code! The scoreboard now shows fewer columns in lower resolutions, has a new 5 column display for CTF/ST/LMS (in 800x600 or higher), and sports a 'chatting' icon for when players are typing. [Rivecoder]
* Added name restrictions on all player names! Players can no longer create line breaks in the middle of their names, use invisible or strange characters, or use blank names! This should make vote kicking easier, and help stem name abuse. [Rivecoder]
* Added Hectebus fireball and several new light definitions. [Metalhead]
* NEW minimal vote screen! A display option, the "Vote Now!" screen takes up a small area at the top of the screen, instead of the entire screen. This should make votes less painful. [Rivecoder]
* Added a new female skin, Illucia! [Lazureus]
* Added game-sensitive F1 help. What this does is changes the help screen to match whatever mode you're playing. If, for example, you are playing Possession, the help screen will show you how to play, etc. This can help new players learn the modes, as well as relieve experienced members from having to explain them. Ever had someone not know to score in Skulltag? "F1 DAMMIT!" [Rivecoder]
* Added support for hosting/joining servers with PK3 files! [Torr Samaho]
* Created a new mapinfo entry, "f1"! Mappers can create CUSTOM F1 screens that can explain their ACS mod or level! Each map can have its own screen. Hopefully this should become the standard place to explain your game mode. [Rivecoder]
* Added CVAR sv_stay97c3compatible. If it's true the server will allow 97c3 clients to connect and won't use any network commands they don't understand, i.e. bug fixes, which require network changes, won't be used. If it's false, 97c3 clients can't connect or will desync. [Torr Samaho]
* Voting can be fined tuned! Added these server cvars: sv_nokickvote, sv_nomapvote, sv_nochangemapvote, sv_nofraglimitvote, sv_notimelimitvote, _nowinlimitvote, sv_noduellimitvote and sv_nopointlimitvote. This way each vote type can be deactivated individually. [Torr Samaho]
* DECORATE guns now spawn decals online with cl_hitscandecalhack=true. [Torr Samaho]
* You can longer leave the map rotation with a vote. [Torr Samaho]
* DECORATE guns now award accuracy/precision medals to players. [Torr Samaho]
* Updated Skulltag's internals to use a hybrid of ZDoom 2.1.8 trunk and GZDoom 2.0.22 code. Not all of the new features (such as custom states) have been used yet. [Torr Samaho]
* DECORATE guns now notify bots if the DECORATE versions of the Doom weapons are used. [Torr Samaho]
* Added support for Terminator and Possession starts! TIDs 6000 and 6001, these allow mappers to choose where the Terminator ball and Hellstone spawn at the start of a level! If you don't use these starts, a deathmatch start will be used as normal. [Rivecoder]
* Enhanced the 97 fullscreen HUD! [Rivecoder]
* When a player leaves a server, in addition to his frags and wins, his playing time is saved. This means that if you reconnect, your time isn't reset. [Rivecoder]
* When a team scores in ST/CTF, it now shows who scored and who assisted! [Rivecoder]
* Added death frames for Ultimus! [Doomjedi]
* All gamemodes: A small blurb in the top-right corner, next to your frags/points, shows the amount of remaining frags/scores/etc until the level ends. [Rivecoder]
* When you get the Doom or Guard sphere, your vision is properly rendered. [Torr Samaho]
* Team Games: Team scores now appear on the HUD. [Rivecoder]
* Fixed Teleport to Map special online. [Torr Samaho]
* Instagib: Health/armor display is automatically hidden. [Rivecoder]
* Fixed a server crash when monsters left a level. [Torr Samaho]
* Infinite ammo: the ammo display is automatically hidden. [Rivecoder]
* A player using a doom or guard sphere is rendered in the correct color for the other players. [Torr Samaho]
* LMS: The 'x opponents left' display at the bottom now appears in the fullscreen HUD. [Rivecoder]
* Removed the 1 frame delay between when the BFG10K shot explodes and the damages is dealt. This fixes time freeze mode. [Torr Samaho]
* Survival: A new line in survival now shows similar to that of LMS -- it shows how many allies are still alive. [Rivecoder]
* Fixed a crash where if you try to join a server, when having wads with the correct names, but which don't contain the map the server is running. [Torr Samaho]
* Invasion: Your kill count is now shown in the top-right of the screen. [Rivecoder]
* Fixed bug where runes weren't stored when you saved the game. Wart 04 is playable now! [Rivecoder]
* Duel: Rank is now hidden. [Rivecoder]
* Bots ignore additional events if their queue is full (since the queue fills easily in time freeze mode). This should fix the "Event queue size exceeded" bug. [Torr Samaho]
* LMS: The line about how spectators can't talk to living players now shows next to the chat prompt, and shows for players too. [Rivecoder]
* Added a experimental hack to fix the decals of the super shotgun online. If this works properly, it will be used for all hitscan weapons. [Torr Samaho]
* Team Possession: Now shows who scored in online games. [Rivecoder]
* Fixed the give cheats online. [Torr Samaho]
* Added netcode to handle the use of inventory items online. This should fix the CCMDs "invuseall", "invuse" and "use" - dropping items is not yet supported. (Needs *heavy* testing - brand new code). [Torr Samaho]
* When a team scores in possession, the name of the scorer is also shown. [Rivecoder]
* Pistol, shotgun and chaingun decals now work online. [Torr Samaho]
* Reorganized the player setup and multiplayer menu. [Rivecoder]
* Added the 'chatting' icon to the scoreboard. [Rivecoder]
* Some internal changes how Actors are spawned online. I hope this can be used in the future to reduce the problems some have joining a server hosting UTNT. [Torr Samaho]
* IDESE now supports pk3 files! [Bond]
* Skulltag does not include most of GZDoom's gl-only features for now, such as 3D floors and reflective flats, to prevent advantages over software users.
* Fixed: BlueColumn emits red light, not blue. [Metalhead]
* 0.97d briefly used ZDoomGL 0.81, but it caused more bugs than it helped. Major props to Torr for his hours of work to get both renderers working.
* The Reflection rune announcer is now played on pickup. [Torr Samaho]
 
* Converted Fist and Chainsaw to DECORATE. [Torr Samaho]
<pre><nowiki>
* Fixed ACS functions ClearInventory/DoClearInv online. [Torr Samaho]
----------------------------------------------------------------------------------------------------------
* Players' extra data is now update when spying after joining (possible in coop, for example). [Torr Samaho]
One remark about texture filtering: Because of countless complains in the past that the GL mode in general (regardless if ZDoomGL or GZDoom) is just too blurry and not doomish at all we decided to set the default filtering values in such a way, that the filtering resembles the software mode as closely as possible. These are not the recommended values, but the default ones, so that hopefully software renderer fans won't get scared away by the new renderer seconds after starting it for the first time.
* Deactivated chasecam cheat message, in any non deathmatch/teamgame game. [Torr Samaho]
The recommended values are as follows:
* Fixed: The Chainsaw's kickback was initialized to the default - not 0. (ported from ZDoom) [Torr Samaho]
 
* Fixed: Hirestex replacements for sprites didn't work properly (ported from GZDoom, kudos to Graf for fixing this in no time!) [Torr Samaho]
If you want to keep the sharpness of software more, but still enjoy filtering benefits, we recommend the settings
* server_GenericCheat only tells the client who toggled chasecam of the cheat, the others don't need to know about it. This fixes display problems, when spying someone who has chasecam on. [Torr Samaho]
 
* Fixed: jerky movement online in a WaterZone. [Torr Samaho]
texture filter mode = none (mipmapped)
* Fixed: Game crashes directly in a cooperative skirmish, e.g. if you start with "+multiplayer +map map01". [Torr Samaho]
anisotropic filter = 16x
* Fixed: player classes not working online. (Needs extensive testing) [Torr Samaho]
 
* Single player class selection menu now works in singleplayer. (Tested with Hexen and Ghouls vs Marines) [Torr Samaho]
If you don't mind loosing a bit of the sharpness and want to enjoy all OpenGL benefits (as I do), we recommend
* Class selection are respected in offline skirmish. [Torr Samaho]
 
* Fixed crashes of the player setup menu. [Torr Samaho]
texture filter mode = trilinear
* Cleaned up the F1 help code; it now only shows during a level or intermission, fixing some bugs. [Rivecoder]
anisotropic filter = 16x
* Positions of Heretic monsters are now updated properly online. [Torr Samaho]
 
* Positions of Hexen monsters are now updated properly online. [Torr Samaho]
Especially if you use the high res textures, the latter is the way to go. Depending on the speed of your graphics card you can lower the anisotropic filter to improve performance.
* Fixed: Server crashes at startup, if you try to host a Hexen server without selection a map. [Torr Samaho]
----------------------------------------------------------------------------------------------------------
* "addmap", "callvote map" and "callvote changemap" now work on maps contained in pk3s. Maplist now works as well. [Torr Samaho]
</nowiki></pre>
* Fixed the "Using unknown weapon type" bug, which happened in Ghouls vs Marines, if you are a Ghoul and fire your weapon after a map change. This should fix this bug once and for all (it occurred for Metal occasionally before) and could also fix the "player starts with fists" in coop bug. [Torr Samaho]
* Fixed: a Heretic client crashes if the server changes the map with the CCMD map. [Torr Samaho]
* Fixed: With switchonpickup == 1, some weapons are brought up powered up on pickup, even if the player doesn't have a PowerWeaponLevel2 active. Affects the mace in Heretic, for example. [Torr Samaho]
* Generalized the way key letters are handled, which are used for weapon changes to reduce network traffic. [Torr Samaho]
* Added the join game menu, which now shows in a team-less game instead of the y/n prompt. This way there can be the 'how to play' choice. [Rivecoder]
* In the oldstyle fullscreen HUD, keys are only shown in coop now. [Rivecoder]
* Reorganized the Display Options menu; added the HUD menu. [Rivecoder]


==== v0.97d-beta2 ====
==== v0.97c3 ====
* Skulltag now erases ZDoomGL settings (any renderer settings, really) the first time you run it on an old profile. [Rivecoder]
* Disabled several underground hacks, cheats, and hooks that have been circulating through the community.
* Added spread support rune for your custom DECORATE weapons! [Torr Samaho]
* NoIntermission is now recognized in multiplayer. Mappers can now use this to create their own intermissions.
* Upgraded the GZDoom renderer to 1.0.24! [Torr Samaho]
* Improved Skulltag's credits, which can be seen by waiting at the menu screen. They also use the DEMO3 slot.
* Updated to Randy's new vector math routines. [Torr Samaho]
* Strengthened the voting mechanism. Kicking should now be easier and less troublesome.
* This new vector code fixes a Software bleeding sector rendering bug.
* Disabled loading of zvox.wad, which plagued servers since the release of 97b.
* Fixed the 'change renderer' messages and fixed a typo. [Torr Samaho]
* Fixed the display of server flags.
* When hosting a server, sound is automatically disabled. This fixes problems when running Skulltag on servers without sound cards. [Torr Samaho]
* Fixed a ZDoom software bug that causes flashing between the MAPINFO and skybox skies.
* Fixed a server crash with custom ambient sounds (and possibly other undiscovered crashes). [Torr Samaho]
* Health now correctly updates once you complete a level in cooperative.
* Fixed transparent textures that blocked projectiles or monsters. [Torr Samaho]
* Removed the unused, pre-0.96 credit lump. Skulltag no longer shows this.
* Fixed the TESTCOLOR grayscale bugs and crashes. [Torr Samaho]
* (Possibly) fixed the respawn invunerability palete bug. This needs testing. [Torr Samaho]
* Fixed the cooperative HUD armor display bug! [Torr Samaho]
* Dynamic lights with a duration of -1 work now. [Torr Samaho]
* Fixed the server maplist "FRAGS" bugs! This needs thorough testing. [Torr Samaho]
* Console command 'addmap' now will only add the map if it exists. [Torr Samaho]
* Console command 'changeteam' now gives an error when used in non-teamgame modes. [Torr Samaho]
* Fixed a crash when the map was reset after the countdown. [Torr Samaho]
* The online hitscan decal fix has now been declared bug-free and officially included for the SSG. [Torr Samaho]
* You can toggle the hitscan decals with the CVAR cl_hitscandecalhack. [Torr Samaho]
* Increased the prescision of texture scaling from GZDoom. [Torr Samaho]
* Removed the old tx and ty CVARs, as they've been removed in ZDoom. [Torr Samaho]
* Reactivated 3DMidtex support and changed ML_3DMIDTEX from 0x4000 to 0x40000000 (same as GZDoom) to fix conflicts. [Torr Samaho]


==== v0.97d-beta1 ====
==== v0.97c2 ====
* ADDED GZDOOM RENDERING! Skulltag has switched renderers and we've dropped the slow and buggy ZDoomGL renderer. This entails fantastic support for ZDoom's features, blistering speed, and fewer bugs! [Torr Samaho!]
* Improved packet loss handling! Much less bandwidth and CPU power is now required to handle packet loss. Maps that previously were unplayable due to ACS effects should now be playable.
* Added dynamic lighting for ALL items for the new renderer! These include Doom items and Skulltag ones. Torches now cast light, plasma shots let out an eeire glow, and the spheres pulse ominously. [Metalhead]
* Added sv_nocallvote, a console variable that gives servers the ability to disable voting.
* Added name restrictions on all player names! Players can no longer create line breaks in the middle of their names, use invisible or strange characters, or use blank names! This should make vote kicking easier, and help stem name abuse. [Rivecoder]
* The skirmish menu now includes the lump name of the selected map in its display (ex. "MAP01 - Entryway").
* NEW minimal vote screen! A display option, the "Vote Now!" screen takes up a small area at the top of the screen, instead of the entire screen. This should make votes less painful. [Rivecoder]
* Added the "use old fullscreen HUD" option to the display options menu.
* Added game-sensitive F1 help. What this does is changes the help screen to match whatever mode you're playing. If, for example, you are playing Possession, the help screen will show you how to play, etc. This can help new players learn the modes, as well as relieve experienced members from having to explain them. Ever had someone not know to score in Skulltag? "F1 DAMMIT!" [Rivecoder]
* Fixed infinite loop bug that would occur if a player tried to join the blue team, but all blue team starts were blocked.
* Created a new mapinfo entry, "f1"! Mappers can create CUSTOM F1 screens that can explain their ACS mod or level! Each map can have its own screen. Hopefully this should become the standard place to explain your game mode. [Rivecoder]
* The voting module now only allows valid votes to take place. People can no longer call votes like "fraglimit sex time".
* Voting can be fined tuned! Added these server cvars: sv_nokickvote, sv_nomapvote, sv_nochangemapvote, sv_nofraglimitvote, sv_notimelimitvote, _nowinlimitvote, sv_noduellimitvote and sv_nopointlimitvote. This way each vote type can be deactivated individually. [Torr Samaho]
* The server statistics and server information dialogs work once again.
* You can longer leave the map rotation with a vote. [Torr Samaho]
* Enter scripts now execute in deathmatch and in teamgames.
* Updated Skulltag's internals to use a hybrid of ZDoom 2.1.8 trunk and GZDoom 2.0.22 code. Not all of the new features (such as custom states) have been used yet. [Torr Samaho]
* Fixed crash that would occur when killing a summoned doomplayer.
* Added support for Terminator and Possession starts! TIDs 6000 and 6001, these allow mappers to choose where the Terminator ball and Hellstone spawn at the start of a level! If you don't use these starts, a deathmatch start will be used as normal. [Rivecoder]
* Fixed crash that would occur when trying to connect to a server and go to a map at the same time in the command line.
* When a player leaves a server, in addition to his frags and wins, his playing time is saved. This means that if you reconnect, your time isn't reset. [Rivecoder]
* Enter scripts now execute at the proper time in network games so that their effects are visible.
* Added death frames for Ultimus! [Doomjedi]
* Custom weapons that use bullet attacks now work properly in network games.
* When you get the Doom or Guard sphere, your vision is properly rendered. [Torr Samaho]
* The A_FireCustomMissile DECORATE function now works properly in network games.
* Fixed Teleport to Map special online. [Torr Samaho]
* A new line occurs before printing ALL of the various display messages above the status bar.
* Fixed a server crash when monsters left a level. [Torr Samaho]
* Barrels now respawn properly when the "barrels respawn" dmflag is enabled in network games.
* A player using a doom or guard sphere is rendered in the correct color for the other players. [Torr Samaho]
* Increased the resolution of the camera texture on D2LMS2.
* Removed the 1 frame delay between when the BFG10K shot explodes and the damages is dealt. This fixes time freeze mode. [Torr Samaho]
* The lava now animates properly on D2LMS5.
* Fixed a crash where if you try to join a server, when having wads with the correct names, but which don't contain the map the server is running. [Torr Samaho]
* Updated the version info within skulltag.exe so that the program's internal name, internal version, etc. are accurate.
* Fixed bug where runes weren't stored when you saved the game. Wart 04 is playable now! [Rivecoder]
* Values of 0-65536 are now acceptable for pointlimit in network games, as opposed to 0-255.
* Bots ignore additional events if their queue is full (since the queue fills easily in time freeze mode). This should fix the "Event queue size exceeded" bug. [Torr Samaho]
* Memory for clients' saved packets (which are resent in the case of packet loss) are now allocated based on sv_maxpacketsize when the server starts. This results in less memory being used, but if sv_maxpacketsize changes, the effects don't take place until the server starts.
* Added a experimental hack to fix the decals of the super shotgun online. If this works properly, it will be used for all hitscan weapons. [Torr Samaho]
* Lowered the possession hold time on a few maps to make scoring a bit easier.
* Fixed the give cheats online. [Torr Samaho]
* When a team scores in possession, the name of the scorer is also shown. [Rivecoder]
* Reorganized the player setup and multiplayer menu. [Rivecoder]
* Some internal changes how Actors are spawned online. I hope this can be used in the future to reduce the problems some have joining a server hosting UTNT. [Torr Samaho]
* Skulltag does not include most of GZDoom's gl-only features for now, such as 3D floors and reflective flats, to prevent advantages over software users.
* 0.97d briefly used ZDoomGL 0.81, but it caused more bugs than it helped. Major props to Torr for his hours of work to get both renderers working.


<pre><nowiki>
==== v0.97c ====
----------------------------------------------------------------------------------------------------------
* In invasion, ammo spawners now never run dry in network games.
One remark about texture filtering: Because of countless complains in the past that the GL mode in general (regardless if ZDoomGL or GZDoom) is just too blurry and not doomish at all we decided to set the default filtering values in such a way, that the filtering resembles the software mode as closely as possible. These are not the recommended values, but the default ones, so that hopefully software renderer fans won't get scared away by the new renderer seconds after starting it for the first time.
* Added a new cvar, sv_usemapsettingswavelimit! When true, this automatically sets the wavelimit when a map changes based on whatever the wavelimit is for the map during the single player campaign.
The recommended values are as follows:
* Added a new cvar, sv_usemapsettingspossessionholdtime! When true, this automatically sets the possession hold time when a map changes based on whatever the possession hold time is for the map during the single player campaign.
 
* Added a new property that can be set to campaign info for maps: possessionholdtime! This sets the amount of time the possession artifact should be held for to score a point on possession maps.
If you want to keep the sharpness of software more, but still enjoy filtering benefits, we recommend the settings
* Added a new lindef special, Teleport_NoStop (154)! This special works like Teleport, except your momentum is not brought to a complete stop. This is now used in D2ST2.
 
* Fixed crash that would occur when entering the text scaling menu with con_virtualwidth and con_virtualheight uninitialized.
texture filter mode = none (mipmapped)
* Fixed bug in which if you got respawn telefragged in survival co-op, you would remain dead for the round (now you can play when the number of players exceeds the number of player starts!).
anisotropic filter = 16x
* Fixed crash that would occur if you had cl_skins set to 0, and someone joined the game.
 
* Fixed crash that would occur when an obituary with the same person as the victim and the attacker was printed.
If you don't mind loosing a bit of the sharpness and want to enjoy all OpenGL benefits (as I do), we recommend
* Fixed crash that would occur
 
texture filter mode = trilinear
 
* Fixed bug where players who joined servers in the middle of a game would sometimes appear in-game on the scoreboard, when they were actually spectators.
* Fixed bug where players who joined servers in the middle of a game would sometimes appear in-game on the scoreboard, when they were actually spectators.
* Fixed bug where holding down a button during intermission could sometimes rapidly toggle your "ready to go on" status.
* Fixed a problem with the Team_GivePoints() ACS function. It now works properly.
* Fixed bug where bots could not open doors.
* Spectators can no longer telefrag (however, this only had the potential to occur in single player games).
* The score in the bottom left now properly displays during Team LMS games.
* Terrains that splash when you land on them (such as water) no longer create multiple splashes in multiplayer.
* Fixed bug where when joining some teamgame maps, you would be spawned as an active player without a team.
* Fixed D2DM7, so that you can no longer rocket jump "outside of the level".
* You can now spynext out of the eyes of your teammates in Team LMS when you are killed.
* Then proper weapon now displays when spynexting your buddies when you are not a spectator.
* You can no longer suicide during a duel using the "kill" command.
* Made some tweaks to D2ST1, so now you're less likely to get snagged on posts.
* Slightly adjusted the position of the "You have the blue flag!", etc. messages so they don't overlap the "You fragged <name>!" messages.
* Rewrote a portion of the launcher query protocol to make it use less bandwidth.
 
* You no longer get kicked for cycling through connection types at the multiplayer menu.
==== v0.96d ====
* Fixed a problem where you couldn't toggle your "ready to go on" status during intermission in network games.
* Upgraded the ZDoom version to 2.0.63a! That means that you can now create custom actors with the DECORATE lump! REJOICE!
* Made a fix so that it should now be impossible to be kicked for userinfo flooding while connecting to a server.
* Revamped the entire sector system in client/server games! Floors, plats, doors, etc. ought to sync up much better now. In addition, many new types of floors, plats, doors,
* Fixed cooperative problem where the total number of monsters remaining could be negative, due to the total of monsters not being increased when a monster was revived by an arch-vile.
* The level end delay is now reset if you change maps using the "map" command.
* Platforms that aren't activated by a line now work properly.
* The appropriate bullet puff type is set before enemies fire the railgun. This fixes a bug where if the enemy fired the railgun after the BFG10K would shot, all bullet of blood puffs would be BFG10K explosions.
* Fixed all reported crashes.
* Fixed all reported crashes.
* Players who spam user info changes (ex. running scripts that change your skin every few ticks) are now kicked from the server.
* In co-op, game boes back to the initial episode map after getting to a finale of some sort.
* Fixed problem where occasionally hitting the use key against objects (like you do to open doors) would not work right.
* Fixed problem where scaled skins didn't appear to be scaled in multiplayer.
* The railgun attacks are now armor piercing, like they were meant to be.
* 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 you could set a negative handicap, thus allowing you to reach very high health levels.
* Fixed problem where rejoining a teamplay DM server resulting in your saved number of frags being readded to the frag total.
* Fixed problem where monsters would continue to attack your invisible body if you went into spectator mode.
* Icons now inhereit the render properties of their tracers. (ex. If you have an invisibility sphere, your icon will appear invisibile too).
* The respawn invulnerability now protects against railgun shots in instagib.
* The quit and exit console commands can no longer be called with the ConsoleCommand ACS function.
* Fixed memory leakage caused by idle servers.
* You frag total is no longer subtracted from the team frag total when you go into spectator mode.
* Thing_Activate/Deactivate now work properly in multiplayer games (YOU'RE WELCOME SPUNKMAN!)
* Summon cheats now work in multiplayer if sv_cheats is enabled.
* Fixed STSKY5 so it now repeats vertically properly.
* Sound is now played even when the window is not in focus.
* Fixed bug where the game would freeze up if you tried to suicide during the win sequence of a duel.
 
* Fixed bug where you could activate the IDDT map cheat in single player, and then connect to a server with the cheat still active.
==== v0.95g ====
* Fixed problem where if you ran a server and tried to change a variable that's archived and part of the server info (such as compatflags) with the command line or a config file at startup, it would not set properly.
* Upgraded Skulltag to ZDoom version 2.0.53.
* Fixed problem where if a player's speed was changed through ACS over the network, his movement could appear to be all jerky.
* 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.)
* The "SetWeapon" ACS command now works properly in multiplayer.
* Made large optimizations to how sectors work over the network. They are now smoother and less laggy!
* Fixed problem where if the server had their blood type display option set to "particles only", clients connected to the server would not see any blood sprites.
* 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.
* Timelimit is now applied in team games.
* Added sv_maxplayers, which limits the amount of active players in the game. People who join the game beyond this limit spawn as spectators.
* Removed the FWFALL1 and FWFALL2 textures. Hope no one was using them! They were the essentially the same as WFALL1.
* Added a trail effect for when players have the turbosphere or haste rune.
* Did the same for the WFALLxx patches.
* Added field for the password that clients use to connect to passworded servers to the multiplayer menu.
* The sound once again works on the polyobject doors on D2CTF4.
* Added new compatibility flag that enables the original Doom sound curve.
* Fixed the skies on many of the CTF maps so that they scroll, as originally intended.
* Add safety measures to the ConsoleCommand ACS function.
* Fixed bug that prevented "Press space to see front/back" from showing up on the player setup menu in high resolutions.
* Applied logic for all dmflags that I hadn't gotten around to doing.
* Fixed problem where players' orientations weren't correct after using a teleport without fog in network games.
* Added option to start as a spectator when connecting to servers. The option can be toggled via the multiplayer menu.
* A_FireRailgunRight/Left now works correctly in multiplayer games.
* Drain and reflection runes now work properly.
* Fixed bug where you couldn't pass arguments that had spaces in them using rcon.
* Spread now works with all Heretic and Hexen weapons.
* Fixed bug where intermission animations would display in Doom 1 even when the Skulltag win/loss screen would display.
* Added "taunt" to the customize controls menu.
* Fixed bug where if you joined a game while spectating through someone else's eyes, you continued to spectate through their eyes.
* Added con_textcolor, which allows disabling of color for text strings.
* Fixed bug where the first player would always be the winner of a duel if a timelimit was set and time ran out.
* Added chat flood protection. Now, players who spam servers with chat strings get kicked.
* Fixed the wallrun problem when the "plasma bump bug" or oldschool modes were set.
* TakeInventory called by server-side scripts now shows up properly on the client end.
* Fixed problem where if you tried to connect to a server that was full, you got a garbled error message.
* Improved spying through other people's eyes while in spectator mode.
* Spectators no longer make the "oof" noise when slamming into walls.
* Added "plasma bump bug" compatibility flag. When this is enabled, plasma bumping on MAP01, BFG bumping on dwango5.wad MAP01, etc. work "properly".
* Fixed problem where if you were spectating through someone's eyes, and they died, you wouldn't continue to spy through their eyes when they respawned.
* Objects spawned by server-side scripts through Thing_Projectile now work.
* Fixed the IDCHOPPERS cheat. It now works properly.
* Added blue/red leads, teams are tied announcer events for teamplay DM mode.
* Removed the "no respawn" dmflag. It has been replaced by the new "last man standing" mode.
* Added HUD display for team scores during teamplay DM mode.
* For items to respawn in cooperative mode, the "alwaysapplydmflags" cvar no longer needs to be set to true.
* Added limited support for Heretic/Hexen weapons over the net.
* Slightly moved where the player who is in your crosshair's name is drawn so that it is not overlapped by "Waiting for players", "Spectating", etc.
* Item respawning has been moved more towards the server end. This removes item respawn problems under certain conditions (ie. item respawn in cooperative).
* Wads placed in the \BOTS directory are now automatically loaded.
* While spectating, players' whos eyes you spy through, now display the proper view and weapon bobbing.
* Gamma has been changed from a human bot to being one of the robot bots. Cygnus is now who he used to be as a human.
* Added "disable taunts" compatability flag. This is important because before, the silent BFG effect was triggerable by taunting.
* Spectators are now skipped when using the spynext and spyprev commands.
* Fixed major server crash where if the level remained unchanged for more than a day or so, and someone joined, it would crash.
* Gave the "Skulltag" game mode its own cvar. Now, "teamgame" by itself is more generic.
* Desaturated sectors now appear that way on the client end.
* In team games, players are now sorted according to their frags/points on the scoreboard.
* Fixed connection problems related to the level being loaded, without having gotten the player spawning packet(s) yet.
* When messages are off, you no longer hear the "beep" sound when someone talks.
* Change music functions called by server-side scripts now work on the client end.
* Running a server with -private now merely makes sv_updatemaster false.
* 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.
* Changed the amount of time the server gives clients to send their checksum from 5 to 15 seconds. This will hopefully reduce instances of kicks due to "did not receive player's checksum".
* 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.
* Cheats can now be used in any single player mode (including DM and teamgames) without required sv_cheats to be enabled.
* Textures that have changed during the level are now updated to joining clients.
* sv_updatemaster is no longer archived.
* Fixed problem where typing a chat string with a % sign would would result in a bunch of different characters instead of the actual % sign.
* Each level in Skulltag now uses a unique music lump.
* Fixed bug where the joystick would not work in multiplayer games.
* "connectiontype" now defaults to "cable".
* Fixed bug where if you fired plasma against the wall, it didn't appear to come out at all on the client end.
* Greatly cleaned up skulltag.wad. It ought to be much less of a pain to navigate now :) (Thanks XWE!)
* Fixed rcon problems related to the "map" command.
* Made some slight changes to the player setup menu to accomidate the "user info spam" functionality.
* Fixed problems with "floating missiles" when connecting to servers.
* All the CTF maps included in Skulltag now use the simple CTF map standard.
* Made fix to make the BFG firing sound play at the proper time on the client end.
* The white flag now returns after 30 seconds in One Flag CTF mode, just like normal flags do.
* The HealThing function called by server-side scripts now works.
* Weapon switching on pickup is now forced in oldschool mode.
* Fixed problem where if the was packet loss on the server end, your missiles would appear to come out at the wrong pitch.
* Oldschool now uses the old intermission screens and music, as opposed to the Skulltag ones.
* Fixed problem where if you were spying through the eyes of another player during coop, spectator mode, etc., and they disconnected, Skulltag would crash.
* The scoreboard and all its messages now display from the display player's point instead of view, instead of the console player's.
* Players now grunt and have their view height shift when hitting the ground hard on the client end.
* The Reflection rune now hurts the attacker with 75% of the damage done to the one with the rune, instead of 50%.
* Fixed bugs where weapons appeared to be cleared between levels in co-op, but that really isn't the case.
* Made some tweaks to D2DM1, including minor visual changes and the removal of some health.
* Fixed bug where spectators did not show up on the scoreboard in teamgame mode.
* 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).
* 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).
* Bringing up the "join game" prompt while a spectator is now always activated by hitting space, instead of whatever key "+use" was bound to.
* 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.