- Fix problem where users could change values of CVAR_INIT variables after the call to Cvar_Get() via Com_StartupVariable()
- Move sound shutdown after client shutdown so VMs don't hold invalid sound handles in memory
* differing screen resolutions and network settings are now honoured when changing fs_game
* Fix hunk memory leak on game_restart
* Move cls.state and cls.servername to clc so connection state is fully preserved over game_restart
* Revert back to previous fs_game after disconnecting from a server that triggered a game_restart
* Fix error dialog popping up after every game_restart if an error happened previously (reported by Ensiform)
- Fixed that not all commands added by CL_Init() would be removed by CL_Shutdown()
- Make VM loading more robust, change loading order: when vm_* == 0 first try loading DLL, then QVM in *each* search directory/path
- Fix FS_FileForHandle that would return a FILE pointer to invalid file handle 0
- Retains full compatibility to the old but unsecure protocol between clients and servers
- Harden the connection process against DoS attacks, possibly connected to UDP spoofing
* com_standalone now read-only
* add new cvars com_basegame, com_homepath
* standalone now automatically detected when com_basegame is set to something different than baseq3 and no id pak pk3s are found
* This fixes https://bugzilla.icculus.org/show_bug.cgi?id=4699
- Replace a few hardcoded string literals with macros
- Add checks for Team Arena PK3s to FS_CheckPak0()
- Overhaul of the new banning functions:
* basic check for redundant bans/exceptions
* introduction of sv_banFile to make it possible to configure the file where to read bans and exceptions from
* bans can now be deleted by giving address ranges, too.
- Clean up a few other ipv6 issues like removing the seemingly unnecessary MacOSX workaround.
- Bring ipv6 master server up to speed for dpmaster
Thanks go out to Mathieu Olivier for this work.
Previously, a legacy client wouldn't get a VoIP packet, but if they did,
they'd panic and disconnect. Now they ignore them and continue on. This also
gives us the framework to add other features legacy clients can ignore.
Oh, this also has the benefit of allowing us to store incoming VoIP for
playback in recorded demos. They'll play the chatter on VoIP clients, and
be ignored on legacy ones. Huge win.
autocompleting -- you're still all WRONG :p
* Fix bugette where the completee didn't get its case copied from
the completed token
* Add functionality to autocomplete key names
* Don't build client command completion on the dedicated server
1) NET_Sleep() no longer watches for input, Sys_Sleep() added for waiting
on input.
2) Added "CtrlHandler" for trapping Ctrl-C and other quit methods not
handled by signals on windows
3) Added history support
4) Added tab completion
5) Removed automatic cursor/scroll adjustment (too problematic)
6) Enable mousewheel scrolling
7) Stop using the InputBuffer for editing
This seems to work pretty well now, but I jumped the gun on a previous
commit message by saying you can scroll now without locking up your server.
That was only true up until the point that a server tried to print to
the console, at that point it will hang until you release the scroll bar :(
It may be possible to get around this by using a seperate thread for
console output, but that's a whole new can of worms.
+ Move win32/win_net.c to qcommon/net_ip.c and make it portable
+ Remove unix_net.c, but incorporate its revision history into win_net.c
+ Remove all IPX support -- this remains compatible with existing mods
+ This change also inadvertently gets us SOCKS support on non-Windows
platforms
- No longer does weird stuff like move the cursor inappropriately
- Autocomplete works with compound commands
- Special autocomplete on some commands e.g. \map, \demo
- Removed various hacks used to counter the original autocomplete code
- Uses motion jpeg codec by default
- Use cl_avidemo to set a framerate
- \video [filename] to start capture
- \stopvideo to stop capture
- Audio capture is a bit ropey
* Remove -gfull from linux section in Makefile -- it's darwin only
* Cast away some warnings that surfaced from using "new" AL headers
* Various whitespace and consistency fixes
* Updated TODO
* Moved ChangeLog to root
* Updated ChangeLog
* s/Foobar/Quake III Arena Source Code/
* Biggest patch EVAR. I wonder how many mail boxes this will fill...