Commit Graph

692 Commits

Author SHA1 Message Date
Simon McVittie 9c76b546e3 Pick up date from SOURCE_DATE_EPOCH, for reproducible builds
The goal of reproducible builds is that a rebuild of the same source
code with the same compiler, libraries, etc. should result in the same
binaries. SOURCE_DATE_EPOCH provides a standard way for build systems
to fill in the date of the latest source change, typically from a git
commit or from metadata like the debian/changelog in Debian packages.

This does not change anything if SOURCE_DATE_EPOCH is not defined;
the intention is that a larger build system like a Debian package
will define it.

Please see https://reproducible-builds.org/ for more information about
reproducible builds.
2016-09-22 09:02:20 +01:00
Simon McVittie 7d4f9525df Fix mis-spellings of "separating" as "seperating"
Found by Debian's Lintian tool.
2016-09-22 08:56:30 +01:00
Thomas Köppe fe111df610 [qcommon/msg.c] Remove dead code (which had undefined behaviour) 2016-09-12 13:32:59 +01:00
Sebastian Buchwald 5eae6de2f4 Fix some typos in comments 2016-07-26 14:43:41 +02:00
Sebastian Buchwald 8c6d43e6be Remove dead variables 2016-07-26 14:42:22 +02:00
Thilo Schulz 9d6a95d4ad Missed this Cvar_Get() on com_introPlayed 2016-06-16 03:29:26 +02:00
Thilo Schulz bb7ad55382 Only play logo/intro if their filenames have been defined in q_shared.h 2016-06-16 03:01:21 +02:00
Victor Roemer 398dea397c Fix Makefile for OSX
Bump base SDK from 10.5 -> 10.7
Just use the builtin __APPLE__
2016-06-12 17:17:33 -04:00
Zack Middleton 8b458e5457 Fix warnings that names passed to Name_PlayerNameCompletion is not const 2016-05-09 10:41:58 -05:00
SmileTheory 871872689e OpenGL2: Add named cubemaps and per-map env.json parsing. 2016-02-10 16:25:32 -08: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
Zachary J. Slater fe619680f8 Merge pull request #73 from Pan7/sayto
sayto cmd with player name completion
2015-12-28 09:04:19 -08:00
Zachary J. Slater 5555788867 Merge pull request #103 from openmoh/ioq3-intro
Have custom intro cinematics for standalone game
2015-12-28 08:56:20 -08:00
SmileTheory 2f77a98afe Use Windows uninstall path to find Steam Quake 3 install.
Thanks Pan- and Ensiform for pointing this out.
2015-09-25 04:55:41 -07:00
SmileTheory 3bd7a8d842 Search for mods in steam path as well as home and base paths. 2015-09-25 04:52:17 -07:00
Zack Middleton 7e96fd9cb6 Make steam path optional at compile time for standalone games 2015-09-22 19:25:16 -05:00
Zack Middleton 750fdc0e43 Align indent of defines at top of q_shared.h to 4 space tabs 2015-09-22 19:05:46 -05:00
Zack Middleton 68ab4e9548 Early out of Cmd_CompleteArgument and Cmd_SetCommandCompletionFunc
Reported by Ensiform.
2015-09-20 18:51:20 -05:00
Zack Middleton 5e09f20cd4 Use correct array size for facets in cm_patch.c 2015-09-17 18:46:01 -05:00
SmileTheory f860a753e0 Add Steam's Quake 3 Arena dir to game dirs on Windows. 2015-09-17 02:53:19 -07:00
Dion Williams ce2b8db294 Fix Cvar_Unset not notifying cvar_modifiedFlags
Upstream: JACoders/OpenJK@9a5e9e87ff
2015-09-07 11:29:15 +01:00
Zachary J. Slater 87e0bf6eaf Better language, less tense 2015-08-28 18:19:29 -07:00
Zachary J. Slater 4667210e1d more helpful error message
Can’t find your pak0.pk3? Here’s where we tried looking.
2015-08-28 10:36:46 -07:00
Tim Angus 61a49ba1db Merge pull request #129 from smcv/generic-platform
Implement Linux architecture support generically
2015-07-15 13:37:51 +00:00
Simon McVittie 2a71948f21 build: define ARCH_STRING in Makefile on Linux and other GNU platforms
GNU platforms (Linux, kFreeBSD, Hurd) have endian.h to determine
endianness, so all architectures except x86_64 are in fact treated
identically, except that their ARCH_STRING is different.
The ARCH_STRING must always be identical to the ARCH from the Makefile,
otherwise the engine will not find its cgame, game and ui plugins
under their expected names and startup will fail. If we pass it in
from the Makefile, then an identical value is guaranteed, and we can
get rid of an increasingly long list of defined(__some_cpu__) tests.

