mirror of
https://git.code.sf.net/p/quake/quake2forge
synced 2024-11-10 15:22:16 +00:00
158 lines
8.4 KiB
Text
158 lines
8.4 KiB
Text
|
|
Quake2 3.17 Upgrade
|
|
-------------------
|
|
|
|
This upgrade addresses several features, including security, playability, and
|
|
enhancements.
|
|
|
|
Changes for 3.17
|
|
----------------
|
|
|
|
- Fixed possible NAN resulting from handing zero to second arg of atan2
|
|
- Autodownloading is now DISABLED by DEFAULT. It must be enabled by typing
|
|
'allow_download 1' at the console, or using the download options menu
|
|
in Multiplayer/PlayerSetup/Download Options
|
|
- Server demos now include a svc_serverdata block at the beginning with the
|
|
attractloop byte set to '2' to indicate server demo (byte before gamedir
|
|
in the svc_serverdata block). This allows easy identification of
|
|
serverrecorded demos (serverrecord demos are only for demo editors, they
|
|
can not be played back in Quake2 without being first edited).
|
|
- New options for setting texture formats in ref_gl:
|
|
gl_texturealphamode: default, GL_RGBA, GL_RGBA8, GL_RGB5_A1, GL_RGBA4,
|
|
GL_RGBA2
|
|
gl_texturesolidmode: default, GL_RGB, GL_RGB8, GL_RGB5, GL_RGB4,
|
|
GL_R3_G3_B2, GL_RGB2 (SGI only)
|
|
- Player movement during Air acceleration changed to reflect more real-world
|
|
physics while airborne.
|
|
- Fixed a bug when riding trains that caused drift in a southwest direction
|
|
(Thanks to Jim Dose at Ritual for pointing this one out).
|
|
- Linux: Now correctly reports out of memory rather than segfaulting (mmap
|
|
returns (void *)-1 and not NULL on error).
|
|
- Fixed autodownloading to not create paths for files that can't be downloaded
|
|
(this was creating many empty directories in baseq2/players).
|
|
- When downloading a file from a server that doesn't have it, the message is
|
|
now "Server does not have this file" rather than "File not found."
|
|
- Fixed some coop keys in 3.15 weren't being handled correctly (pyramid key).
|
|
- Highbits are now stripped from console when using condump
|
|
- Restored support for gl_modulate in multiplayer play
|
|
- Fixed it so that players with a model/skin you don't have aren't checked for
|
|
on disk more than once.
|
|
- Fixed it so sounds played for PPMs that default to male are only checked
|
|
on disk once.
|
|
- Byte ordering/portability fixes in cinematics, PCX and other file handling.
|
|
- Client state during static image cinematic (PCX image) so that client can
|
|
continue to next unit.
|
|
- Fixed it so that dedicated coop servers no longer get stuck at victory.pcx,
|
|
if a server is in coop mode, hitting a button at the victory.pcx screen
|
|
while cause the server to restart at base1
|
|
- Fixed infinite grenade bug
|
|
- Fixed autodownloading to actually download sounds and console pics
|
|
- Fixed autodownload to not create empty directories for files not on
|
|
the server.
|
|
- Added customized client downloading. cvars are the same as the server side:
|
|
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
|
|
They can also be (more easily) set with a new Download Options menu
|
|
accessible in Multiplayer/Player Setup/Download Options
|
|
- Changed checksumming code to be more portable and faster.
|
|
The checksum in 3.15 was seriously broken.
|
|
This change makes 3.17 incompatible with previous servers.
|
|
- Fixed player 'warping' present in 3.15 (this was an artifact of the
|
|
hyperblaster optimizations).
|
|
- Fixed the autodownload in 3.15 so that stuff like skins for models are
|
|
downloaded as well as pics.
|
|
|
|
Changes for 3.15
|
|
----------------
|
|
|
|
- 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
|
|
(gamex86 DLL specific)
|
|
- fixed it so blaster/hyperblaster shots aren't treated as solid when
|
|
predicting--you aren't clipped against them now.
|
|
(gamex86 DLL specific, the SVF_DEADMONSTER flag is set on projectiles)
|
|
- 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."
|
|
(gamex86 DLL specific)
|
|
|