- 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