ref: b10d6e123329a38a29030744bf232ac03387cee5
dir: /3.15_Changes.txt/
Quake2 3.15 Upgrade ------------------- This upgrade addresses several features, including security, playability, and enhancements. A new map is also included (in baseq2\pak3.pak) called match1, Reckless Abandon. This map is designed for one on one deathmatch play. It was built by American McGee and Dave "Zoid" Kirsch. This patch replaces the following files: quake2.exe 3dfxgl.dll pvrgl.dll ref_gl.dll ref_soft.dll baseq2\gamex86.dll Changes ------- - Added visible weapons support. This is precached with a special symbol, i.e. gi.modelindex("#w_shotgun.md2") which causes the client to autobind it to the players current weapon model. Plug in player models can optionally support the visible weapons. Any that do not support it will use their default weapon.md2 files automatically. Visible weapons files for plug in player models are not downloaded automatically--only the default weapon.md2 (and skin) is. The Visible weapon models themselves are not included. They can be downloaded from http://www.telefragged.com/vwep/ - Rewrote the some of the net code to use optimized network packets for projectiles. This is transparent to the game code, but improves netplay substancially. The hyperblaster doesn't flood modem players anymore. - Rewrote the packet checksum code to be more portable and defeat proxy bots yet again. - Autodownload support is in. The following items will be automatcally downloaded as needed: - world map (and textures) - models - sounds (precached ones) - plug in player model, skin, skin_i and weapon.md2 downloads go to a temp file (maps/blah.tmp for example) and get renamed when done. autoresume is supported (if you lose connect during the download, just reconnect and resume). Server has fine control over the downloads with the following new cvars: allow_download - global download on/off allow_download_players - players download on/off allow_download_models - models download on/off allow_download_sounds - sounds download on/off allow_download_maps - maps download on/off maps that are in pak files will _not_ autodownload from the server, this is for copyright considerations. The QuakeWorld bug of the server map changing while download a map has been fixed. - New option in the Multiplayer/Player Setup menu for setting your connection speed. This sets a default rate for the player and can improve net performance for modem connections. - Rewrote some of the save game code to make it more portable. I wanted to completely rewrite the entire save game system and make it portable across versions and operating systems, but this would require an enormous amount of work. - Added another 512 configure strings for general usage for mod makers. This gives lots of room for general string displays on the HUD and in other data. - Player movement code re-written to be similiar to that of NetQuake and later versions of QuakeWorld. Player has more control in the air and gets a boost in vertical speed when jumping off the top of ramps. - Fixed up serverrecord so that it works correctly with the later versions. serverrecord lets the server do a recording of the current game that demo editors can use to make demos from any PVS in the level. Server recorded demos are BIG. Will look at using delta compression in them to cut down the size. - Copy protection CD check has been removed. - Quake2 3.15 has changed the protocol (so old servers will not run) but all existing game dlls can run on the new version (albiet without the new features such as visible weapons). - Added flood protection. Controlled from the following cvars: flood_msgs - maximum number of messages allowed in the time period specified by flood_persecond flood_persecond - time period that a maximum of flood_msgs messages are permitted flood_waitdelay - amount of time a client gets muzzled for flooding - fixed it so blaster/hyperblaster shots aren't treated as solid when predicting--you aren't clipped against them now. - gender support is now in. The userinfo cvar "gender" can be set to male/female/none (none for neutral messages). This doesn't affect sounds but does affect death messages in the game. The models male and cyborg default to gender male, and female and crackhor default to female. Everything else defaults to none, but you can set it by typing "gender male" or "gender female" as appropriate. - IP banning support ala QW. It's built into the game dll as 'sv' console commands. This list is: sv addip <ip-mask> - adds an ip to the ban list sv listip <ip-mask> - removes an ip from the ban list sv writeip - writes the ban list to <gamedir>/listip.cfg. You can exec this on a server load to load the list on subsequent server runs. like so: quake2 +set dedicated 1 +exec listip.cfg sv removeip <ip-mask> - remove an ip from the list the ip list is a simple mask system. Adding 192.168 to the list would block out everyone in the 192.168.*.* net block. You get 1024 bans, if you need more, recompile the game dll. :) A new cvar is also supported called 'filterban'. It defaults to one which means "allow everyone to connect _except_ those matching in the ban list." If you set it to zero, the meaning reverses like so, "don't allow anyone to connect unless they are in the list."