Commit graph

264 commits

Author SHA1 Message Date
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
Tim Angus
7d657ba62f * sv_minRate (from R1CH)
* [cl|sv]_packetdelay (from tjw)
2006-06-17 19:19:34 +00:00
Thilo Schulz
394c09fa26 Remove chars with ascii value > 127 in MSG_ReadBigString too to make it correspond to the behaviour of WriteBigString. 2006-06-16 21:44:44 +00:00
Thilo Schulz
e02617ee89 Little fix for the sanity check fix from previous rev... 2006-06-16 20:47:29 +00:00
Thilo Schulz
813a6ecdc3 - Fix bug that allows a malicious server to write and overwrite any files in the quake3 directory.
Reported by Luigi Auriemma.
- Moved directory traversal check to a more proper location.
- Added a few sanity checks for checksum/pakname storage to fix a crash that can occur under certain circumstances.
2006-06-16 20:38:08 +00:00
Thilo Schulz
c9c15562ea Fix client "freezes" if a user with ASCII characters > 127 enters a server. Reported by tjw 2006-06-11 14:56:58 +00:00
Thilo Schulz
84296bfc2c Fixed a crash in md4 routines when using them on files with zero length, reported by Lukasz Saduniowski. 2006-06-01 00:58:19 +00:00
Ryan C. Gordon
997dffc649 Correction in PowerPC JIT code. Fixes crash in server browser, etc, on Mac OS X
and probably PowerPC Linux, too...fixes Bugzilla #2519.
2006-05-29 03:02:54 +00:00
Thilo Schulz
a08a539c10 Fix JIT compiler code execution on NX-protected win32 OS 2006-05-15 15:57:02 +00:00
Thilo Schulz
60293f49ee Fix bug that permits download of arbitrary files from a download enabled server by checking requested file name against the list of loaded pk3 files. See CVE-2006-2082 2006-05-08 19:53:41 +00:00
Thilo Schulz
d21411452e Add string length checking to function COM_StripExtension. This fixes the R_RemapShader buffer overflow exploit that can be found here:
http://milw0rm.com/exploits/1750
2006-05-06 01:56:24 +00:00
Thilo Schulz
235e2c215f - Introduced various new typedefs for windows platform (int32_t, int64_t, etc...)
- Applied md5 64-bit safety patch by Tony White.
2006-04-27 13:39:41 +00:00
Thilo Schulz
c116695ea7 - "baseq3" literal replacement patch (by Erik Auerswald) applied
- Commented setting of the cl_guid cvar because md5.c is not 64-bit safe.
2006-04-26 13:36:58 +00:00
Thilo Schulz
70fca10af2 Replaced various "baseq3" strings with the centrally defined BASEGAME macro. 2006-04-26 11:27:12 +00:00
Thilo Schulz
31fdab187c Fix didn't work yet because it didn't use the buffer where the filename extension chop-off is done. D'oh! 2006-04-23 20:04:42 +00:00
Tim Angus
56294e2da8 * Oops 2006-04-23 18:04:51 +00:00