The one remaining quirk is that we test __x86_64__ to determine
whether to define idx64; I've kept that, but separated it from
the ARCH_STRING.

On non-Linux platforms we only support a few architectures anyway,
so keeping the list up to date is less of a burden; *BSD porters
could probably use the same technique to get support for lots of
architectures with little effort, but I have not done that here,
because I cannot test it.

Windows must continue to support preprocessor-based architecture tests
in any case, so that the MSVC solutions (which do not use the Makefile)
can continue to work. However, Windows only runs on a few CPU families,
so this shouldn't be a significant burden in practice.

When cross-compiling, the tools are compiled for the build architecture
(COMPILE_PLATFORM, COMPILE_ARCH) rather than the host architecture
(PLATFORM, ARCH), so define ARCH_STRING to COMPILE_ARCH on a GNU
COMPILE_PLATFORM.
2015-07-14 22:51:57 +01:00
Zack Middleton c7500bb28e Don't segfault in FS_CreatePath when there are no path seperators 2015-07-12 20:06:24 -05:00
Zack Middleton 2e904141ff Make more vm_x86 macros use braces so they work with if blah run macro
MASK_REG in EmitMovEDXStack would incorrectly emit asm if 'andit' was 0.
'andit' would never be 0 though so it wasn't causing issues.

Found by Coverity.
2015-07-12 19:11:13 -05:00
Zack Middleton ee2541efee Fix range checks for numBorders in CM_AddFacetBevels
Found by Coverity.
2015-07-12 18:39:54 -05:00
Zack Middleton 6a03817a9c Merge pull request #4 from smcv/hurd
Add support for the GNU/Hurd architecture
2015-06-30 19:02:46 -05:00
Martin Michlmayr ebb69f699c Add support for Aarch64 (ARM64)
Add support for Aarch64, the 64-bit ARM architecture.
2015-06-30 14:22:49 -04:00
/dev/humancontroller c52e35bcd8 fix a stupid use of strcpy()
strcpy() arguments may not overlap !
2015-06-18 17:24:50 -05:00
Zack Middleton 10c5f0b5a9 Merge pull request #116 from smcv/system-minizip
Enhancements for system libraries
2015-04-12 19:56:37 -05:00
/dev/humancontroller 1ce8ba0cdb Fix return values in nested system calls from QVMs
When the engine is compiled with Clang it appears that the return value
is being written to the WRONG address, either due to the vm_ variables being
changed (unexpectedly) elsewhere, or as a result of bad assembly assumptions;
having a stack variable pointing to where to write the return value seems
to do the trick.

