Commit graph

67 commits

Author SHA1 Message Date
Zack Middleton
69f9c7d692 Merge branch 'master' into game/eliteforce
Conflicts:
	Makefile
	code/qcommon/q_shared.h
2016-06-17 02:22:52 -05:00
Zack Middleton
615b73288f Use Opus for VoIP
Server/client VoIP protocol is handled by adding new cvars
cl_voipProtocol and sv_voipProtocol, sv_voip and cl_voip
are used to auto set/clear them. All users need to touch
are cl/sv_voip as 0 or 1 just like before.

Old Speex VoIP packets in demos are skipped.
New VoIP packets are skipped in demos if sv_voipProtocol
doesn't match cl_voipProtocol.

Notable difference between usage of speex and opus codecs,
when using Speex client would be sent 80ms at a time.
Using Opus, 60ms is sent at a time. This was changed because
the Opus codec supports encoding up to 60ms at a time.
(Simpler to send only one codec frame in a packet.)
2016-01-06 05:19:10 -06:00
Zack Middleton
b7cd6b6088 Elite Force white space clean up
Also fixed some code to match ioq3 (a few comments, a printf, ..).
2014-10-29 10:13:12 -05:00
Zack Middleton
c6e5f060fe Port Elite Force iorev2231 patch to latest ioq3
Port Thilo Schulz's Elite Force Holomatch patch to latest ioq3.
Patch for ioq3 svn r2231.

