Commit graph

338 commits

Author SHA1 Message Date
Thilo Schulz
0d6741fb23 Fix setsockopt so that setting the IPV6ONLY flag really works. 2009-06-22 23:32:11 +00:00
Thilo Schulz
3dddabcc52 Fix highest file descriptor for select(), thanks to Ben Millwood for reporting 2009-06-05 18:54:47 +00:00
Thilo Schulz
18cc7c1ed3 Make servers echo challenge codes from client getchallenge commands 2009-06-01 05:28:47 +00:00
Thilo Schulz
eaaaa6f5fc Replace a few sprintf with Com_sprintf 2009-06-01 00:18:02 +00:00
Thilo Schulz
e0a2100df5 Fix warning in Sys_RandomBytes() usage 2009-05-31 20:31:56 +00:00
Thilo Schulz
4e8a181073 I'll retain the new way seeding the random number generator.. these calls are therefore redundant 2009-05-31 20:30:37 +00:00
Thilo Schulz
e4d0c14f70 Revert changes of rand() to random() as random() was redefined in quake3. 2009-05-31 20:24:10 +00:00
Thilo Schulz
b40f1507ea - Introduce seeding of the random number generator at startup
- Replaced all engine-side occurances of rand() with random()
2009-05-31 19:48:28 +00:00
Thilo Schulz
7aed7e8861 Make command net_restart work so that port/ip settings can be changed without server restart 2009-05-29 03:14:49 +00:00
Thilo Schulz
50ca55702f - Introduce new NET_CompareBaseAdrMask for easy comparison of ip address ranges
- 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.
2009-05-24 16:58:08 +00:00
Thilo Schulz
09d9e5e19b Minor code cleanups 2009-05-21 21:10:25 +00:00
Ludwig Nussel
31ae3826ae make Cvar_Command use all arguments just like Cvar_Set_f (#4063) 2009-05-08 09:13:16 +00:00
Ludwig Nussel
68fa0b55a9 cvarlist: also display systeminfo and user created flags 2009-05-08 09:13:13 +00:00
Ludwig Nussel
abda6d984a whitespace correction 2009-05-08 09:13:09 +00:00
Ludwig Nussel
ec846d23b2 define STRING and XSTRING in q_shared.h (#4054) 2009-05-05 18:19:29 +00:00
Ludwig Nussel
84fbc2252f align stack before re-entering engine to make sse work (#4051) 2009-05-02 17:15:51 +00:00
Tim Angus
1bd63e59e5 * Remove superfluous comments committed with fix to bug #3999 2009-03-02 22:26:36 +00:00
Ludwig Nussel
35a27638fe initialize qport with random value instead of time (#3999) 2009-03-02 18:08:13 +00:00
Ludwig Nussel
844ee46627 qcommon: vm: Add sparc JIT compiler.
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-03-02 17:29:40 +00:00
Ludwig Nussel
30c44b1a87 qcommon: vm: sparc, like 386, doesn't need var-args conversion.
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-03-02 17:29:35 +00:00
Ludwig Nussel
17a81ff7c9 qcommon: Add idsparc and set when __sparc__ && !C_ONLY
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-03-02 17:29:30 +00:00
Tim Angus
48d8c8876b * s/FS_FilenameIsExecutable/FS_CheckFilenameIsNotExecutable/g
* Fix potential buffer under run in FS_CheckFilenameIsNotExecutable
2009-02-26 13:02:59 +00:00
Ludwig Nussel
f5aae78481 security fix: prevent command injection via callvote 2009-01-17 23:09:58 +00:00
Tim Angus
72dea0a184 * Fix some new GCC 4.3 warnings
* Fix many many strict aliasing warnings, now that it's re-enabled
2008-11-10 23:55:22 +00:00
Ludwig Nussel
01dca75d9f realloc vm->instructionPointers on ppc64
rename VM_Malloc, VM_Free to PPC_Malloc, PPC_Free
safer constant optimization handling

Patch by Przemysław Iskra (#3796)
2008-11-10 09:46:31 +00:00
Ludwig Nussel
235945c6bb new PowerPC vm
Patch by Przemysław Iskra (#3796)
2008-11-10 09:46:01 +00:00
Ludwig Nussel
c754d6fdfb fix strict aliasing issues
Patch by Przemysław Iskra (#3805)
2008-11-03 17:03:54 +00:00
Ludwig Nussel
f86f8e8ed8 fix 64bit VM interface to work on ppc64 (#3838) 2008-11-03 17:03:44 +00:00
Thilo Schulz
83540695b3 Patch to make getnameinfo() call work on OpenBSD systems. Created by agent59692154@spamcorptastic.com 2008-10-29 15:53:46 +00:00
Tim Angus
130c0c6575 * Move command argument completion from being hard coded to being associated
with the individual commands to be completed
2008-09-16 21:05:22 +00:00
Tim Angus
47ee177430 * Supply specific identifier to the master server (Mathieu Olivier) 2008-09-15 20:24:04 +00:00
Tim Angus
b2d87c4b2a * Add Com_HexStrToInt
* Fixed some whacky indentation in q_shared.c
* Allow single character keys e.g. 'c' to be used in cl_consoleKeys in addition
  to ASCII characters
* Experimental code to ignore dead keys
2008-09-05 23:38:35 +00:00
Thilo Schulz
9dd887b2ea - Add scope id to ipv6 addresses.
- 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.
2008-08-31 19:54:29 +00:00
Tim Angus
9d0e643425 * Fix to console completion bug introduced by the last fix (from the oops
dept.)
2008-08-30 22:07:50 +00:00
Tim Angus
f1faa1d12a * Collapse common command completion code into one function and fix the
incorrect buffer size parameter to strncpy (from the
  how-the-fuck-did-this-ever-work dept.)
2008-08-27 20:00:34 +00:00
Tim Angus
36a43f2aa1 * Handle dead keys more gracefully by taking a "best guess" rather than ignoring
completely
* When activating or deactivating the mouse flush any pending motion events;
  this should stop the view moving unpredictably in these circumstances
* Add keyname completion to "unbind"
2008-08-25 21:15:25 +00:00
Tim Angus
a6382d2d9b * Fix unused variable warning
* Add USE_LOCAL_HEADERS guards to sys_loadlib.h
2008-08-23 22:45:30 +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
1af6eb9592 * More robust x86 vm entrypoint/callback assembly (Tron) 2008-08-17 23:22:06 +00:00
Tim Angus
7edcc7d16a * Use IPv6 header qcommon/wspiapi.h if it has been added by the end user
* Update README to explain the Windows XP requirement
2008-08-09 19:12:30 +00:00
Tim Angus
9a5d971705 * Fix memory leak in win32 VM code (arQon/dmitry) 2008-08-06 16:09:29 +00:00
Tim Angus
00e790ce00 * Change win32 client Sys_Sleep so it ONLY sleeps since before it was waking on
more or less any input event; fine for the server, not so much use for the
  client
* In the main loop, don't bother sleeping if it's going to be less than 10ms as
  the methods we're using to sleep at the moment aren't very precise
* Add Sys_PlatformInit for platform specific initialisation
* In win32 Sys_PlatformInit force selection of the DirectX SDL backend in order
  to get better fullscreen mouse input (in conjunction with a patched SDL DLL
  http://bugzilla.libsdl.org/show_bug.cgi?id=265)
2008-08-03 19:42:53 +00:00
Tim Angus
71f8a85e42 * Sign check com_maxfps* variables 2008-07-21 22:16:57 +00:00
Tim Angus
0124371c01 * Use Sys_Sleep to limit FPS, which will save CPU
* Add com_maxfpsUnfocused and com_maxfpsMinimized; self explanatory
* Fix reopening of bug 3703, I hope
2008-07-21 22:02:54 +00:00
Tim Angus
3c9dc98d04 * (bug 3712) MSVC build fix s/strtof/strtod/ (Pat Raynor <raynorpat@gmail.com>) 2008-07-09 21:22:29 +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
Tim Angus
6b572920a9 * Remove silly range check on sv_voip during initialisation
* Changed dedicated binary dedicated cvar to CVAR_INIT and remove runtime check
2008-07-06 01:35:01 +00:00
Tim Angus
49413057ee * Change dedicated cvar to CVAR_LATCH on the dedicated server 2008-07-06 00:31:52 +00:00
Tim Angus
2c0861c1ce * (bug 3610) Server sending unnecessary newline with SV_ConSay_F (Tyler Schwend
<TylerSchwend@gmail.com>)
* (bug 3623) COMMAND is mapped to the ALT key (Matthias <Kapffer@macbay.de>)
* (bug 3665) Typo error in FS_FOpenFileByMode function (TsT <tst2006@gmail.com>)
* (bug 3669) Some files left out of Solaris Packages (Vincent Cojot
  <vincent@cojot.name>)
* (bug 3680) server quit messages (Ben Millwood)
* (bug 3682) Maps with >1024 models cause a segfault (misantropia
  <bnoordhuis@gmail.com>)
* (bug 3683) R_FindShader(): negative lightmap indexes cause stray pointers
  (misantropia <bnoordhuis@gmail.com>)
* (bug 3688) q3asm potential segfault fix and other changes (TsT
  <tst2006@gmail.com>)
* (bug 3695) Not allowing to write file with lib extention (.dll/.so/...) (TsT
  <tst2006@gmail.com>)
* (bug 3696) make-macosx-ub.sh outdated by revision 1340; test for Tiger not
   working (Matthias <Kapffer@macbay.de>)
* (bug 3698) #error reported as warning in q3cpp (and no #warning support)
  (Ben Millwood)
* (bug 3703) restoring the valued pre-SDL window behaviour (/dev/humancontroller
  <devhc97@gmail.com>)
2008-07-05 23:50:38 +00:00
Zachary Slater
4713fa4f79 Thanks to Lakitu7 for pointing this out. 2008-06-17 04:44:36 +00:00
Ludwig Nussel
a98fed9ee2 bind ipv6 sockets first
by binding the ipv6 sockets first it's possible to bind 0.0.0.0 and
:: to the same port.
2008-06-12 18:32:33 +00:00
Ludwig Nussel
b060eae562 show numeric address the server binds to 2008-06-12 18:32:29 +00:00
Julian Priestley
f65a956c81 Add PRODUCT_VERSION back into q_shared.h for MSVC builds. 2008-06-04 23:29:37 +00:00
Ryan C. Gordon
8ab3f7af8d Changed the protocol for VoIP packets to support legacy clients.
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.
2008-06-03 02:32:52 +00:00
Ryan C. Gordon
12326a9eac Initial patch for in-game VoIP support! 2008-06-01 07:51:23 +00:00
Ludwig Nussel
a15002ad0d reorder includes to fix build on OpenBSD (#3663, patch by Jonathan Gray) 2008-05-25 10:00:15 +00:00
Thilo Schulz
843994c074 whoops. 2008-05-17 10:50:08 +00:00
Thilo Schulz
81f9b20bfb - Workaround for buggy MacOSX getaddrinfo() implementation that doesn't accept AF_UNSPEC parameter in hints structure. Thanks icculus for reporting.
- Add -faltivec flag for debug builds.
2008-05-17 10:46:41 +00:00
Tim Angus
b2207b250f * (bug 3641) Server is left running following a local disconnect 2008-05-12 10:49:02 +00:00
Tim Angus
a857487f9b * Fix a bunch of compile warnings
* Only call pkg-config if it exists
* Remove cl_consoleHistory from README
2008-05-10 18:51:02 +00:00
Ludwig Nussel
d7bdf4b344 define the product version in the Makefile 2008-05-06 20:24:32 +00:00
Thilo Schulz
10ed996784 - replace a few constant values with GL macros in tr_cmds.c
- tidy up top of tr_types.h a bit, change flags to hex representation
- make ROM cvar enforcing really work
- remove cg_stereoSeparation from cgame as it is obsolete.
- Add CG_DrawCrosshair3D so people see crosshair correctly when stereoseparation is enabled
2008-05-01 14:56:57 +00:00
Thilo Schulz
65938da5ae - variables with CVAR_ROM set get now overwritten by Cvar_Get() if the cvar exists already but was created by the user.
- Fix null pointer crash in Cvar_Print_f(), thanks to humancontroller for reporting.
2008-05-01 11:29:49 +00:00
Thilo Schulz
82e32bdf41 Make forced unloading work in more cases than just server disconnects 2008-04-29 22:49:37 +00:00
Thilo Schulz
1306d9760d Fix crash bug for interfaces without assigned address, thanks to PhoinixGR for reporting. 2008-04-21 13:34:44 +00:00
Thilo Schulz
d77d3e0658 fix obvious bug, thanks mattn2 2008-04-16 20:57:08 +00:00
Ludwig Nussel
7a8c1ddaa6 Fix build on IRIX (Patrick Baggett) 2008-04-16 06:42:29 +00:00
Tim Angus
845de6a960 * Fix some recently introduced warnings
* Fix referenced pk3 list including excessive number of spaces
2008-04-12 18:58:06 +00:00
Thilo Schulz
eb74549dde Only don't send packet on disabled multicast if it actually is a multicast packet 2008-04-12 17:03:18 +00:00
Thilo Schulz
f8d8a1c2f7 - fix a potential file descriptor leak in server side of pak downloading
- add new functions for banning clients from server, in engine part. This will also make it possible to ban ipv6 addresses in old mods.
2008-04-12 17:00:18 +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
Thilo Schulz
b3822d03e2 Include #ifdef to make it easier to create a stand-alone binary. 2008-04-09 23:43:30 +00:00
Thilo Schulz
ca5fabe8c6 Fix uninitialized usage warnings on MacOSX. 2008-04-09 22:20:04 +00:00
Thilo Schulz
eb3b59308b Add Multicast capabilities for LAN server scanning. 2008-04-09 14:37:42 +00:00
Ludwig Nussel
43ac1eca6a set flag to allow forced unload of a running VM
required to prevent a client from exiting if the server disconnects (bug 3585)
2008-04-06 12:59:35 +00:00
Ludwig Nussel
8bcb33892e debug output for EXEC_NOW 2008-04-06 12:59:30 +00:00
Thilo Schulz
f5b3a13313 revert changes to that one as this is not necessary. 2008-04-06 02:19:00 +00:00
Thilo Schulz
5c1167557a Make sure that one broken shader file cannot crash the game / make the other shaders unusable. 2008-04-06 02:13:43 +00:00
Tim Angus
85bee47f52 * Fix to MinGW build following IPv6 changes 2008-04-05 16:01:58 +00:00
Thilo Schulz
fcbf0bdd84 I hope this makes the code work on solaris, too and fix the EINVAL on sendto() 2008-04-05 15:10:50 +00:00
Thilo Schulz
70cd2ccfab - include Winsock2.h for windows
- add a __BSD__ define for all bsd platforms if it doesn't exist.
2008-04-05 14:28:57 +00:00
Thilo Schulz
7b80773212 Fix compilation on Solaris and possibly other platforms that have no getifaddrs() 2008-04-05 13:18:09 +00:00
Thilo Schulz
5d63a38ad9 Basic IPv6 support. Some inspiration from the patches by Lubos Dolezel and JF Tremblay at https://bugzilla.icculus.org/show_bug.cgi?id=2355. 2008-04-04 23:22:22 +00:00
Thilo Schulz
0ea4387270 strcpy -> memmove as string does overlap which should be avoided according to the manpage. Thanks to Jacques Boscq. 2008-03-25 22:06:08 +00:00
Thilo Schulz
99fe055931 Commit patch from Jacques Boscq, which will prohibit the calling of memcpy with src=dest 2008-03-25 21:45:20 +00:00
Thilo Schulz
bb47026b5f - Replace vsprintf function in bg_lib.c with vsnprintf implementation started by Patrick Powell.
- Remove all calls to vsprintf in the engine and gamecode and replace them with calls to vsnprintf.
2008-03-25 21:36:09 +00:00
Thilo Schulz
5728fc2ec8 vsnprintf -> Q_vsnprintf 2008-03-25 16:44:01 +00:00
Thilo Schulz
302b1b49ff Applied patch to clean up code for reading cvars and add new command "print" for printing the content of cvars, by Ben Millwood.
See also https://bugzilla.icculus.org/show_bug.cgi?id=3546
2008-03-25 16:20:03 +00:00
Ludwig Nussel
7a5243a3b2 use vm->callLevel to count recursive calls to VM_Call
Throw an error if vm->callLevel is set and VM_Free is called.
2008-03-24 21:20:55 +00:00
Tim Angus
e31156e586 * Write q3config_server.cfg for the server, to avoid reseting client variables
after running a dedicated server
2008-02-28 21:39:54 +00:00
Ludwig Nussel
85ba66e7e8 move all image decoders into separate files 2008-02-14 11:13:18 +00:00
Tony J. White =
4c3b7def84 * send along the reason for disconnection when sending the disconnect
cmd to all clients in SV_FinalMessage()
* on Com_Error(), set the cvar "com_errorCode" with the errorParm_t integer
  value for the error.  This can be used by a mod's ui to an draw error
  dialog specific for the error (e.g. Reconnect button on ERR_SERVERDISCONNECT)
2007-12-31 22:35:22 +00:00
Thilo Schulz
87fa68fd41 Add gamedirectory in .app to searchpath on MacOSX 2007-12-14 21:53:57 +00:00
Thilo Schulz
662b67c733 Replace obsolete macro with some other macro. I hope this does not break too much. 2007-12-14 16:25:33 +00:00
Tim Angus
b906e94a6d * (bug 3470) Correct type for function pointer
(baggett.patrick@figglesoftware.com)
2007-12-11 21:11:01 +00:00
Tim Angus
6113cf7a68 * (bug 3454) Fix crash in autocompletion due to incorrect strncpy buffer size 2007-12-03 00:07:56 +00:00
Tim Angus
3cde9bf0dc * Add con_log.c to log all console output
* Add con_passive.c to cut down on #ifdef DEDICATED in sys_main.c
* Add Sys_ErrorDialog to report ERR_FATALs to the user
  + On Windows use a MessageBox and offer to copy the console log to the
    clipboard
  + On everything else print to the terminal and save the console log as
    crashlog.txt
2007-11-30 18:32:52 +00:00
Tim Angus
eaeed742c5 * Move MINSDL_ values to sys_local.h from Makefile/VC project
* Merge *BSD platform definitions in q_platform.h
* IRIX support (Patrick Baggett <baggett.patrick@figglesoftware.com>)
2007-11-26 20:18:53 +00:00
Tim Angus
3f3e1a51a1 * (bug 3420) Don't respect sv_killserver unless a server is actually running
* (bug 3431) USERINFO cvars created in cg_main not getting sent (arQon)
2007-11-23 00:33:13 +00:00