This fixes the case where, for a trap_Register()-like call, weird numbers
are being returned when, during the process, an error message is printed
(which in Tremulous results in a QVM call and (nested) system call).
2015-03-23 20:17:07 -05:00
/dev/humancontroller c4a2836269 Fix Com_RandomBytes weak-random case
255 is valid for unsigned char too.
2015-03-20 18:50:58 -05:00
Simon McVittie caf08fdb7b unzip: comment why there is no USE_INTERNAL_MINIZIP boolean option
Bug: https://github.com/ioquake/ioq3/pull/116
2015-03-18 17:38:10 +00:00
Zack Middleton 1ff28f2389 Merge pull request #22 from zturtleman/cvar_modified
Add cvar_modified command
2015-01-07 19:48:16 -06:00
Michael Rieder 7c5feef6a2 Have custom intro cinematics for standalone game 2015-01-07 23:47:18 +01:00
Michael Rieder dd3c6619bc rephrase SSE availability message 2015-01-02 02:31:10 +01:00
Ludwig Nussel 6214f73af5 a VM for ARMv7l 2014-10-24 13:44:23 +02:00
Tim Angus f83334d81b Add facility to describe cvars 2014-09-26 14:29:51 +01:00
Tim Angus 43b21055b8 Actually, that's not suppressing, that's changing behaviour 2014-09-01 13:07:08 +01:00
Tim Angus eeaf0227f7 Suppress warning of (deliberate) null pointer deference 2014-09-01 11:19:57 +01:00
Tim Angus 621a72e698 Fix a few warnings 2014-08-30 17:29:23 +01:00
Pan7 18e08125dd Add ColorIndexForNumber macro replacing '& 0x07'
Makes it easier to add more colors.
2014-08-28 20:09:37 -05:00
/dev/humancontroller 7b866ae96d guard against out-of-bounds jump table targets 2014-07-31 03:56:29 -05:00
Pan7 f62d4c7f1c sayto cmd with player name completion 2014-07-18 00:15:05 +02:00
Zack Middleton 5c1091b414 Fix SkipRestOfLine going past end of string
If string data starts with a 0 (string terminator), don't skip over it at p++.

Not causing any problems in ioq3 as far as I know.
2014-06-17 21:31:29 -05:00
Zack Middleton 077ab4cbd1 Fix OOB access in CM_EdgePlaneNum without erroring in CM_GridPlane
I changed warning to error in 9d74227559,
which broke JA's mp/ctf4 map and probably others.
2014-05-25 23:03:42 -05:00
Zack Middleton 9d74227559 Fix potential out of bounds access caused by CM_GridPlane
Coverity doesn't care if there is a warning, out of bounds access is bad.
2014-05-25 15:59:09 -05:00
Zack Middleton 67d9ecd070 Fix FS_FOpenFileReadDir non-zero file handle when file not found in pk3
If a pk3 search path is passed to FS_FOpenFileReadDir, a non-zero
file handle is returned if file is not found. This causes incorrect
behavior in FS_ReadFileDir (when a pk3 search path is passed in)
which only checks file handle, not length, for seeing if file exists.

I don't know of any issues in ioq3 caused by this.
2014-03-18 20:49:52 -05:00
Tequila baca82d64e Bunch of comment fixes 2014-03-13 02:20:54 +01:00
Zack Middleton 37de879211 Add cvar_modified command
Based on cvarlist command, it only lists modified cvars.
2013-12-01 23:16:51 -06:00
SmileTheory 6f3edb20b8 #6069: Remove md4 model support. 2013-11-29 16:13:47 -08:00
Zack Middleton baf5737779 Remove function prototypes for non-existant Sys_* DLL functions 2013-11-08 18:44:04 -06:00
Zack Middleton 028f0f1ac4 Remove old comment that FS_Seek doesn't work on zipped files 2013-11-08 18:43:48 -06:00
Zack Middleton 2d45e57068 Support FS_SEEK_END and negative offset for zipped files in FS_Seek
Use FS_SEEK_END in sound code instead of working around it.
If FS_SEEK_SET and going to current position, just return.
2013-11-08 18:43:34 -06:00
Zack Middleton c69db4a400 Remove unused variable baseOffset from fsh[] 2013-11-08 18:43:20 -06:00
Zack Middleton 90c98c90a3 Fix VM FOpenFile( FS_READ ) files seeking twice in FS_Seek 2013-11-08 18:42:56 -06:00
Zack Middleton fd4cd6612d Fix running if built on OS X 10.9
strncpy with in == out causes signal 6 if built on OS X 10.9.
(If built on older OS X versions, the game works on 10.9 though.)

