/*
+----------------------------------------------------------------------------+
| FILE: CHANGES                                                              |
| Quaker Server Modifications (QkrMods) v4.07                                |
| Copyright (C) 1998 David G. Hesprich (Dark Grue)                           |
|                                                                            |
| This program is free software; you can redistribute it and/or modify it    |
| under the terms of the GNU General Public License as published by the Free |
| Software Foundation; either version 2 of the License, or (at your option)  |
| any later version.                                                         |
| This program is distributed in the hope that it will be useful, but        |
| WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
| or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   |
| for more details.                                                          |
|                                                                            |
| You should have received a copy of the GNU General Public License along    |
| with this program; if not, write to the Free Software Foundation, Inc.,    |
| 675 Mass Ave, Cambridge, MA 02139, USA.                                    |
+----------------------------------------------------------------------------+
*/

Changes in version 4.07b4:
* Fixed problem with armor equal to that already being carried being picked up
  at the beginning of a level.  This is actually a result of a bug in Quake's
  floating point math.  This occurs when Quake restores player state using the
  setspawnparms() function and the parm1..parm16 variables.  Apparently
  setspawnparms() can only pass integers, and since the .armortype entity field
  is actually a float <= 1.0, the code in CLIENT.QC has to upconvert it by
  multiplying it by 100.  The value is then reversed in DecodeLevelParms(), when
  it gets restored back.  The problem lies in the way this is done.  Apparently,
  as far as Quake is concerned (1 * 0.01) != (1 / 100).  So, when armor_touch()
  in ITEMS.QC checks to see if the armor type * value of the armor to be pick up
  is less than or equal to that already carried (in which case the armor is left
  alone), the rounding error in the player's .armorvalue makes that check
  evaluate as false, and the armor gets picked up.  When the armor gets picked
  up, the .armorvalue gets reassigned from a constant value, wiping out the
  rounding error, and everything starts working again.
* The ExitIntermission() event in ClientConnect() is now logged.
* Removed flawed map randomizer for non-CTF games.
* The Mapqueue module now only works in deathmatch, as the altered map sequence
  would otherwise interfere with single-player gameplay.
* Added bot count to team scoring log message.
* Fixed Admin_Check() and Auth_Check() to fix the problem caused when the
  password sequences contained two or more identical password impulses, which
  would prevent passwords like "25, 69, 69" (which is a bad choice anyways)
  from working properly.
* A new AUTOEXEC.CFG has been added to the distribution. 4.07b3 evidently was
  released with a zero-length file.
* Removed Threewave CTF sounds/models from distribution, as they are included
  in the CTF PAKfiles anyway.
* Special thanks to Andreas Engvall for hunting down the following bugs:
  + Fixed "self-telefrag"; a telefrag always killed the teleporting player,
    rather than killing the target.
  + Updated runes to CTF 4.2 standards.
* Updated documentation.
* Fixed problem with team color locking that would prevent the change teams
  while dead feature from working properly.
* Fixed incorrect bot/player counts in team scoring.


Changes in version 4.07b3:

* Moved fraglimit and timelimit out of CheckRules() and into StartFrame().
  This saves a lot of calls to cvar(), allocating local variables, etc.
* Special thanks to Luke Pacholski for hunting down the following bugs:
    + Fixed problem with observer mode being lost after being killed.
    + Problem with Pentagram not working in a non-teamlocked game fixed.
    + Fixed broken ExitRules module behavior.  This module has been completely
      rewritten and the features changed.  See the EXITRLS.QH file for the
      new compile-time options for the module.
    + GotoNextMap() in CLIENT.QC now allows nextmap to be set to the "end" map
      in deathmatch if "fraglimit" or "timelimit" is set.  This is a
      compromise from the previous behavior of disallowing it entirely in
      deathmatch.  Note that this restriction doesn't apply to servers using
      the RandomLevel(), QueueLevel(), or CTFLevel() function calls; each of
      those functions handle restricting maps individually.
    + Fixed dropped backbacks not being handled properly (such as never
      containing a weapon).  Empty backbacks are no longer dropped.
* RandomLevel() will only select "dm" levels randomly if there is a way to
  exit via a fraglimit or timelimit, since these levels don't have exit
  entities.