No support for OpenGL2 renderer yet.
2014-10-29 07:15:12 -05:00
Tim Angus
7ae49cc237 Fix video recording sync drift (patch refactored but original author unknown) 2013-11-02 19:11:14 +00:00
Tim Angus
f6fb9eb602 renderer -> renderergl1, rend2 -> renderergl2 2013-02-15 23:46:37 +00:00
Zack Middleton
ac621642ac Unify/cleanup max snapshot entities on client and server 2013-02-11 15:49:47 -06:00
Zack Middleton
016b74b633 Fix restoring old fs_game upon leaving a server. Patch by Ensiform. 2012-10-30 16:51:06 +00:00
Zack Middleton
91fd58f6e4 Allow analog joystick up axis to be remapped too. 2012-02-15 18:09:24 +00:00
Zack Middleton
22d6240fe2 Removed unused kbutton_t declarations in client.h 2011-09-09 21:48:38 +00:00
Thilo Schulz
23f6fd1633 Bug 5094 - Code cleanup, patch by Zack Middleton and DevHC. Fixes unused-but-set gcc warnings 2011-07-29 12:27:00 +00:00
Thilo Schulz
2349148cf1 - Apply parts of Ben Millwood's target bitfield patch (#3787)
- Fix Ryan's FIXME and have voip packet buffer on the server dynamically allocated via Z_Malloc and store pointers in a circular buffer
- Improve voip target parsing on top of Ben Millwood's patch
- Add new "spatial" target where speaker is spatialized in 3d space and can be heard by all clients in hearing range (s_alMaxDistance)
  (#4467)
- Decrease voip sound lengths from 240ms to 80ms per voip packet to mitigate udp packet loss and decrease latency
- Protocol version incremented to 71
2011-07-27 15:47:29 +00:00
Thilo Schulz
ac30d86db0 - Improve snapshot rate and data rate control
- Make server send packet fragments and queued packets when server is idle
- Voip protocol detection is tied to com_protocol making past-end-of-message reading unncessary
- Use Hunk_AllocateTempMemory() for buffering VOIP packets and fix buffering scheme that ryan hates so much
- Disable packet scrambling for new protocol as it is useless now
- Get rid of the old packet scrambling functions predating latest point release
- Use Hunk_AllocateTempMemory() for netchan packet queue to fix memory leak when client gets disconnected with packets in the queue
- Use Hunk_AllocateTempMemory() for download blocks to fix memory leak when client gets disconnected with download blocks in the queue
- Fix SV_RateMsec to account for udp/udp6 packet lengths
2011-07-13 17:11:30 +00:00
Thilo Schulz
e06c117e9e - Implement dual protocol support (#4962)
- Fix several UDP spoofing security issues
2011-07-12 11:59:48 +00:00
Thilo Schulz
df1687c5c7 Fix unnoticed bug in game_restart 2011-06-21 11:29:31 +00:00
Thilo Schulz
dee3724a13 - Improve game_restart:
* 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()
2011-06-21 11:18:35 +00:00
Thilo Schulz
d34c6b7e0b Revert protocol 69 pending further discussion (#4962) 2011-04-27 20:17:45 +00:00
Thilo Schulz
a5580d8974 - Harden the client and server protocol against UDP spoofing attacks. This will defend ioquake3 against http://aluigi.altervista.org/papers/q3noclient.txt (#3041)
- 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
2011-04-27 16:03:35 +00:00
Thilo Schulz
9541fca878 Add better support for analog joysticks, patch by use.less01 2011-04-19 13:26:15 +00:00
Thilo Schulz
0a6f873999 Add g_humansplayers (found by server) and g_needpass (cvar) to serverinfo (#4702) 2011-03-07 23:12:16 +00:00
Thilo Schulz
3b40467599 Finally fix missionpack compiling for STANDALONE=1, yes, this is tested. 2011-02-09 00:42:54 +00:00
Thilo Schulz
018de1dd2e Added TTimo's QuakeLive-style mouse acceleration, thanks Gabriel Schnoering and TTimo for the patch. (#3693) 2009-11-02 16:17:10 +00:00
Thilo Schulz
fee5a4a157 Fix recursive error for disconnect after reliable client command overflow. Thanks to /dev/humancontroller for reporting. https://bugzilla.icculus.org/show_bug.cgi?id=3616 2009-10-11 18:31:00 +00:00
Tim Angus
c0328ab4f6 * Revert 'Handle dead keys more gracefully by taking a "best guess" rather than
ignoring completely' from r1459; it can't ever work acceptably, especially on
  azerty/qwertz layouts
* Make the ordering of the output from in_keyboardDebug more sensible
* Add cl_consoleKeys cvar, a space delimited list of key names or characters
  that toggle the console
2008-08-28 22:05:34 +00:00
Tim Angus
b555d68b3f * (bug #3729) server dependencies on client.h (Ben Millwood)
* (bug #3731) BUILD_MISSIONPACK flag in Makefile (Gabriel Schnoering
  <gabriel.schnoering@gmail.com>)
* (bug #3756) Q3VM crashes on unaligned block copy with SIGBUS (Patrick Baggett
  <baggett.patrick@figglesoftware.com>) and...
* (bug #3755) IOQuake3 shouldn't use GCC-specific __FUNCTION__
2008-08-22 22:47:26 +00:00
Tim Angus
d84d418086 * Remove cl_platformSensitivity as it predates the move to SDL everywhere 2008-07-12 13:31:31 +00:00
Tim Angus
37d664d4b2 * Rename voip cvar to cl_voip
* s/#if USE_VOIP/#ifdef USE_VOIP/
* Add generalised runtime cvar range checking, currently on [sv|cl]_voip,
  dedicated and a bunch of r_ variables
2008-07-07 22:31:39 +00:00
Ryan C. Gordon
1e21a3e258 VOIP: Added cvar cl_voipCaptureMult to boost gain on recorded bits. 2008-07-05 04:38:16 +00:00
Ryan C. Gordon
f8d6828f15 VoIP: Added cheapie VoIP meter. 2008-06-25 05:50:44 +00:00
Ryan C. Gordon
a7b854d65f VoIP: Save own voice when recording a demo.
We fake a server packet and write it directly to the demo file at the point
 where we'd transmit to the server. This is a little nasty, but it seems to
 be the most reasonable solution.
2008-06-08 08:25:25 +00:00
Ryan C. Gordon
be9ae48039 VoIP: tweaked VAD code.
Also added cl_voipVADThreshold cvar...if the power of a set of Speex frames
 doesn't exceed this value, it isn't transmitted.
2008-06-08 07:29:25 +00:00
Ryan C. Gordon
fec2cc2f05 VoIP: initial shot at voice activation. 2008-06-07 14:40:59 +00:00
Ryan C. Gordon
c50799fcf7 VoIP: Initial work on adding Speex preprocessor. 2008-06-07 14:39:49 +00:00
Ryan C. Gordon
26c706df15 VoIP: Don't hardcode Speex sample rate. 2008-06-07 14:38:46 +00:00
Ryan C. Gordon
020704d2ff VoIP: functionality to adjust incoming audio gain, per-user. 2008-06-04 21:50:00 +00:00
Ryan C. Gordon
cc18323a99 VoIP: client can now specify targets for voice transmission. 2008-06-04 21:49:15 +00:00
Ryan C. Gordon
12326a9eac Initial patch for in-game VoIP support! 2008-06-01 07:51:23 +00:00
Ludwig Nussel
0ee3960225 mumble link support
The coordinate calculation was adopted from Warsow's mumble patch.
2008-05-30 17:19:31 +00:00
Thilo Schulz
9a8cc99a93 - Revamp in-game server browser: you can now scan for games on multiple master servers, while retaining compatibility with old QVMs.
- Make Master server reporting/server queries ipv6 capable.
2008-04-11 18:39:03 +00:00
Thilo Schulz
78a82bcba2 Add com_standalone cvar for at-runtime handling of mods that do not require the original quake3 game data. 2008-04-10 15:37:25 +00:00
Tim Angus
5692e30fa9 * Fix bug that prevented key up events getting to cgame/ui when not in game
* Use Key_[GS]etCatcher everywhere to set keycatcher
* Clear all key states when the catcher changes
2007-10-02 14:14:45 +00:00
Tim Angus
7562caa310 * Move the conditional compilation of bg_lib.c from the Makefile to cpp in
order to force dependency generation on bg_lib.*
* Make testing USE_ defines more consistent
2007-09-22 20:32:11 +00:00
Tim Angus
da29118ae0 * Don't apply colour escape chars on input fields 2007-09-21 10:35:24 +00:00
Tim Angus
672cfbf16f * Merge unified-sdl to trunk
* Bump Q3_VERSION to 1.35
2007-09-05 18:17:46 +00:00
Tony J. White =
2218a4ea67 * (bug 3018) need to call Cvar_SetCheatState() after CG_INIT and UI_INIT to
override user-defined cvar values for CVAR_CHEAT cvars that
             could be registered in cgame and ui.
2007-03-02 17:32:22 +00:00
Tony J. White =
2cddf1208d * (bug 3019) adds the cvar cl_guidServerUniq (defaults to 1). When set to
non-zero, cl_guid will be unique for each server that the client
  connects to
2007-02-12 18:52:15 +00:00
Thilo Schulz
aea7262d86 Only stop demo on map change if it was started by autorecord. 2006-11-03 08:42:21 +00:00
Thilo Schulz
90208be35a - Remove "server crashed" message on server shutdown caused by local client disconnect.
- Stop demo recording on a new gamestate packet so the demo won't end with a new level load.
2006-10-27 12:49:55 +00:00
Tony J. White =
2af23e813d * add cURL support for HTTP/FTP downloading (bug 2661) 2006-09-11 16:41:55 +00:00
Thilo Schulz
01d057967f Go back to rev. 874. ATM, there is no good way to make FS_Restart() behave as it was originally described. 2006-08-28 01:48:38 +00:00