Annotation of quake2/3.17_changes.txt, revision 1.1.1.2

1.1.1.2 ! root        1: 
        !             2: Quake2 3.17 Upgrade
        !             3: -------------------
        !             4: 
        !             5: This upgrade addresses several features, including security, playability, and
        !             6: enhancements.
        !             7: 
1.1       root        8: Changes for 3.17
                      9: ----------------
                     10: 
1.1.1.2 ! root       11: - Fixed possible NAN resulting from handing zero to second arg of atan2
1.1       root       12: - Autodownloading is now DISABLED by DEFAULT.  It must be enabled by typing
                     13:   'allow_download 1' at the console, or using the download options menu
                     14:   in Multiplayer/PlayerSetup/Download Options
                     15: - Server demos now include a svc_serverdata block at the beginning with the
                     16:   attractloop byte set to '2' to indicate server demo (byte before gamedir
                     17:   in the svc_serverdata block).  This allows easy identification of
                     18:   serverrecorded demos (serverrecord demos are only for demo editors, they
                     19:   can not be played back in Quake2 without being first edited).
                     20: - New options for setting texture formats in ref_gl:
                     21:   gl_texturealphamode:  default, GL_RGBA, GL_RGBA8, GL_RGB5_A1, GL_RGBA4, 
                     22:     GL_RGBA2
                     23:   gl_texturesolidmode:  default, GL_RGB, GL_RGB8, GL_RGB5, GL_RGB4,
                     24:     GL_R3_G3_B2, GL_RGB2 (SGI only)
                     25: - Player movement during Air acceleration changed to reflect more real-world 
                     26:   physics while airborne.
                     27: - Fixed a bug when riding trains that caused drift in a southwest direction
                     28:   (Thanks to Jim Dose at Ritual for pointing this one out).
                     29: - Linux:  Now correctly reports out of memory rather than segfaulting (mmap
                     30:   returns (void *)-1 and not NULL on error).
                     31: - Fixed autodownloading to not create paths for files that can't be downloaded
                     32:   (this was creating many empty directories in baseq2/players).
                     33: - When downloading a file from a server that doesn't have it, the message is
                     34:   now "Server does not have this file" rather than "File not found."
                     35: - Fixed some coop keys in 3.15 weren't being handled correctly (pyramid key).
                     36: - Highbits are now stripped from console when using condump
                     37: - Restored support for gl_modulate in multiplayer play
                     38: - Fixed it so that players with a model/skin you don't have aren't checked for 
                     39:   on disk more than once.
                     40: - Fixed it so sounds played for PPMs that default to male are only checked
                     41:   on disk once.
                     42: - Byte ordering/portability fixes in cinematics, PCX and other file handling.
                     43: - Client state during static image cinematic (PCX image) so that client can 
                     44:   continue to next unit.
                     45: - Fixed it so that dedicated coop servers no longer get stuck at victory.pcx,
                     46:   if a server is in coop mode, hitting a button at the victory.pcx screen
                     47:   while cause the server to restart at base1
                     48: - Fixed infinite grenade bug
                     49: - Fixed autodownloading to actually download sounds and console pics
                     50: - Fixed autodownload to not create empty directories for files not on
                     51:   the server.
                     52: - Added customized client downloading.  cvars are the same as the server side:
                     53:     allow_download - global download on/off
                     54:     allow_download_players - players download on/off
                     55:     allow_download_models - models download on/off
                     56:     allow_download_sounds - sounds download on/off
                     57:     allow_download_maps - maps download on/off
                     58:   They can also be (more easily) set with a new Download Options menu 
                     59:   accessible in Multiplayer/Player Setup/Download Options
                     60: - Changed checksumming code to be more portable and faster.
                     61:   The checksum in 3.15 was seriously broken.
                     62:   This change makes 3.17 incompatible with previous servers.
                     63: - Fixed player 'warping' present in 3.15 (this was an artifact of the
                     64:   hyperblaster optimizations).
                     65: - Fixed the autodownload in 3.15 so that stuff like skins for models are
                     66:   downloaded as well as pics.
                     67: 
                     68: Changes for 3.15
                     69: ----------------
                     70: 
                     71: - Added visible weapons support.  This is precached with a special symbol, i.e.
                     72:   gi.modelindex("#w_shotgun.md2") which causes the client to autobind it to
                     73:   the players current weapon model.  Plug in player models can optionally 
                     74:   support the visible weapons.  Any that do not support it will use their
                     75:   default weapon.md2 files automatically.
                     76:   Visible weapons files for plug in player models are not downloaded
                     77:   automatically--only the default weapon.md2 (and skin) is.
                     78:   The Visible weapon models themselves are not included.  They can be
                     79:   downloaded from http://www.telefragged.com/vwep/
                     80: - Rewrote the some of the net code to use optimized network packets for 
                     81:   projectiles.  This is transparent to the game code, but improves netplay
                     82:   substancially.  The hyperblaster doesn't flood modem players anymore.
                     83: - Rewrote the packet checksum code to be more portable and defeat proxy bots
                     84:   yet again.
                     85: - Autodownload support is in.  The following items will be automatcally
                     86:   downloaded as needed:
                     87:     - world map (and textures)
                     88:     - models
                     89:     - sounds (precached ones)
                     90:     - plug in player model, skin, skin_i and weapon.md2
                     91:   downloads go to a temp file (maps/blah.tmp for example) and get renamed
                     92:   when done.  autoresume is supported (if you lose connect during the
                     93:   download, just reconnect and resume).  Server has fine control over
                     94:   the downloads with the following new cvars:
                     95:     allow_download - global download on/off
                     96:     allow_download_players - players download on/off
                     97:     allow_download_models - models download on/off
                     98:     allow_download_sounds - sounds download on/off
                     99:     allow_download_maps - maps download on/off
                    100:   maps that are in pak files will _not_ autodownload from the server, this
                    101:   is for copyright considerations.
                    102:   The QuakeWorld bug of the server map changing while download a map has
                    103:   been fixed.
                    104: - New option in the Multiplayer/Player Setup menu for setting your connection
                    105:   speed.  This sets a default rate for the player and can improve net
                    106:   performance for modem connections.
                    107: - Rewrote some of the save game code to make it more portable.  I wanted to
                    108:   completely rewrite the entire save game system and make it portable across
                    109:   versions and operating systems, but this would require an enormous amount
                    110:   of work.
                    111: - Added another 512 configure strings for general usage for mod makers.
                    112:   This gives lots of room for general string displays on the HUD and in other
                    113:   data.
                    114: - Player movement code re-written to be similiar to that of NetQuake and
                    115:   later versions of QuakeWorld.  Player has more control in the air and
                    116:   gets a boost in vertical speed when jumping off the top of ramps.
                    117: - Fixed up serverrecord so that it works correctly with the later versions.
                    118:   serverrecord lets the server do a recording of the current game that
                    119:   demo editors can use to make demos from any PVS in the level.  Server
                    120:   recorded demos are BIG.  Will look at using delta compression in them
                    121:   to cut down the size.
                    122: - Copy protection CD check has been removed.
                    123: - Quake2 3.15 has changed the protocol (so old servers will not run) but
                    124:   all existing game dlls can run on the new version (albiet without the
                    125:   new features such as visible weapons).
                    126: - Added flood protection.  Controlled from the following cvars:
                    127:    flood_msgs - maximum number of messages allowed in the time period
                    128:                 specified by flood_persecond
                    129:    flood_persecond - time period that a maximum of flood_msgs messages are
                    130:                      permitted
                    131:    flood_waitdelay - amount of time a client gets muzzled for flooding
                    132:   (gamex86 DLL specific)
                    133: - fixed it so blaster/hyperblaster shots aren't treated as solid when
                    134:   predicting--you aren't clipped against them now.
                    135:   (gamex86 DLL specific, the SVF_DEADMONSTER flag is set on projectiles)
                    136: - gender support is now in.  The userinfo cvar "gender" can be set to
                    137:   male/female/none (none for neutral messages).  This doesn't affect sounds
                    138:   but does affect death messages in the game.  The models male and cyborg
                    139:   default to gender male, and female and crackhor default to female.
                    140:   Everything else defaults to none, but you can set it by typing
                    141:   "gender male" or "gender female" as appropriate.
                    142: - IP banning support ala QW.  It's built into the game dll as 'sv' console
                    143:   commands.  This list is:
                    144:     sv addip <ip-mask>  - adds an ip to the ban list
                    145:        sv listip <ip-mask> - removes an ip from the ban list
                    146:        sv writeip - writes the ban list to <gamedir>/listip.cfg.  You can
                    147:          exec this on a server load to load the list on subsequent server runs.
                    148:          like so:  quake2 +set dedicated 1 +exec listip.cfg
                    149:        sv removeip <ip-mask> - remove an ip from the list
                    150:   the ip list is a simple mask system.  Adding 192.168 to the list
                    151:   would block out everyone in the 192.168.*.* net block.  You get 1024 bans,
                    152:   if you need more, recompile the game dll. :)
                    153:   A new cvar is also supported called 'filterban'.  It defaults to one which
                    154:   means "allow everyone to connect _except_ those matching in the ban list."
                    155:   If you set it to zero, the meaning reverses like so, "don't allow anyone
                    156:   to connect unless they are in the list."
                    157:   (gamex86 DLL specific)
                    158: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.