Commit Graph

579 Commits

Author SHA1 Message Date
Thilo Schulz 3148416c04 - Change runtime standalone detection:
* 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()
2011-02-04 12:04:56 +00:00
Thilo Schulz cf791d14c5 - Fix bug #4769 remote server crash
- Fix potential 1-byte-buffer overflow in gamecode
2011-02-03 02:54:36 +00:00
Thilo Schulz 16c83ae2c5 Server crash can cause recursive call to Com_Error, too 2011-02-02 23:57:22 +00:00
Thilo Schulz 4982bf8e6b r1833 now made some Linux systems spit out warnings. Fix this once and for all 2011-02-02 16:49:52 +00:00
Thilo Schulz e5dbce839a - Use select() to sleep when idle as opposed to busy waiting.
- Introduce com_busyWait cvar to go back to old behaviour
2011-02-02 16:46:23 +00:00
Thilo Schulz 0baadba7d1 Windows doesn't know z in format string 2011-01-31 21:13:37 +00:00
Thilo Schulz 0c662f25f2 Make Ludwig happy 2011-01-27 16:41:08 +00:00
Thilo Schulz d1c0401c73 well, shit. 2011-01-27 12:34:58 +00:00
Thilo Schulz 92495a70bc Fix compiler warnings (#4887) 2011-01-27 11:13:39 +00:00
Thilo Schulz 74be070642 Make sure com_developer global var gets written right after developer has been read from cmd line 2011-01-25 16:18:49 +00:00
Thilo Schulz 5c0ae99642 Make number of supported master servers tunable via define 2011-01-25 02:04:25 +00:00
Thilo Schulz bf07014b1d Make this change so standalone developers will know to change the HEARTBEAT game string for their versions, too. 2011-01-24 18:09:20 +00:00
Thilo Schulz 6179036ac9 Fix name resolution for domains with A and AAAA record 2011-01-24 01:55:12 +00:00
Thilo Schulz 8243a77c0e Revert changes because dpmaster doesn't work that way. 2011-01-24 01:24:07 +00:00
Thilo Schulz 7861cde4a2 Make it use the correct game name in getserversExt queries 2011-01-24 00:21:33 +00:00
Tim Angus c314f29290 * Use correct compiler defines for OS detection on Windows 2010-12-19 16:34:35 +00:00
Ludwig Nussel c51d99117c use mmap on freebsd too 2010-11-22 07:12:35 +00:00
Thilo Schulz 83a3e2ae1b First batch of bug fixes reported and patched by Zack "ZTurtleMan" Middleton:
#4736
#4730
#4731
#4732
#4733
#4735
#4736
#4737
#4738
#4739
2010-08-29 17:32:54 +00:00
Thilo Schulz 3ff2666375 Fix buffer overflow, report and patch by Eugene C. (#4669) 2010-07-02 20:21:20 +00:00
Ludwig Nussel 233fcb0caa fix stack alignment dynamically for OP_BLOCK_COPY 2010-06-02 14:46:16 +00:00
Ludwig Nussel 2950bb98ea fix OP_BLOCK_COPY alignment for win64 (patch by Marcus Meissner) 2010-05-17 08:59:53 +00:00
Ludwig Nussel 760f4a1949 64bit Windows support (patch by Michael Menegakis) 2010-02-28 09:00:02 +00:00
Ludwig Nussel a9fdf0ef3b need to hardcode "baseq3" to prevent download of id files even if compiled STANDALONE 2010-02-28 08:56:54 +00:00
Tim Angus 3ebe048968 * Fix a memory leak in OS X Sys_Dialog
* Fix compilation on Snow Leopard
2010-02-26 16:32:49 +00:00
Tim Angus 005f870ebe * Sys_Dialog for more user friendly error reporting
* (bug #3932) Recovery from bad video settings
2010-02-15 16:20:33 +00:00
Ludwig Nussel 4876413217 __WORDSIZE is not available on non-GNU systems (Dominic Fandrey) 2010-01-16 10:55:51 +00:00
Tim Angus 9018fedd16 * Clean-up whitespace in net_ip.c 2010-01-10 18:28:32 +00:00
Tim Angus 240b25a41f * (bug #4271) FreeBSD fixes (Dominic Fandrey) 2010-01-07 19:53:52 +00:00
Tim Angus e7f9b8d193 * That probably deserves a Com_DPrintf as well 2010-01-03 22:07:20 +00:00
Tim Angus bb30f51f67 * (bug #4357) CVAR_ROM+CVAR_ARCHIVE is not read from q3config 2010-01-03 19:44:37 +00:00
Tim Angus 78df7a1de4 * (bug #4346) Dedicated server uses 100% CPU when stdin is not a TTY
* com_speeds reports misleading values on dedicated server (Guillaume Bougard)
2009-12-24 00:40:39 +00:00
Tim Angus fa2a698aa3 * (bug #4369) Cvar modified flags are not updated in Cvar_Get (Lakitu7) 2009-12-18 21:57:56 +00:00
Thilo Schulz 10cdcdb0a1 Forgot this one 2009-11-14 01:59:01 +00:00
Thilo Schulz 258429efe7 - Add unset command for cvars created by the user
- Fix crash bug when maximum number of cvars has been reached
- Fix cvar_restart
- Add possibility to cleanly switch mods ingame (#2819)
2009-11-09 22:41:42 +00:00
Thilo Schulz 606ce66726 This is true always, anyways. 2009-11-09 13:50:48 +00:00
Thilo Schulz 5785b45e6a Shut up warn_unused_result warning 2009-11-08 17:00:27 +00:00
Tim Angus 108705d31f * Rewrite win32 Sys_Mkdir to use CreateDirectory
* Make FS_ReplaceSeparators filter out runs of multiple separators
* Make FS_CreatePath skip creation of the root directory
2009-11-07 16:43:02 +00:00
Tim Angus 0f9a5e09eb * Improve displayed error message when pak?.pk3 is missing 2009-11-06 16:25:14 +00:00
Thilo Schulz 4ba2452f83 Use new Sys_SetEnv here 2009-11-06 10:50:16 +00:00
Tim Angus eee9770fbf * Reimplement r1597-1598 in a better way (Oopss)
* Fix Sys_SetEnv warning
2009-11-05 20:20:23 +00:00
Thilo Schulz 621f91783c Different default values for multicast-scope on Windows and non-Windows OS 2009-11-04 00:42:22 +00:00
Ludwig Nussel 3d7d2d9f5b check all jumps (#4249) 2009-11-01 19:58:27 +00:00
Ludwig Nussel 12189381b5 fix cmp imm reg 2009-11-01 19:58:25 +00:00
Ludwig Nussel da31866f6d report memory violations in debug mode 2009-11-01 19:58:21 +00:00
Ludwig Nussel 4722d311fd better range checks 2009-11-01 19:58:18 +00:00
Ludwig Nussel b7eae0dca5 implement immediate argument for call 2009-11-01 19:58:16 +00:00
Ludwig Nussel ed98f65d10 optimize const before jump 2009-11-01 19:58:12 +00:00
Ludwig Nussel a7dee44def check const jump argument 2009-11-01 19:58:09 +00:00
Ludwig Nussel 469c986640 more security checks in interpreter (#4249) 2009-11-01 19:58:07 +00:00
Ludwig Nussel cc9a74a218 Define stack sizes at central place
also reverts bug 4282 as stack is included in bss already so nothing that needs fixing
2009-11-01 19:58:03 +00:00
Ludwig Nussel 2fecf6d6bc get rid of gas remains 2009-10-26 21:59:03 +00:00
Tim Angus f9c4003186 * Make [sv|cl]_packetdelay work when timescale is not 1 (arQon) 2009-10-25 21:54:45 +00:00
Ludwig Nussel 2fc4023e0b fix zlib includes 2009-10-24 14:19:39 +00:00
Thilo Schulz c05d9c9f0c Fix uninitialized words in VM interpreter, reported by Patrick Baggett (4281) 2009-10-23 03:02:08 +00:00
Tim Angus c8583df572 * D'oh, vm_ppc.c isn't used any more 2009-10-20 11:47:34 +00:00
Tim Angus d47509b861 * Sort out the white space disaster in vm_ppc.c 2009-10-20 11:44:25 +00:00
Tim Angus 60ed7a4cc4 * (bug #4249) Fix similar overflow in PPC VM (untested) 2009-10-20 11:36:45 +00:00
Tim Angus 5663ff1362 * (bug #4249) Fix buffer overflow in x86 VM 2009-10-19 23:01:00 +00:00
Thilo Schulz fd57c987c4 Fix infinite loop in case an invalid pk3 file has been downloaded from the server. Thanks tjw for reporting (#3074) 2009-10-19 22:36:17 +00:00
Thilo Schulz d93cc3c997 Shut up warnings 2009-10-19 18:54:09 +00:00
Thilo Schulz 585e6f9840 - Applied patch from /dev/humancontroller to set cvar_modifiedFlags from Cvar_Set_f (#3636)
- Exchanged ugly code with Cmd_ArgsFrom()
2009-10-19 16:52:16 +00:00
Thilo Schulz cc919c05fd Just unix2dos, nothing to see here ... 2009-10-19 14:00:16 +00:00
Tim Angus 639fdb4ed3 * Fix MinGW build (it doesn't have _putenv_s) 2009-10-13 15:58:23 +00:00
Thilo Schulz 186f30a74f Fix netcode inconsistency, thanks to /dev/humancontroller for the patch, see http://bugzilla.icculus.org/show_bug.cgi?id=4060 2009-10-12 17:17:15 +00:00
Thilo Schulz e48b56559d MinGW doesn't have setenv() either, so..... 2009-10-12 16:20:01 +00:00
Thilo Schulz d86dd71327 Fix environment variable handling for Linux, make setenv command added before parsing of configuration files. (https://bugzilla.icculus.org/show_bug.cgi?id=3626) 2009-10-12 16:03:18 +00:00
Thilo Schulz 5a882a72e4 fs_fakeChkSum is indeed obsolete and unnecessary. Removing it altogether now. 2009-10-12 03:20:44 +00:00
Thilo Schulz fd90f4f579 Fix fake checksum handling if client is unpure, make sure client does not remain unpure after FS_Restart. Thanks to /dev/humancontroller for reporting. http://bugzilla.icculus.org/show_bug.cgi?id=3605, thanks 2009-10-11 16:34:26 +00:00
Tim Angus 8d8ed0b47a * Fix bad syntax in 64bit assembler (Undeference) 2009-10-06 17:56:36 +00:00
Thilo Schulz b2c1618f36 Revert back color code change 2009-10-03 21:41:22 +00:00
Thilo Schulz b433f3d01c - Modify color generating codes to only accept numbers and not alphabetical chars anymore
- Fix client clean name so that it cannot be tricked anymore, see https://bugzilla.icculus.org/show_bug.cgi?id=3313
2009-10-03 21:15:23 +00:00
Tim Angus a7d33b1c54 * (bug #3639) BoxOnPlaneSide rewrite (Diego de Estrada/Patrick Bagget/Daniel
Gibson)
2009-09-21 00:20:43 +00:00
Tim Angus 15ec986478 * ...and make sure it compiles 2009-09-17 20:05:56 +00:00
Tim Angus cc8990495a * (bug #4282) Fix potential overlap of VM stack and bss sections (Patrick
Baggett)
2009-09-17 09:42:05 +00:00
Tim Angus 083bd1b005 * ...and actually r1626 this time 2009-09-16 09:30:21 +00:00
Ryan C. Gordon 826f05f95f Let a separate libdir be specified for loading libraries.
Partially fixes Bugzilla #4271.
2009-09-15 06:32:05 +00:00
Ryan C. Gordon 31ce89361d Fixed amd64 JIT output bug.
Partially fixes Bugzilla #4271.
2009-09-15 06:30:00 +00:00
Ryan C. Gordon 3bca280948 Add x86_64 ARCH_STRING for FreeBSD.
Partially fixes Bugzilla #4271.
2009-09-15 06:27:19 +00:00
Ryan C. Gordon ed241a8b73 Echo console command now colorizes by string, not token.
Fixes Bugzilla #3879.
2009-09-15 05:57:14 +00:00
Ryan C. Gordon aedf24bd72 Allow Cvar_Toggle_f() to iterate through a list of values.
Fixes Bugzilla #3591.
2009-09-15 05:43:53 +00:00
Ryan C. Gordon 33beb9df27 Patched to compile. 2009-09-15 05:30:08 +00:00
Ryan C. Gordon bccd80e523 Added Intel CC compatibility to vm_x86.c's inline asm.
Fixes Bugzilla #3338.
2009-09-15 03:42:29 +00:00
Ryan C. Gordon e2d63b1fea Enable -fvisibility=hidden on Linux.
This will prevent further symbol clashes, and makes the shared libraries
 10 to 20 percent smaller.

We should enable this on other platforms, too, if we can guarantee they'll
 use gcc 4.0 or later and the platform supports it.
2009-09-15 02:48:17 +00:00
Ryan C. Gordon 5079343ecd Fixed infinite recursion of writing crashlog because we're out of file handles.
Fixes Bugzilla #3772.
2009-09-15 00:19:22 +00:00
Ryan C. Gordon 76b7468a9d Don't allow negative arguments to the "wait" console command. 2009-09-14 23:56:09 +00:00
Ryan C. Gordon 82d437ee4f Fixed uninitialized variable. 2009-09-14 19:31:42 +00:00
Ryan C. Gordon 569edcb04e Minor reworking to check command line cvars before Com_InitZoneMemory().
This lets you set com_zoneMegs from the command line (although still not
 from a config file, but oh well).

  Fixes Bugzilla #2571.
2009-09-14 19:28:59 +00:00
Thilo Schulz 9b2b9abd25 - Add error handling for Opensolaris f***ing up a numeric getnameinfo() call.
- Fix memory leak in getaddrinfo() call
Many thanks to Ben Millwood for reporting this.
2009-06-26 18:11:45 +00:00
Thilo Schulz 948f7a6015 - fix typo in previous commit to net_ip.c
- Make servers send heartbeats to master servers in ipv4 as well as ipv6 if master server has both protocols
2009-06-23 00:59:47 +00:00
Thilo Schulz 78254a626f Move these definitions over for other files to use in preparation of the next commit 2009-06-23 00:45:07 +00:00
Thilo Schulz fb5f2a40ad minor cleanup 2009-06-23 00:19:08 +00:00
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
Tim Angus 881988636a * Don't truncate the cvar value when the user specifically asks for it 2007-11-01 16:07:13 +00:00
Ludwig Nussel fe349e80ba include endian.h (#3399) 2007-10-26 15:01:52 +00:00
Tim Angus 2bebaff8b4 * Add required header on *BSD 2007-10-13 13:26:41 +00:00
Tim Angus 8f43965e13 * OpenBSD support (Toni Spets <toni.spets@gmail.com>) 2007-10-12 23:27:47 +00:00
Tim Angus aa5e852056 * Unconditionally place a '\' at the start of the command buffer when
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
2007-10-12 22:34:45 +00:00
Tim Angus da8f451263 * Bug fix to collision optimisation (arQon) 2007-10-06 21:59:17 +00:00
Tim Angus 26641226a4 * Remove some C99isms (f0rqu3)
* Provide Q_snprintf wrapper for snprintf (f0rqu3)
2007-10-01 07:56:32 +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 60260f1c60 * (bug 3318) Restrict color escape characters to alphanumerics 2007-09-21 12:33:50 +00:00
Tony J. White = e46fe24426 * rewrite of the win32 dedicated console:
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.
2007-09-15 02:22:58 +00:00
Tim Angus e56a151a97 * Compile time and runtime checks for SDL >= 1.2.7
* Modified versioning to play nice with the reverted Makefile change
2007-09-06 18:21:10 +00:00
Tim Angus 672cfbf16f * Merge unified-sdl to trunk
* Bump Q3_VERSION to 1.35
2007-09-05 18:17:46 +00:00
Thilo Schulz 39abffeb3b clean up pak file checks + fixing stray error message when an unofficial pak9.pk3 exists 2007-08-30 23:27:16 +00:00
Tim Angus 0b3a077e15 * Merge win_net.c and unix_net.c
+ 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
2007-08-28 16:42:13 +00:00
Tim Angus 034e6e8f20 * Rewrite of R_LoadImage to make it more generic and data driven 2007-08-26 21:27:46 +00:00
Tim Angus 3d107fe624 * ...And the other deliberate mistake 2007-08-24 00:23:37 +00:00
Tim Angus 4997c4764a * (bug 3112) Removal of QVM name obfuscation (TsT <tst2006@gmail.com>)
* Add developer warning when texture loading falls back on jpg from tga
* Remove uppercase extension hack from texture loading since the Q3 pk3
  file system is case insensitive anyway and you would likely want to
  know about the failures when loading images from the native FS
2007-08-24 00:04:08 +00:00
Tim Angus 1144f567e8 * PNG support from Joerg Dietrich <dietrich_joerg@t-online.de>
* Cleanup of tabulation in R_LoadImage
2007-08-23 17:23:15 +00:00
Ludwig Nussel 3992f1a59c fix gcc 4.2 warnings about cast from pointer to integer (#3317) 2007-08-19 12:05:17 +00:00
Ludwig Nussel fbe65853e4 new x86_64 vm that doesn't use gas 2007-08-16 11:02:21 +00:00
Tim Angus 64239037e0 * Early out AABB collision optimisation from Robert Beckebans (Xreal) 2007-07-27 21:52:31 +00:00
Tim Angus 0c99c0c1d2 * Fix a few -pedantic warnings 2007-07-25 21:28:15 +00:00
Tony J. White = e8bbb1f2d1 * (bug 3268) Replace Mac OS X Carbon API calls with native ones (thanks
to i3enedek).
* remove some spammy Mac OS X printf's regarding local network detection
* replaced a #warning for non-OS X PPC systems with a call to
  msync(..., MS_INVALIDATE).  This needs testing.
2007-07-20 14:34:44 +00:00
Tim Angus f988185439 * Replace horrendously long list of build rules with set of inference rules
* Remove unused DO_DEBUG_CC and DO_SHLIB_DEBUG_CC commands
* Fix various bits of trailing whitespace
* Remove vm_ppc.c and move vm_ppc_new.c into its place
* Rename winquake.rc to win_resource.rc
2007-07-14 23:57:04 +00:00
Ludwig Nussel 20e71c7dff - fix OP_MODU and OP_MODI
- fix minor typos
2007-07-03 13:01:36 +00:00
Ludwig Nussel 8cb20658aa another attempt to fix the alignment, this time hopfully for real 2007-07-03 12:53:00 +00:00
Ludwig Nussel beaf352463 fix stack alignment 2007-07-03 08:16:21 +00:00
Ludwig Nussel da2f4341c2 use native stack for vm stack as well, frees one register 2007-06-25 10:01:40 +00:00
Ludwig Nussel 6a5908d444 check program counter on OP_CALL and OP_LEAVE 2007-06-25 09:45:18 +00:00
Tony J. White = c6249fcc25 * (bug 3019) use the operating system's random number generator if possible
when generating the qkey file
2007-02-16 23:50:37 +00:00
Tony J. White = 8801b06a1e * fix q3lcc warning message due to an extra ; that slipped in at rev 1023 2007-02-15 15:50:14 +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 5dc3b35b49 - Fix loads of format string bugs
- Fix locally looping sounds, thanks to Timbo
2007-01-24 21:23:21 +00:00
Tony J. White = cf2875e771 * (bug 2977) use MSVC compatiable pre-processors and also include <io.h> for
int types
2007-01-19 19:31:19 +00:00
Zachary Slater 37bda478f9 Fix window titles and crap, thanks woekele for pointing this out. 2007-01-14 18:05:15 +00:00
Thilo Schulz c1875302c2 - Fix two non-C-standard variable declarations.
- Fix function name of vsnprintf for windows systems.
2007-01-07 16:03:19 +00:00
Ludwig Nussel 8ca8d84591 fix buffer overflow and format string bug in auth server response
processing
2006-12-31 15:36:42 +00:00
Ludwig Nussel f6e0c6fd19 - also check for point release pak files
- make missing pak0 non fatal if fs_game != baseq3. This way total
  conversions like westernq3 work without Q3 data.
2006-12-30 16:16:25 +00:00
Ludwig Nussel 8e82c3d605 - tag more functions with gnu format attribute
- fix format string bugs. still some left
2006-12-30 12:32:54 +00:00
Ludwig Nussel c3a713832c don't use intermediate array for sorting pakfiles. avoids the
MAX_PAKFILES limitation
2006-12-30 12:19:53 +00:00
Ludwig Nussel 1bc190caf1 include offending string in error message for varables that contain
blacklisted characters
2006-12-30 12:13:25 +00:00
Coyote 17c443a3fd Changes to build defines for Solaris on i86pc. Minor fix to q_platform.h for Solaris. 2006-11-30 08:01:43 +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 = fbf09d64c5 * Increased the number of registers used for the opStack in the PPC vm from
12 to 16.  This is cannot be increased any further without major changes
  (there only 32 General Purporse Registers).  Anyway, his change allows the
  cgame.qvm from the excessiveplus mod to work with ioquake3 on a PPC.
2006-09-24 02:33:08 +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
Thilo Schulz 39d050b748 More fixes for the FS_Shutdown change. Declare qconsole.log as closed before FS_Shutdown
closes all files.
2006-08-28 01:10:46 +00:00
Thilo Schulz fbfc886b22 Fix crash when recording to files and the map changes. Was caused by new, correct, behaviour of
FS_Restart() which would close the files before they'd be closed by the client.
2006-08-28 00:44:59 +00:00
Thilo Schulz 591e11e740 There are actually files that can have a length of 0 so this in-use-check was just wrong. 2006-08-27 15:34:44 +00:00
Tony J. White = 1f8c2c56eb * moved SVN_VERSION #ifdef from client.h to q_shared.h so dedicated server
builds when svn version cannot be detected
2006-08-26 06:12:15 +00:00
Tony J. White = 90b35ec5c8 * Print the SVN version string in Com_Init() 2006-08-25 16:25:51 +00:00
Tim Angus ba36526a5e * Revert version to 1.33 again 2006-08-22 18:47:59 +00:00
Thilo Schulz 87a3858f9a - Add device enumeration support on windows and make "Generic Software" new default device as that one seems to work more reliably on many platforms.
- Add shfolder.lib library to dependencies in MSVC project files
- update documentation for OpenAL changes.
2006-08-19 11:02:20 +00:00
Thilo Schulz 5e88acf217 Fix 100% CPU usage on idle dedicated servers. 2006-08-18 01:50:51 +00:00
Tony J. White = 77de9e65a8 bug 2723
* replaced my cheap hack to search current working dir on OS X with a more
  complex hack that detects the .app bundle directory structure.  This is so
  the game data dirs do not need to be inside of the .app bundle btw.
2006-08-16 05:22:09 +00:00
Tony J. White = 9a6fad9cf1 bug 2723
* adds a shell script ./make-macosx-ub.sh that builds Mac OS X Universal Binary
* fixes Mac OS X x86 VM crashes (-mstackrealign)
* adds current working directory to the search path on Mac OS X to make
  working with .app bundles easier
* various tweaks to make ioquake3 build against the 10.2 SDK 
* changed default OpenAL .dylib location to the path of the one included with
  the Framework bundled in 10.4 (for USE_OPENAL_DLOPEN)
* updated to a Universal libSDL-1.2.0.dylib
2006-08-02 04:01:36 +00:00
Tony J. White = 583745769d bug 2810 once a latched cvar was changed it could not be reset to its original value 2006-08-01 16:51:13 +00:00
Ludwig Nussel 6327f1ce47 looks like the interpreter was broken all the time. Didn't anyone
notice?
2006-07-06 09:25:17 +00:00
Thilo Schulz 7d51d75b05 - Fix arbitrary cvar overwrite flaw: http://aluigi.altervista.org/adv.htm
- Add myself to maintainer list :)
2006-07-03 21:37:50 +00:00