mirror of
https://git.code.sf.net/p/quake/quake2forge
synced 2024-11-14 00:40:39 +00:00
55cf61d130
install instructions in it, and tying it to a particular version isn't very useful - Cleaned up the *changes* files, removed the duplicate 3.15 changes from files, all of them now live in changes.txt and changes-ctf.txt
379 lines
21 KiB
Text
379 lines
21 KiB
Text
12-22-2001, for source release under GPL licensing:
|
|
- Tweaked linux/Makefile for easier build
|
|
added linux/README-3.21-RELEASE
|
|
|
|
Changes for 3.21
|
|
----------------
|
|
|
|
- Support for GL_ARB_multitexture added. This supports the new multitexture
|
|
extensions and deprecates GL_SGIS_multitexture.
|
|
- Linux OpenGL X11 handling completely rewritten. Support for XF86DGA Mouse
|
|
and fullscreen resolution support added. Please see the README file for
|
|
Linux about the new features of this handling.
|
|
|
|
Changes for 3.20
|
|
----------------
|
|
|
|
- Fixed a network problem where and oversize packet could cause a client
|
|
crash.
|
|
- Fixed the long standing Quake2 bug of where you would occasionally spawn
|
|
or teleport and find yourself either looking straight at the ceiling or
|
|
down at the floor.
|
|
- Changed it so that the function keys (F1 through F12) now get executed when
|
|
depressed during demo playback or attract modes. This allows you to take
|
|
screen shots (F12) during demos and other features. An example of other
|
|
features is a fast forward for demos:
|
|
alias +ff "timedemo 1"
|
|
alias -ff "timedemo 0"
|
|
bind f7 +ff
|
|
This binding will cause the current demo playing to zip into timedemo mode
|
|
while F7 is depressed, effectively acting like a fast forward key.
|
|
- Wrong packaging of 3.19 patch. The Rogue CD has a 45k pak2 and vwep .md2
|
|
files in baseq2/players, but the 3.19 x86 patch we released has a 2.7MB
|
|
pak2. 3.20 has a 45k pak2 and the vwep models go in baseq2/players.
|
|
- VWep code has been added to Xatrix dll, new VWep models for the Xatrix
|
|
specific weapons (Ion Ripper and Phalanx) have been included.
|
|
- Rogue Linux game library was wrong version and had some unlinked symbols,
|
|
this has been corrected.
|
|
- Occasional error of: "D_SCAlloc: bad cache width 16384" in software renderer.
|
|
This had to do with surfaces to SURF_FLOWING and were transparent. This
|
|
has been fixed in the refs now so flowing transparent textures now works.
|
|
- [Unix] Net_ErrorToString calls were wrong, was using %i and not %s resulting
|
|
in random numbers being printed for error messages.
|
|
- Color shell mixing restored to the same blends as previous versions. This
|
|
was changed in 3.19 for the new color shells the Rogue mission pack
|
|
introduced.
|
|
- Fixed a possible server crash in the new "playerlist" command.
|
|
- Fixed a case where a person joining a server could be invisible (left over
|
|
setting of SVF_NOCLIENT from previous spectator).
|
|
- Invalid pak files no longer cause a crash and are just ignored
|
|
- Fixed a 3.19 bug where linked models (modelindex2) who's modelindex was
|
|
greater than 0x7f causes the wrong model to be drawn (in some cases, the
|
|
world would be drawn twice). This was the cause of many of the "extreme"
|
|
frame lag people were seeing in 3.19 on servers using old-style VWep code.
|
|
- Linux: Complete rewrite of the OpenGL library handling. This was needed
|
|
to cleanly integrate OpenGL extension checking. Linux now supports
|
|
extensions such as multitexture and better dynamic loading of libraries.
|
|
It's cleaner now in that you don't have to preload hack stuff to use the
|
|
3DFX Miniport rather than libMesa3D. The Linux version now uses the
|
|
gl_driver to specify the 3D library to dynamically load. For example, to
|
|
use the lib3dfxgl.so miniport, one would now use:
|
|
./quake2 +set vid_ref gl +set gl_driver lib3dfxgl.so
|
|
This change fixes several bugs that were apparant in the older method, such
|
|
as a segfault occasionally when connecting to a server with a different game
|
|
directory.
|
|
The vid menu in the Linux version has been changed to reflect the new
|
|
options, the current list of supported video drivers are now: software,
|
|
software X11, Mesa 3-D 3DFX, 3DFXGL Miniport, OpenGL glX, and Mesa 3-D glX,
|
|
- Railgun shots now go through gibs as well as other players.
|
|
- New server variable, "needpass" that can been seen with server browser
|
|
tools such as GameSpy. This variable indicates whether a password or
|
|
spectator password is needed to get onto a server. Bit 0 is password and
|
|
bit 1 is spectator password.
|
|
- Quake2 will no longer look for gamex86.dll in the main Quake2 directory.
|
|
It will always load out of the game directory first.
|
|
- Players joining a server during an intermission are now moved to the
|
|
intermission position.
|
|
- The "logfile" cvar has been extended with the following values:
|
|
0 - don't log (default)
|
|
1 - overwrite qconsole.log and use buffered writes
|
|
2 - overwrite qconsole.log and flush write every line
|
|
3 - append to existing qconsole.log and flush write every line
|
|
- Several minor bug fixes to the Rogue mission pack gamex86.dll
|
|
- Linux: Rebuild of Rogue mission pack shared library to correct some
|
|
dynamic symbol errors (is NAN errors).
|
|
|
|
Changes for 3.19
|
|
----------------
|
|
|
|
- Updated VWEP models
|
|
- Fixed sound config strings getting out of sync on loadgame. This caused
|
|
the wrong sound to be played.
|
|
- Fixed a bug in ref_soft that caused the menu system's bottom of screen
|
|
help text not to be displayed
|
|
- Added a missing Rogue DM option
|
|
- "Water surfing" that was present in 3.17 has been fixed (holding jump while
|
|
on the surface of water let you swim at full speed).
|
|
- Environment maps (env) are now autodownloaded (if allow_download_maps is set).
|
|
- Spectator support added. A new cvar is built into the client, "spectator"
|
|
Setting it to value other than "0" will allow you join a game as a spectator.
|
|
While in spectator mode, you can press the attack button to enter a chasecam
|
|
mode and follow other players. Using the inventory keys (by default the
|
|
left and right square brackets) you can switch between players in the game
|
|
while using the chasecam.
|
|
You may enter and leave spectator mode while connected. Doing so resets
|
|
your score to zero.
|
|
***The new spectator support requires a new game.dll and may not work for
|
|
user mods until they update their code. The default game.dll that comes
|
|
with 3.19 supports chasecam as well as the new included Xatrix game.dll.
|
|
- Fixed it so that when a model defaults to male/grunt (don't have the
|
|
necessary model or skin for the player), VWep support is still enabled.
|
|
- New console command for players, "playerlist". This will cause the server
|
|
to give you a text list of the players on the server, including their
|
|
connect time, score, ping and spectator status. This is handy if not
|
|
everyone fits on the scoreboard on busy servers.
|
|
- New cvar for the game.dll: spectator_password. If set to a value (other
|
|
than "none"), users must set their spectator variable to this value in order
|
|
to join the server as a spectator. This password is independant of the
|
|
normal user password.
|
|
- New cvar for the game.dll: maxspectators (defaults to 4). This value is
|
|
not seperate from maxclients (a spectator is still a client).
|
|
- New cvar for the game.dll: sv_maplist. This can be set to a list of map
|
|
names that the server should autorotate through, rather than using the
|
|
nextmap set in the actual map files themselves.
|
|
For example: set sv_maplist "base1 q2dm1 q2dm3 fact3" will cause the server
|
|
to rotate through those maps.
|
|
***This requires a game.dll update and will not work with user mods until
|
|
they update their code.
|
|
- A new facility has been added to ClientConnect() in the game.dll to allow
|
|
the game.dll to pass a message back to the user for the reason of disallowing
|
|
a connection. It is done by setting a key of "rejmsg" in the passed userinfo.
|
|
For example:
|
|
Info_SetValueforKey(userinfo, "rejmsg", "Password required or incorrect.");
|
|
- The server cvar, password, may be set to "none" to clear the password. This
|
|
is needed because rcon can not set a blank password.
|
|
- New server cvar: sv_airaccelerate. This controls the optional air
|
|
acceleration facility. The default value is 0, which disables air control.
|
|
The usual value to replicate the air control seen in the original Quake and
|
|
later versions of Quakeworld is 10. 10 allows for much more
|
|
air control (as was seen in 3.15). This value is ignored in single player
|
|
and coop.
|
|
- Fixed NoSuchFrame/BAD_MODELTYPE errors when doing a vid_restart while
|
|
connected.
|
|
- NoSuchFrame errors now include model name to assist in debugging user mods.
|
|
- Fixed the remote status query response (ServerInfo) to not include error
|
|
messages and be more consistent.
|
|
|
|
Changes for 3.18
|
|
----------------
|
|
|
|
- "Water surfing" that was present in 3.17 has been fixed (holding jump while
|
|
on the surface of water let you swim at full speed).
|
|
- Environment maps (env) are now autodownloaded (if allow_download_maps is set).
|
|
- Spectator support added. A new cvar is built into the client, "spectator"
|
|
Setting it to value other than "0" will allow you join a game as a spectator.
|
|
While in spectator mode, you can press the attack button to enter a chasecam
|
|
mode and follow other players. Using the inventory keys (by default the
|
|
left and right square brackets) you can switch between players in the game
|
|
while using the chasecam.
|
|
You may enter and leave spectator mode while connected. Doing so resets
|
|
your score to zero.
|
|
***The new spectator support requires a new game.dll and may not work for
|
|
user mods until they update their code. The default game.dll that comes
|
|
with 3.18 supports chasecam as well as the new included Xatrix game.dll.
|
|
- Fixed it so that when a model defaults to male/grunt (don't have the
|
|
necessary model or skin for the player), VWep support is still enabled.
|
|
- New console command for players, "playerlist". This will cause the server
|
|
to give you a text list of the players on the server, including their
|
|
connect time, score, ping and spectator status. This is handy if not
|
|
everyone fits on the scoreboard on busy servers.
|
|
- New cvar for the game.dll: spectator_password. If set to a value (other
|
|
than "none"), users must set their spectator variable to this value in order
|
|
to join the server as a spectator. This password is independant of the
|
|
normal user password.
|
|
- New cvar for the game.dll: maxspectators (defaults to 4). This value is
|
|
not seperate from maxclients (a spectator is still a client).
|
|
- New cvar for the game.dll: sv_maplist. This can be set to a list of map
|
|
names that the server should autorotate through, rather than using the
|
|
nextmap set in the actual map files themselves.
|
|
For example: set sv_maplist "base1 q2dm1 q2dm3 fact3" will cause the server
|
|
to rotate through those maps.
|
|
***This requires a game.dll update and will not work with user mods until
|
|
they update their code.
|
|
- A new facility has been added to ClientConnect() in the game.dll to allow
|
|
the game.dll to pass a message back to the user for the reason of disallowing
|
|
a connection. It is done by setting a key of "rejmsg" in the passed userinfo.
|
|
For example:
|
|
Info_SetValueforKey(userinfo, "rejmsg", "Password required or incorrect.");
|
|
- The server cvar, password, may be set to "none" to clear the password. This
|
|
is needed because rcon can not set a blank password.
|
|
- New server cvar: sv_airaccelerate. This controls the optional air
|
|
acceleration facility. The default value is 0, which disables air control.
|
|
The usual value to replicate the air control seen in the original Quake and
|
|
later versions of Quakeworld is 10. 10 allows for much more
|
|
air control (as was seen in 3.15). This value is ignored in single player
|
|
and coop.
|
|
- Fixed NoSuchFrame/BAD_MODELTYPE errors when doing a vid_restart while
|
|
connected.
|
|
- NoSuchFrame errors now include model name to assist in debugging user mods.
|
|
- Fixed the remote status query response (ServerInfo) to not include error
|
|
messages and be more consistent.
|
|
|
|
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.16
|
|
----------------
|
|
|
|
- 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.16 incompatible with previous servers.
|
|
- Fixed it so sounds played for PPMs that default to male are only checked
|
|
on disk once.
|
|
- 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/
|
|
- New cvar cl_vwep controls whether visible weapons is enabled on the client.
|
|
If you turn it off, the visible weapons models are not loaded. This can
|
|
offer a speed up on slow or memory starved machines.
|
|
- 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)
|