It was happening in COM_StripExtension during map load.
2013-11-06 22:23:40 -06:00
Zack Middleton 6b13806066 Fix getting servers from and being listed on id's q3 master server
Use q3 master protocol when com_gamename is Quake3Arena (the default), otherwise use dpmaster protocol.
2013-07-07 16:31:36 -05:00
Zack Middleton 1315d62491 Make COM_ParseWarning report starting line number of multi-line tokens
COM_ParseWarning use to show last line number of multi-line string tokens, now shows starting line number.
2013-06-03 22:35:57 -05:00
Zack Middleton 3ec2b02dce Check for shaders without closing brace
Shaders without closing brace can eat shaders in other files.
Pass depth to SkipBracedSection instead of reparsing text as it messed up parse line numbers.
2013-06-02 21:55:19 -05:00
Zack Middleton c0a21d0898 Fix setting COM_Parse current line number
Fix initial off-by-one error.
Count lines in /* */ comments and multi-line strings.
Fix counting some lines twice if text has Unix newlines.
2013-06-02 21:21:45 -05:00
/dev/humancontroller 120e296a74 fix some OOB enumerator usages
(should be no-op with usual compiler workings)
2013-05-30 15:48:49 -05:00
/dev/humancontroller 9e9d6fa52c clean up return statements a bit more 2013-05-30 15:43:21 -05:00
/dev/humancontroller 9d626b6a12 drop some useless return statements 2013-05-30 15:43:21 -05:00
/dev/humancontroller 8cc817b5a3 remove some redundant exit() calls 2013-05-30 15:41:18 -05:00
/dev/humancontroller 830d93aa38 add some noreturn annotations 2013-05-30 15:39:22 -05:00
/dev/humancontroller 2d54a12615 fix some "\n"-related stuff
add missing "\n"s to some Printf()-like calls (in Rend2)
drop erroneous "\n"s from some Error()-like calls (in Rend2)
drop erroneous "\n" from a Com_Error() call (in vm_sparc.c)
2013-05-30 15:32:44 -05:00
Svante Signell 540e4225cc Add support for the GNU/Hurd architecture
[As with GNU/kFreeBSD, it's treated as "Linux": all three use the GNU libc
and runtime linker, which is mostly what matters for ioquake3. -smcv]