* Fixed bug in AUTH.QC where an unautheticated player could reset the logoff
  timer by suiciding.  This would only reset it once if the KCKSCDR.QC module
  was enabled, but if it wasn't, an unauthorized player could hold a slot
  pretty much indefinitely.  (Not sure why someone would want to do that
  though, unless they were desperate to observe...)
* Fixed logging in KCKSCDR.QC module.
* Made error checking for delay triggers a little more robust.
* DecodeLevelParms() no longer will reset player flags on beginning the
  "start" or "hip1m1" maps during deathmatch.  Persistent player flags are now
  saved properly across episode (as opposed to level) changes.
* Changed DOORS.QC so that secret doors can be set to either never open or
  never open during CTF.  This allows servers running modified CTF maps to
  still play ordinary deathmatch.
* Made corrections to the documentation and source code comments.


Changes in version 4.07b2:

* USE_MODULE_KICKSTOOGE now also controls whether a "No bots please." appears
  in the centerprint()ed MOTD as well as in the system login banner.
* Corrected error in AUTOEXEC.CFG which made reference to expert rules setting
  for the teamplay variable.
* Minor change to help text and comments to clarify and/or correct typos.


Changes in version 4.07b1:

* Consolidated pre-release patches.
* Improved CTF Bot support.


Changes in version 4.07pr4:

* Fixed file comment headers for consistency.
* Added on/off status messages for chasecam and crosshair.
* Fixed some minor HTML errors in the documentation.
* Added code to remove shirt clone-/cross-dressing.  The new function assigns
  a (hopefully) unique shirt color to each player per team (skipping the other
  team's pants color).  This code is a lot more agressive in CTF about
  tracking already used shirt colors and should keep the shirt color
  consistent across levels.  Unfortunately, shirt colors can't be enforced in
  Quake except by stuffcmd()ing a color every frame.  This would be a Bad Idea
  performance-wise, so it only gets done once per respawn...
* Added two new control constants to TEAMPLAY.QH: TEAMCHANGE_FATAL and
  TEAMCHANGE_DEAD_OK to control whether or not a teamchange under static teams
  kills the player outright or just quietly resets the player's team color,
  and whether or not team changes are allowed while dead, respectively.
* Enhanced the information returned from TeamHelp() and CTFHelp().
* Removed "See this server's Web page for information." in the on-line help
  text - presumably, not all QkrMods servers would have Web pages.
* Moved exclusion test for WaterMove() into PlayerPreThink().  As a rule, I
  try to avoid calling functions before making an exclusion test.  Wastes
  time setting up the tables for a function call.
* Fixed bullets in SKINS.QC module help text.
* Fixed errors in some comment text.
* Added new semantics to deathmatch:

    deathmatch & 8                              // Halt on Intermission
                                                // only an Admin (or a new
                                                // player connecting) can
                                                // exit an Intermission

  This feature might be useful for tournaments and contests where the
  organizers may want to enforce a pause between levels.
* Players can no longer defer a teamchange self-frag using godmode or the
  Pentagram of Protection.
* Fixed obituary message logic for teamplay-related deaths.
* Moved most admin commands off into a two-part sequence.  Admin commands
  now need two impulses (the prefix has been aliased to '@').
* Fixed shirt routine increment shirt colors in funny ways.
* Authentication no longer requires maxplayers to be compilied in.
  NON_AUTH_CONNECTS has been replaced with AUTH_CONNECTS, which is equal to
  the number of connections you want to reserve for authenticated players.
  As before, authorized or administrator player entities are the only ones who
  take up AUTH_CONNECTS.
* Moved ExitRulesInit() into worldspawn() and got rid of a global that was
  used to keep track of whether the exit rules were set.
* Fixed problem with W_BestWeapon() almost always returning the axe.  Note
  that this function will never return the rocket launcher, since it's not
  appropriate for "close encounters".
* Fixed problem with some ranking events not being counted properly.
* Fixed some logic flaws in ClientObituary() and made the function "smarter",
  especially with respect to logging.
* Added a timestamp that shows the current game time to the logging.
* Added a player count to the team scoring stats logged at the end of the
  level.
* Moved minimum Hipnotic and Rogue Mission Packs into main code.
* CTF Expert Rules are now always on.
* Frags are now only awarded to "connected" players.  During CTF, team frags
  (such as those awarded after a flag capture) were being awarded to players
  still in the process of authenticating).
