Commit Graph
3664 Commits
Author SHA1 Message Date
Tim Angus a983d4357b Remove redundant buffers on *nix 2025-09-04 15:40:55 +01:00
Tim Angus 86f9630a40 Remove (non-existent) Sys_SetDefaultHomePath declaration 2025-09-04 15:40:55 +01:00
Tim Angus 9f09335084 Remove unused FS_Rename 2025-09-04 15:40:55 +01:00
Tim Angus 0df22a99d8 Replace FS_*_FOpenFileWrite bodies with call to FS_OSPath_FOpenFileWrite 2025-09-04 15:40:55 +01:00
Tim Angus ca1ea17f0d Add const to FS_CreatePath argument 2025-09-04 15:40:55 +01:00
Tim Angus 3b90b76d7f Rename FS_SV_* to FS_BaseDir_* 2025-09-04 15:40:55 +01:00
Tim Angus cadc8ab017 Add FS_BaseDir_BuildOSPath and replace hacky uses of FS_BuildOSPath 2025-09-04 15:40:55 +01:00
Tim Angus 4b379e447c Reduce duplication in FS path search code 2025-09-04 15:40:55 +01:00
Jack Slater 45788d29a3 Updated for DCMAKE_INSTALL_PREFIX as a replacement for copyfiles 2025-08-31 17:49:13 -10:00
Jack Slater 7fd46c86c4 Need a replacement for cmake copyfiles here in server_compile.sh 2025-08-31 01:03:32 -10:00
Jack Slater f7d99fc8c6 Merge branch 'main' of https://github.com/ioquake/ioq3 2025-08-31 00:53:06 -10:00
Jack Slater 72d9dbb3b0 First attempt at updating server_compile.sh for CMake
for https://github.com/ioquake/ioq3/issues/786
2025-08-31 00:53:01 -10:00
Jack Slater 937e72fd00 Update README.md to fix the fix for the fix about the backticks.
I'm pretty sure this formatting was good the last time I touched it. Lets try it this way.
2025-08-30 23:05:42 -10:00
Jack Slater da54c67fd0 Update start_server.sh for archless ioq3ded 2025-08-30 21:36:27 -10:00
Jack Slater 86a9b410cb q3a.service to use new non-arch specific binary & URL fix 2025-08-30 20:24:46 -10:00
Jack Slater 7cc97b63ec Update Makefile to point to the news post... 2025-08-30 20:23:26 -10:00
Simon McVittie 3e0b279521 qcommon: Reverse the sense of NO_VM_COMPILED
Instead of defining NO_VM_COMPILED on the unlimited number of CPU
architectures where we don't have a JIT for QVM bytecode, define
HAVE_VM_COMPILED on the finite number of architectures where we do
(x86, PowerPC, Sparc or 32-bit ARM).

Signed-off-by: Simon McVittie <smcv@debian.org>
2025-08-30 22:38:30 +01:00
Simon McVittie 51095c0c0c qcommon: Assume that unknown architectures don't have a JIT for QVMs
We need specific code for any architecture that does have a JIT, so we
can safely assume that any other architecture does not.

Signed-off-by: Simon McVittie <smcv@debian.org>
2025-08-30 22:38:30 +01:00
Tim Angus 0e53cfde93 Fix QVM tool dependencies on Windows 2025-08-30 19:25:45 +01:00
Tim Angus 2b516c5077 Add SOURCE_DATE_EPOCH support 2025-08-30 11:31:31 +01:00
Tim Angus c0f5ddd436 Allow ARCH_STRING to be undefined 2025-08-30 10:59:58 +01:00
Tim Angus fe9f611ed5 Fallback on legacy game library name if canonical name doesn't exist 2025-08-29 21:30:17 +01:00
Tim Angus 8dfedc60c1 Remove architecture from binary filenames 2025-08-29 21:30:17 +01:00
Jack Slater 92e9ddf02b Update sv_init.c to point to new directory server address
directory.ioquake3.org has a new ip address as well
2025-08-28 22:41:32 -10:00
Tim Angus 3371603c50 OCD 2025-08-27 12:51:39 +01:00
Jack Slater 8fe1c3bb37 Added more VS stuff to .gitignore 2025-08-25 11:29:48 -10:00
Tim Angus 3ddae18a5d Add missing INCLUDE_DIRS/DEFINITIONS for Opus and Vorbis 2025-08-25 16:17:23 +01:00
Tim Angus 847cc42c4d Simplify find_include_dirs 2025-08-25 16:17:23 +01:00
yumirak bbdde5bdfc Update USE_INTERNAL_LIBS OFF dependencies 2025-08-25 15:29:43 +01:00
yumirak bc8d04bb1f cmake: define USE_CODEC regardless of USE_INTERNAL 2025-08-25 15:29:43 +01:00
Simon McVittie dc00968bc1 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 21:23:03 +01:00
Simon McVittie 9f0280bca1 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>
2025-08-23 21:23:03 +01:00
Tim Angus d133be28eb Add DEFAULT_RELATIVE_BASEDIR
Sys_BinaryPathRelative takes a parameter which is path concatenated with
Sys_BinaryPath, and resolved to a canonical path. The intended use case
is to facilitate the situation where you want the game data directory to
exist outside the same directory in which the binary lives, but relative
to it. More specifically, if you want to distriute multiple binaries for
different architectures, in the same tree, this allows for a means of
having said binaries in architecture subdirectories, with a shared data
directory, e.g.:

  ioq3/x86/ioquake3.exe etc.
  ioq3/x86_64/ioquake3.exe etc.
  ioq3/baseq3/pak0.pk3 etc.

