Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
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.
|
|
Found by Coverity.
|
|
Add support for Aarch64, the 64-bit ARM architecture.
|
|
strcpy() arguments may not overlap !
|
|
|
|
[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>
|
|
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).
|
|
255 is valid for unsigned char too.
|
|
Bug: https://github.com/ioquake/ioq3/pull/116
|
|
|
|
|
|
|
|
|
|
Makes it easier to add more colors.
|
|
Based on cvarlist command, it only lists modified cvars.
|
|
|
|
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.
|
|
|
|
I changed warning to error in 9d74227559d46b85d0c43d395cd280d3de7ae8f4,
which broke JA's mp/ctf4 map and probably others.
|
|
Coverity doesn't care if there is a warning, out of bounds access is bad.
|
|
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.
|
|
|
|
|
|
|
|
|
|
Use FS_SEEK_END in sound code instead of working around it.
If FS_SEEK_SET and going to current position, just return.
|
|
|
|
|
|
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.
|
|
COM_ParseWarning use to show last line number of multi-line string tokens, now shows starting line number.
|
|
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.
|
|
Fix initial off-by-one error.
Count lines in /* */ comments and multi-line strings.
Fix counting some lines twice if text has Unix newlines.
|
|
(should be no-op with usual compiler workings)
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
Exception for allowing pk3s to be downloaded.
|
|
|
|
Using Debian gcc version 4.7.2 and clang 3.0-6.1 anyway.
|
|
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.
|
|
|
|
|
|
|
|
It was causing a warning on Windows x64.
|
|
|