* Fixed problem with observer mode that occurs across levels.
* Added support for the the GLQuake EF_RED and EF_BLUE lighting effects.
* Added CTF Bot support.
* Moved BOT_WANTS_ITEM, and AIRG_EXCLUDEENTITY flags to the .spawnflags entity
  as they are more appropraite as item attributes.


Changes in version 4.07pr3:

* Internal version.


Changes in version 4.07pr2:

* Fixed half-damage rune playing wrong sound - twice!
* Added delay to ObserverSetPlayerPos() to keep the observer viewpoint from
  bouncing through the choices too fast.
* Fixed observer mode.
* Moved Hipnotic weapon code into HIPWEAP.QC file.
* Reorganized source tree - all source is in or below the ./SRC/ subdirectory.
* Added Rogue source.  Very few things work right now.
* Updated AUTOEXEC.CFG with descriptions of the new deathmatch and noexit
  options.
* Fixed SuperDamageSound() logic - the wrong sounds were being played if
  custom sounds weren't enabled.
* Fixed minor logic bugs in the CycleWeapon functions.
* Heavily revamped the way weapons and ammo get picked up.  Removed some
  spurious local variables from item pickup functions.
* Fixed noexit behavior during CTF.
* Fixed Thunderbolt behavior: do longer radius-kills players that aren't in
  the water, and does reduced radius damage when fired into the water from
  dry land.
* Spiffied up the menus and status displays.
* Corrected some typos.
* Fixed the runaway loop error traps in the CycleWeapon() functions, again.
* Fixed bug in "ctfstart" map.  The CTF2 trigger_voteexit calls the "ctf9"
  map, which doesn't exist.  The fixed entity file for ctfstart is in the
  \MAPS subdirectory.
* Fixed bug with implementation of Team_CheckTeamLock().  Players connecting
  during an intermission wouldn't get their color changed before the level
  changed and the flag indicating that the new team color needed to be set
  was cleared by virtue of the level changing.  TEAM_STUFF_COLOR changed to
  a persistent flag.
* Cleaned up MODULES.QH and made the impulses consistent with common usage.
* Greatly expanded team score logging to include CTF statistics.
* Fixed armor damage avoidance.  Armor was getting reduced even if the option
  was set.
* Regeneration Rune now pumps health to 200, instead of 100, to provide more
  balance against the other Runes.  (Thanks to Bryan Muthig for the
  suggestion.)
* The CTF Start Hub no longer sets up trigger_votexit in single-player mode.
* The option for selecting the AirFist as a item that can be picked up (and
  dropped) has been added to the AIRFIST.QH file.  Note, care should be used
  with the extended weapons due to the way the bitflags in .items have been
  set up, which sets up a number of "all or none" situations.
* Implemented visible target identification.
* Fixed timing problem with the status bar and the MOTD.
* Fixed ExitRules so that help is available for all noexit settings.
  ExitRules are overriden for CTF.


Changes in version 4.07pr1:

* Merged in CTF 4.0 features.
* Cleaned up the flag_touch messages to players.  Messages that are redundant
  (a capturing player doesn't need to know <foor> captured <bar> flag).
* Updated TSCORE module for nicer output during CTF games.
* Added chasecam.
* Removed TELEFRAG module and instead merged features into the CLIENT.QC file.
  Removed .staydeadtime entity field and move functionality to .pausetime
  field.
* Fixed teamplay health protect; health protection is no longer broken when
  not playing teamplay. (Thanks to Bryan Muthig for poiting this out.)
* A new rocket model with the EF_DIMLIGHT flag removed is now included in
  the distribution.  Using it can assist in reducing server lag by putting
  less stress on the lighting rendering.


Changes in version 3.06b1:

* Fixed and sped up the logic for the CTF expert rules.
* Implemented new player counting logic for the AUTH.QC module.
* Added the RMSTOOGE.QC module to remove players that appear to be StoogeBots.
* Fixed (again) the problem where auto-gibs didn't work (like those invoked
  during a noexit or when a player changes teams illeagaly) if self-health
  protect was on.  The T_Damage() procedure now assumes that damage equal to
  or in excess of 50,000 is an auto-gib.