Bug-Debian: http://bugs.debian.org/679330
Reviewed-by: Simon McVittie <smcv@debian.org>
2013-05-19 21:50:40 +01:00
Harley Laue 1b2a6abed9 Rename FS_CheckFilenameIsNotImmutable to ..IsMutable 2013-04-24 14:45:37 -05:00
Zack Middleton 6c88bf8aee Rename FS_CheckFilenameIsNotExecutable to ..NotImmutable 2013-04-24 14:14:13 -05:00
Zack Middleton 936db459ee Don't allow modifying qvms or pk3s
Exception for allowing pk3s to be downloaded.
2013-04-24 14:11:18 -05:00
Zack Middleton b95d8a91aa Fix referencing pk3 with only qagame QVM 2013-04-22 16:21:46 -05:00
Zack Middleton a7317ac0d5 Add fallback for __func__ (ioq3 isn't compiled as c99 by default)
Using Debian gcc version 4.7.2 and clang 3.0-6.1 anyway.
2013-04-20 21:28:21 -05:00
Zack Middleton 0f62a565f9 Fix setting CVAR_VM_CREATED flag on user created cvars
Fix setting CVAR_VM_CREATED flag on cvars created using set[asu] commands (including archived cvars from cfg) and trap_Cvar_Set.

trap_Cvar_Register called Cvar_Get which cleared CVAR_USER_CREATED flag, but CVAR_VM_CREATED wasn't set because the cvar already existed.
2013-04-06 01:06:34 -05:00
Tim Angus 98360bcd57 Fix some of the things clang --analyze flagged 2013-03-26 16:50:03 +00:00
Tim Angus 8d70929d12 Ditch 'historical compatibility' and use 'logic' instead 2013-03-22 11:33:27 +00:00
Zack Middleton 9bfff1363e Fix NET_IPSocket and NET_IP6Socket return type
It was causing a warning on Windows x64.
2013-03-18 16:04:53 -05:00
Ensiform 9a752ce8cd Use PATH_SEP for a debug message in FS_FOpenFileReadDir 2013-03-18 14:44:34 -05:00
Tim Angus ecd50f01c2 Remove RAVENMD4 #define 2013-03-18 19:05:51 +00:00
Tim Angus dfbad1360f Fix some clang warnings 2013-03-12 21:50:59 +00:00
Tim Angus 78132cf829 Remove old x86_64 JIT compiler 2013-03-11 22:20:10 +00:00
Zack Middleton eef897b3c1 Remove Sys_SnapVector 2013-02-18 19:05:37 -06:00
Zack Middleton 2e45edb550 5717 - Gamecode can open file "" for reading 2013-02-15 21:08:47 -06:00
Zack Middleton 6f88df262c Don't add pk3dirs if connecting to a pure server
Only .cfg etc would be read from pk3dirs, but they should be treated like pk3s that are not on the pure list.
2013-02-11 19:15:14 -06:00
Zack Middleton ebee21157c Change pk3dir README / comments to fit in better 2013-02-11 18:02:40 -06:00
Andrew Browne 37a9614179 5289 - Support for .pk3dir 2013-02-11 17:58:24 -06:00
Zack Middleton ac621642ac Unify/cleanup max snapshot entities on client and server 2013-02-11 15:49:47 -06:00
Zack Middleton 80b0792980 Remove MSG_WriteDeltaUsercmd and MSG_ReadDeltaUsercmd 2013-02-02 22:26:22 -06:00
Zack Middleton 9c741f95ea Remove some unused defines from msg.c 2013-02-02 21:40:03 -06:00
Zack Middleton b4ad5a8411 Fix MSG_ReadDeltaKey setting bit 1<<bits often
MSG_ReadDeltaKey would often set 1<<bits, it should never be set. It exceeds the size of what was being read.
Worked okay for weapons/forward/right/up as they stored as chars (value would wrap around to correct value, lucky).
Angles had the wrong value, not sure if it was causing issues.
2013-02-01 22:07:52 -06:00
Tim Angus 70b165ee33 Fix screwed up whitespace in files.c
Apologies to anyone merging this :(
2013-01-13 22:26:09 +00:00
Tim Angus 5fd456ff7c Fix FS_FOpenFileRead corner case
FS_FOpenFileRead is a fairly mental function that changes its return
behaviour depending on whether or not file is NULL or not. It turns out
in the case where file is NULL, we were returning the wrong value when
the file didn't exist.
2013-01-13 22:26:09 +00:00
Zack Middleton 693e51c654 Remove old FIXME, pmove_framecount isn't networked 2013-01-11 17:29:39 -06:00
Zachary Slater 20a77764dd Increase various arbitrary limits - Bug #5463 2013-01-06 01:36:39 -08:00
Zack Middleton 8ef0f36a3f Fix dedicated server crashing when using MSG_ReadDelta*, though it only happens if someone modifies the engine. (#5449) 2012-12-16 00:15:14 +00:00
Zack Middleton c5af65fe5f Fix passing arg9 (qvm only), arg10, and arg11 to vmMain for native libs and non-i386 compiled or interpated qvms. (Currently they aren't use in vmMain in game, cgame, or ui.)
Fix passing args[11] to args[15] from vm to engine on ppc64 and sparc64. Some of the args are used by game bot prediction syscalls. May have been causing bugs. Note: This was fixed for x86_64 in r2163.
2012-12-15 21:55:07 +00:00
Zack Middleton 29c406c9ec Fix function prototype for Info_RemoveKey_Big. Pointed out by Ensiform. 2012-11-29 17:09:28 +00:00
Zack Middleton 1f8db4c14a Remove references to non-existent functions CM_MarkFragments and CM_LerpTag. 2012-11-19 05:48:27 +00:00