Here, when building you would define DEFAULT_RELATIVE_BASEDIR=".." by
appending it to the build system CFLAGS, and then the executables will
by default look in their parent directory for the data.
2025-08-23 21:01:08 +01:00
Simon McVittie 9293a45368 asm: Remove unused S_PaintChannelFrom8
This is `#if 0` anyway, and has been since the initial Quake 3 Arena GPL
release, so clearly it hasn't been used for some time.

Signed-off-by: Simon McVittie <smcv@debian.org>
2025-08-23 12:04:28 +01:00
Tim Angus 2d7100dc97 Fix HTTP downloads being disabled after first download (issue #768) 2025-08-23 11:48:43 +01:00
Simon McVittie 88918579a3 cmake: Only link snd_mixa into the client, not the dedicated server
On i386 it references symbols from other client-only sound code.

Resolves: https://github.com/ioquake/ioq3/issues/770
Signed-off-by: Simon McVittie <smcv@debian.org>
2025-08-22 21:32:56 +01:00
Tim Angus 9d2227cf5c Add -fvisibility=hidden to GCC/Clang compiler flags 2025-08-22 18:46:21 +01:00
Tim Angus 3aee97dfab Fix GCC x86 build 2025-08-22 18:38:46 +01:00
Simon McVittie 03c5ee009d cmake: Allow PRODUCT_VERSION to be overridden at build-time
In packaging systems like Debian's, typically the build will not have
a .git/ directory available; or if it does, the commit ID will be a
downstream packaging commit that means nothing to upstream developers.
However, the packaging can inject a more meaningful version number if
given a way to do so.

Signed-off-by: Simon McVittie <smcv@debian.org>
2025-08-20 21:46:40 +01:00
Simon McVittie de6e8747ab cmake: Don't override CMAKE_INSTALL_PREFIX if set by user
The README says that it can be changed, but it was hard-coded here.

Signed-off-by: Simon McVittie <smcv@debian.org>
2025-08-20 21:32:48 +01:00
smallmodel b297c596e9 Add Windows ARM platform 2025-08-19 11:00:27 +01:00
Tim Angus 23b1f6a3bd Add -fno-string-aliasing (issue #760) 2025-08-19 10:48:13 +01:00
Tim Angus 2ec1bbd144 Enquote WINDOWS_ICON_PATH 2025-08-14 12:41:27 +01:00
Jack Slater 712fbcf240 Quick typo fix in README.md 2025-08-13 12:31:16 -10:00
Tim Angus dcbbf2c806 Enable ASM language as required 2025-08-13 15:37:23 +01:00
Tim Angus 17d1be179e Don't need triple backticks for non-blocks 2025-08-13 15:37:23 +01:00
Tim Angus 444fa16235 Minor corrections 2025-08-13 15:37:23 +01:00
Tim Angus c988d1b616 Update configuration section of README 2025-08-13 15:37:23 +01:00
Tim Angus bbf549cc69 CMake install configuration
This is 99% for *nix based operating systems; it may work elsewhere but
it's not recommended.
2025-08-13 15:37:23 +01:00
Tim Angus 961a019a46 Emscripten build instructions + various tweaks 2025-08-13 13:27:37 +01:00