* Fixed AirFist.  Some cheezy problem with the sprites running off the end.
* Set up AirFist to be slightly more discriminating.  By default, the AirFist
  will not move flags, keys, or sigils.  This can be changed by
  removing/adding the following lines from a item initialization function:

    // (Begin Modifications) added for AIRFIST.QC
    self.player_flags = AIRG_EXCLUDEENTITY;       // exclude from the effects of the AirFist
    // (End Modifications)

  Uncommenting the above line in startitem() will keep all items from being
  moved by the AirFist.
* Changed the applicable impulse commands to match the Threewave defaults.
  This should make it less confusing for those expecting a "real" CTF server,
  and reduce "The grapple/toss/flag status doesn't work!" complaints.
* Removed USE_MODULE_EXITRULES, and added new semantics to noexit:

    noexit == 1                                 // never allow exit
    noexit == 2                                 // allow exit only on map "start"
    noexit == 3                                 // use exitrules

* Merged in the Hipnotic v1.07 QuakeC from Scourge of Armagon; however, the
  code is not currently active and not much works.
* AirFist no longer requires a recharge time if the player is holding the
  Pentagram.  Toss distance is doubled when the player holds the Quad Damage.
* Added back in the Eject! module, since the compilier table space is no
  longer an issue.  Rewrote the toss dynamics to make the shells get thrown
  in a more pleasing fashion.
* AirFist is now only possessed when player is also carrying the rocket
  launcher - it only makes marginal sense, but we're out of IT_<*> bitflags.
* Changed the I_CODE<1...3> administration password constants to
  I_ADMIN<1...3> for clarity.
* Changes USE_MODULE_<*> semantics to indicate custom model useage for
  weapons.  Setting a weapon module to 1 indicates to use the module with
  standard graphics and sound substitutes.  Setting it to 2 indicates that
  custom models and sounds are to be used.  Currently the Eject! and Hipnotic
  modules require custom files and consequently only activate on a value of 2.
* Added new semantics to deathmatch:

    deathmatch & 1                              // Deathmatch 1
    deathmatch & 2                              // Deathmatch 2
    deathmatch & 4                              // Inventory Reset (restarts
                                                // the level with player stats
                                                // reset at the beginning of each
                                                // level)
* Added respawn protection module.
* Fixed handling of commands not appropriate to coop or deathmatch modes.
* Merged CheckDimLight() code into the CheckPowerups() function in the
  CLIENT.QC file to save a function call and a few processor cycles.


Changes in version 3.06b10:

* Fixed problem with the binding of IMPULSE 2 to the AirFist in the
  W_ChangeWeapon() function.
* Removed entity fields from AIRFIST.QH and moved functionality to existing
  fields.  AIRFIST.QC no longer uses a temporary entity to reset the flying
  flag.
* Excluded keys and sigils from the AirFist's effects (moving them off into
  an unaccessible area could trap players on a level).
* KNOWN BUG: Scrags tend to get trapped inside of surfaces when hit by the
  AirFist.
* HOOK.QC is now called GRAPPLE.QC.  The commands 'help-hook' and 'hook' have
  been renamed 'help-grapple' and 'grapple', respectively.
