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.
|
|
Found by Coverity.
|
|
Found by Coverity.
|
|
Found by Coverity.
|
|
|
|
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.
|
|
Fixes possibly of reading memory past end of lightGridData or reading
wrong light grid data (wrapping around to next row).
|
|
Also change light grid bounds clamping to make it more clear what invalid
values are.
|
|
It's usage was removed in commit 8a500d71.
|
|
Windows' Sys_ListFiles would add files that contain the extension anywhere,
not only at the end of the file name.
Example: "word.pk3omghacks" use to be loaded as a pk3 file.
|
|
|
|
|
|
Add support for Aarch64, the 64-bit ARM architecture.
|
|
|
|
Cinematic's startTime and lastTime are always set from CL_ScaledMilliseconds
which returns int and are converted back and forth to int and unsigned int.
This fixes a warning that abs() is used on an unsigned int.
|
|
|
|
|
|
|
|
strcpy() arguments may not overlap !
|
|
The functions themselves are in code/renderercommon/tr_image_*.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[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>
|
|
let the cvars default to "0"; upon video startup, if any of these are non-positive, try to pick up the desktop's resolution, and update the cvars
|
|
|
|
|
|
|
|
|
|
Also, use the check overflow macro like everywhere else.
|
|
Changed image size to 512, but 'data' buffer is only 16x16 resulting
in libGL segfault. Use NULL instead like other dynamic images.
|
|
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
|
|
|
|
|
|
|
|
Error is loop argument is NULL.
Ensure that s_backgroundTrack is a null terminated string.
|
|
|
|
|
|
Only send mouse events if both values are non-zero.
Hopefully this helps with the event overflow spam that can sometimes
happen on loads or laggy situations.
|
|
Make MASM x64 qsnapvectorsse the same as the inline version.
Remove leftover OP code, see commit 8a500d71daaadf199957309f5ee4d8c0fc2157da.
|
|
Sys_SetFloatEnv in sys_unix.c existed but was not called. It sets the
rounding mode to "to nearest" which is the default on Linux. Might be
required on other platforms, I don't know.
|