691 Commits
Author SHA1 Message Date
smallmodel b1a45c0546 feat(client): add fps_location to set the location of the FPS counter on screen 2026-04-06 14:53:53 +02:00
smallmodel 5ebf885a19 chore(qcommon): handle com_viewlog modification 2026-04-06 01:16:22 +02:00
.Crimewavez 3f83b4b36a fix(common): fix buffer overflow in CM_EdgePlaneNum (#895) 2026-02-25 21:22:18 +01:00
smallmodel bd8a07cd4e fix(compile): fix build errors in renderergl2 with some compilers 2026-02-15 22:43:58 +01:00
smallmodel dda5b11cbc fix(common): use Q3CONFIG_CFG macro for the config file
This also splits the config between client `omconfig.cfg` and dedicated server `omconfig_server.cfg`
2026-01-29 19:26:24 +01:00
smallmodel 46798d46dc refactor(network): clarify net profiling struct and field names 2025-12-20 23:32:47 +01:00
smallmodel b019c1811c fix(network): reset the % of OOB packets in the packet profiling 2025-12-20 22:38:18 +01:00
smallmodel 3e16d8a2ff refactor(cmake): define the version in one place (identity file) 2025-12-12 14:43:20 +01:00
smallmodel 5604a1f7f8 fix(network): suppress animation time delta only if the time delta is nearly equal to the frame step (#860)
This fixes animation flickering due to floating-point precision differences between SSE2/x64 and x86 FP87. The animation time could drift slightly and wrap earlier or later than it should.
2025-12-04 22:01:09 +01:00
smallmodel 9168f32cdb refactor(network): pack decimals based on the explicitly rounded value 2025-12-02 00:02:51 +01:00
smallmodel 51f2ed1cba Use case-insensitive comparison for all Info_Key functions
Info_ValueForKey performs case-insensitive comparisons on key names, other functions should also be case-insensitive for consistency.
2025-11-25 20:31:28 +01:00
smallmodel ec1ab7f327 feat(network): implement changeVectors with switchable network message profiling
This implements changeVectors to profile and collect statistics for network bit usage.
2025-11-19 23:39:05 +01:00
smallmodel 7584af9774 fix(network): properly check needed deltas when writing player state
This optimization was accidentally missed out for player state, it checks for field changes using packed values rather than raw data.
2025-11-19 22:57:18 +01:00
smallmodel 8af5d9179d fix(qcommon): allow zero-length values for Info_SetValueForKey_Big 2025-11-19 20:36:40 +01:00
smallmodel af660acc40 fix(qcommon): use memmove instead of strcpy for Info_RemoveKey_Big 2025-11-19 20:36:03 +01:00
smallmodel f2c31e956e fix(common): provide the delta time when executing console commands on dedicated servers
This fixes an issue in which the `wait` command would prevent further commands from being executed afterward.
2025-11-04 00:35:02 +01:00
smallmodel c1c230f04c fix: clear all medals if the game has no config file (#822) 2025-11-02 18:14:48 +01:00
smallmodel cf523bd4cd docs(q_math): add values in the comment 2025-10-28 21:04:25 +01:00
Tim Angus 6737aaf017 Remove commented code 2025-10-27 23:12:59 +01:00
Tim Angusandsmallmodel 2c9e500570 XDG home directory support
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-10-19 21:03:23 +02:00
Tim Angus 941f2de533 Fix Com_Filter
Com_Filter uses a limited sort of proto-regex syntax including a
character class like construct, but prior to this change these did not
work if preceded by a * glob.
2025-10-19 14:28:22 +02:00
Tim Angus 53bd800669 Fix MSVC double truncation warnings 2025-10-18 01:26:34 +02:00
Tim Angus e4ec343a80 Use PRODUCT_NAME in config file comments 2025-10-17 20:29:48 +02:00
Tim Angus 28274e9422 Stricter Info_Validate 2025-10-17 20:29:28 +02:00
Tim Angus bba5213d38 Extend size of serverInfo_t.hostName (handle longer server names) 2025-10-17 20:28:57 +02:00
Tim Angus 69864db4e7 Add CONFIG_PREFIX, for customising the config name 2025-10-17 20:20:29 +02:00
Tim Angus fb741a9a0b Add Sys_OpenFolderInFileManager 2025-10-11 22:01:30 +02:00
smallmodel e6eb3aa0a1 Fix incorrect usage of planes for curves (#806) 2025-09-17 01:04:51 +02:00
Tim Angus fbedcd1928 Enable format warnings under MinGW 2025-09-07 20:26:40 +02:00
Tim Angus 258c5f53f9 Wrap __attribute__s in macros 2025-09-07 20:19:05 +02:00
Tim Angus 6e57eb7d00 Fix various warnings 2025-09-07 19:45:51 +02:00
Tim Angus 6e04025971 Fix uninitialised variable warning 2025-09-06 13:19:35 +02:00
Tim Angus 45e1daf65a More generic de-duplication of path vars 2025-09-05 19:34:31 +02:00
Tim Angusandsmallmodel e299031470 Reduce duplication in FS path search code
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-09-04 23:28:07 +02:00
smallmodel 378938ae39 Remove NO_VM_COMPILED (VM is not supported in the game) 2025-08-31 12:12:12 +02:00
Tim Angus 6bcfe1788d Allow ARCH_STRING to be undefined 2025-08-30 21:31:54 +02:00
Tim Angus 4ef547cd86 Remove architecture from binary filenames 2025-08-29 22:51:27 +02:00
Tim Angus 8dbae6247c OCD 2025-08-27 23:39:01 +02:00
smallmodel ecf70528a7 Move all C++ core classes to the corepp directory 2025-08-24 16:51:11 +02:00
Simon McVittie fabc7c7c74 Remove unused matha.S
Before commit a7d33b1c "(bug #3639) BoxOnPlaneSide rewrite" there
was more code here, but since then the only thing left is the
Invert24To16 function, to which I couldn't find any references since
the beginning of ioquake3's git history.

Resolves: https://github.com/ioquake/ioq3/issues/774
Signed-off-by: Simon McVittie <smcv@debian.org>

client: Remove i386 GNU assembler version of S_WriteLinearBlastStereo16()

This was the last remaining GNU assembler code that was in its own
independent source file, as opposed to being embedded in C code with
GNU `__asm__ volatile` or MSVC `__asm` (which tends to be much easier
to deal with in a modern build system).

When the Quake 3 engine was originally written, this might have been
an "expensive" function when written in portable C, but after 25 years
of CPU development it's less likely to matter (and modern compilers
might produce faster results from the C code anyway).

Resolves: https://github.com/ioquake/ioq3/issues/778
Signed-off-by: Simon McVittie <smcv@debian.org>
2025-08-23 23:30:50 +02:00
smallmodel f885408059 Improve class and event printing with interface classes 2025-08-23 22:28:52 +02:00
smallmodel a2b891acd9 Add str constructor with length parameter 2025-08-23 22:28:27 +02:00
smallmodel f529358357 Move updatecheck variables to the update checker source file 2025-08-22 23:34:48 +02:00
smallmodel 654ab91efb Increase the minor version number due to previous enhancements 2025-08-19 19:07:29 +02:00
smallmodel 425885bf61 Explicitly use signed char for network strings
ARM uses unsigned char by default when the sign is unspecified, this would cause some issues with messages containing accents, players would lose user control.
2025-08-15 19:02:27 +02:00
smallmodel 2eb190fe97 Fix Info_Print values
Some programs use dumpuser and split entries with the semicolon.
2025-08-14 23:25:07 +02:00
smallmodel 70c12a1639 Bump version number 2025-08-10 19:17:23 +02:00
Tim Angus 659939352a Add USE_ARCHLESS_FILENAMES 2025-08-08 22:52:26 +02:00
smallmodelandTim Angus e556f58cc4 Reimplement CMake from upstream ioq3 (#781)
This reuse the CMake build system from ioq3, modified to make it work with the C++ code.

---------

Co-authored-by: Tim Angus <tim@ngus.net>
2025-08-08 01:03:07 +02:00
Tim Angusandsmallmodel e47790cd54 Move third party code to code/thirdparty
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-08-02 23:19:02 +02:00