* Fix the appearance of non-authorized player observers so that they can no
  longer drift around.  Also, ObserverThink() is no longer called for this
  class of players (since we don't need to move them about).
* Flags now key touch behavior off of their own team entity field, rather than
  the touching player's.  Make behavior more predictable should the player not
  be on a CTF team (like the Administrator has the power to do).
* Fixed keys not being removed from player inventory after a flag drop.
* Extended behavior of TEAM_NO_HEALTH_PROTECT bitflag.  Now, when set while
  the TEAM_HEALTH_PROTECT flag is also set, self is now no longer protected
  from damage - effectively reinstating "self-damage" in a teamplay game.
  Also fixed the team damage avoidance code in the COMBAT.QC file.
* Fixed the self.player_flags_tmp & PLAYER_BECOME_OBSERVER flag handling.
* Removed the USE_MODULE_OBSERVER, since the observer function is tightly
  integrated with the authentication and admin modules.
* Change semantics of NON_AUTH_CONNECTS such that it is now
  = "maxplayers" - number of connections reserved for authorization.
* Fixed the calling logic for RandomLevel() in CLIENT.QC so that it does
  what it says.


Changes in version 3.06b9:

* Changed '.player_flags = 0' in ClientDisconnect() to help allieviate the
  "Sorry, your time has expired" messages.  This still seems to be a problem
  with the way the Quake core engine handles garbage collection of the
  discarded client entities.  The old entities seems to be being picked up
  during the establishment of new connections.
* Added the ability to drop runes.  Controlled by the 'RUNES_ALLOW_DROP'
  constant in the RUNES.QH file.
* Added the ability to drop the flag.  Controlled by the 'FLAG_ALLOW_DROP'
  constant in the FLAG.QH file.
* Moved some of the "smaller" functions around.
* Made the function names more consistent.
* Changed '.player_flag' to '.player_flags_tmp' to make naming more consistent
  with the variable's function.
* Added ability for admins to force a reassign for a player's teams.
* Added and documented AUTOEXEC.CFG file.
* Added random item placement.
* Ran into an odd inconsistency in Quake: "ERROR: System variables in
  PROGS.DAT have changed.  progsrc.h is out of date." while running a
  perfectly legitimate PROGS.DAT file.  It looks like a problem with the
  compiler, though I have been largely unsuccessful in narrowing down the
  cause...  Other problems include the compiler crashing, or Quake crashing
  with bogus errors (such as "bad string").
* Merged PLRFLAG.* and MODULES.* into the MODULES.* file.
* Significantly restructured the ADMIN.QH and ADMIN.QC files.
* Thanks to Tim Ingram for pointing out that teamplay 1 doesn't work as
  advertised: although you can't hurt fellow team members, you *can* hurt
  yourself.  This has been fixed.  Also fixed identical bug affecting armor
  protection.
* Removed Eject! module, as it really had very little use for a deathmatch
  server (although it was a really cool single-player addon) - the ejected
  shells in a heavy firefight could easily exceed the maximum entity count.
* Added online CTF help.
* Removed Soul Sphere module ("end" really isn't a popular deathmatch map).
* Added the Evolve team's AirFist; cleaned up orignal code and improved code
  speed and length.  Objects pushed by the AirFist now take ballistic flight
  (which allows entities to recoil from hitting a wall); fixed AirFist weapon
  selection code so that you can select the AirFist by toggling the shotgun
  even if the shotgun has no ammo; set up to use mundane models and sounds.


Changes in version 3.06b8:

* PlayerPreThink() and PlayerPostThink() were declaring unused local variables
  left over from the original id code - removed 'em.
* Added the Threewave CTF 3.2 rules to the code.
* Used the profiler to find some of the more excessive function calls and
  then subsequently rewrite the offensive code.
* The handling of TeamCaptureFlagThink() in the original CTF code
  created a huge CPU load by causing both flags to think every 0.1 ticks.  The
  flag code has been rewritten so that the flags "think" only while in motion.
  Extraneous local variables have been removed.
* Increased damage a hook hit does to match the axe damage.
* Seems no one bothered to find out what happens when you die while grappling.
  Fixed it so that the hook disengages when a player dies.
* Added highlighting to module titles in the help text.
* Changed the way the map modules get handled.  Added variable
  'mapque_map_select' to control which selection method is used.  Setting
  the console variable negative 'temp1' now disables random level selection.
* ModulesShowInfo() was lacking a call to TeamInfo().  Thanks to Joel Baxter
  for pointing this one out.
* Added GNU General Public License and updated attributions.
* Removed 'USE_MODULE_MESSAGES' constant, since 'messages_flag' handles the
  control of that feature anyways.
* Redid semantics of the 'teamplay' variable.
* Fixed teamplay death penalty.
* Added the 'runes-show' command to give info on who holds what rune.


Changes in version 3.06b7:

* Revamped completely the way that the various module flags get handled in
  CLIENT.QC, fixing some very nasty logic flaws.  I moved a great deal of
  logic that was formerly being handled in ClientConnect() into
  PutClientInServer().
* Changed the way that the 'PLAYER_IS_OBSERVER' flag gets handled to fix logic
  flaws and speed program execution.  Fixed some logic flaws affecting the
  Administrator and unauthorized players.
* Inverted logic on some IF-THEN statements to remove negation operation in
  test.
* The PLAYER_IS_CONNECTED flag now gets cleared in AdminCommands() and
  KickSuicider() when a player gets kicked.
* Team skins now work properly.
* Fixed some grammatical and usability problems with the online help.
* TeamCheckTeam() was counting "self" as part of the process of counting the
  number of players on a team ("self" isn't really assigned to a team at this
  point).  This caused the numbers of players on the Red team to be skewed
  (Red team gets players first, then Blue).  Also fixed problem where wrong
  entity was being checked ("self" instead of the local varaible "player").
* Added impulse and alias to switch directly to the hook.
* Fixed behavior of PreviousWeaponCommand().
* Simplified the RANK.QC module.  Ranks are no longer printed for
  "disconnected" players.
* Teamlock is now only checked after a player connects.


Changes in version 3.06b6:

* Fixed usage of RandomLevel() - I forgot to have it set nextmap.
* Removed Flag_Wave() functions, animations are now handled by the Theewave
  .MDL file.
* Attempted to make TeamCheckTeam() more robust by having it check to see if
  the player is connected - there is a big problem with player entites
  sticking around after the player has disconnected.  The PLAYER_IS_CONNECTED
  flag now gets cleared in ClientDisconnect().


Changes in version 3.06b5:

* Authorized players are now tracked separately from players that connected
  before the server filled up.
* Fixed Rank's output that caused long player names to insert a blank
  line in the output
* Fixed TScore.  It was iterating through teams 0-13, instead of 1-14 (.team
  is pants color + 1), which caused the Blue team score to be never
  recognized.
* Removed PlayerStatusPlayerIsBogusPlayer().
* Added flag, 'SECRET_NEVER' to allow secret doors to be locked shut by merely
  BSPing the map.  Locked doors don't bleed.
* Improved interactions between teamplay, Capture the Flag, and the
  Administrator - the admin now gets a proper status report when on neither
  team, cannot hold or pick up flags while on neither team, and drops the
  flag if he has changed teams.
* Initialize variables with a value, as appropriate.
* Added in new RandomLevel function.
* Reduced TTL for shotgun shells to 3 seconds.
* Earth Magic rune no longer protects armor.
* Fixed help text.
* Hook TTL (Time-To-Live) is now printed in hook help text.


Changes in version 3.06b4:

* Fixed bug in TeamExit() that caused team score to be output a bit wierd.


Changes in version 3.06b3:

* Added help text for Runes and hook.
* Admin is exempt from KickSuicider and colorlocked/static teams.
* Fixed Admin's kick command so that self is not asked to be kicked, reduced
  the function calls.
* Adding new telefrag code broke the capture spawn points - fixed.


Changes in version 3.06b2:

* The admin command to change timelimit actually was changing fraglimit
  because of a cut-and-paste mistake - fixed.
* Added aliases for 'toss-backback' and 'toss-weapon' so players don't have
  to know or remember a particular server's impulse settings.
* Added 'observer-toggle' command to turn on and off respawning as an
  observer when observer mode is enabled.
* Added newer version of telefrag protection code.
* Removed TEAM_FRAG_PENALTY, and removed bitflag, since "teamplay = 2" has a
  different meaning under id's rules.
* Added help text for Runes and hook.
* Admin is exempt from KickSuicider and colorlock/static teams.
* Fixed Admin's kick command so that self is not asked to be kicked, reduced
  the function calls.


Changes in version 3.06b1:

* Added EJECT.QC (shotgun shells) to codebase.
* Added Threewave's CTF rules to code.
* Fixed bug in TossWeapon() and TossBackpack() that caused the player's current
  weapon and ammunition setting to fail.
* Fixed bugs in Runes.
* Fixed bug in AUTH.QC that would cause the number of connected players to be
  improperly counted.
* Changed behavior of hook.
* MOTD now automatically ends if player presses fire, picks up a Rune, or
  picks up a flag.
* Unauthorized players now connect as ineffectual observers (cannot change
  view or respawn).  Once authorized they respawn as normal.
* Fixed major bugs in TEAMPLAY.QC that caused color locking and static teams
  to be improperly checked if both weren't turned on at the same time.
* Added PreviousWeaponCommand() to WEAPONS.QC, triggered on IMPULSE 13.
* Fixed handling of nextmap in CLIENT.QC and ADMIN.QC.
* Documentation will be distributed in HTML.
* PROGS.DAT files will no longer be distributed with QkrMods, as the QuakeC
  code needs to be customized for each site anyways...
* Chasecam setting get saved across levels now.


Changes in version 2.062:

* Fixed bug in PlayerPreThink() that prevents a player from jumping under
  certain conditions.


Changes in version 2.06:

* Added 1.06 QuakeC codebase.
