Commit Graph

3783 Commits

Author SHA1 Message Date
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
Tim Angus
a36d9bc392 Remove clientHtmlFallback 2025-08-13 13:06:14 +01:00
Tim Angus
8ca7b94f7f Improve QVM tools dependencies 2025-08-13 13:06:14 +01:00
Jack Slater
32b12d29f2
Updating README.md for CMake (#758)
This is part of the CMake update project #748 

The README.md needs to be updated for CMake. This is my first step at it. Not all changes are done, but this may be a good start.

The standalone instructions are slightly updated, but may not be accurate and will need to be updated later on.

All of the makefile "options" still need to be sorted.
2025-08-13 00:40:24 -10:00
Tim Angus
271fa26ab4 Add guards preventing various illogical combinations of BUILD_* options 2025-08-13 10:14:30 +01:00
Tim Angus
2c893f2fc2
Warn users that the Makefile is now deprecated (#750)
For now it's a skippable message, with REQUIRE_DEPRECATION_ACK=1 it
becomes a hard error that the user must explicitly acknowledge.
2025-08-12 20:37:05 +01:00
Tim Angus
787bdba0ec Rewrite the LCC process spawning code on Windows, to handle file names containing spaces 2025-08-12 20:10:46 +01:00
Tim Angus
f03a012087 Document reasons for contents of COMMON_LIBRARIES 2025-08-12 11:44:59 +01:00
Tim Angus
36a1407346 Add a USE_INTERNAL_LIBS=OFF build to CI 2025-08-10 12:43:03 +01:00
Tim Angus
a14b32e83d Unconditionally rebuild QVM tools every time 2025-08-10 11:01:35 +01:00
Jack Slater
f17d90ca2f Update TODO location
Discourseify.
2025-08-09 00:00:41 -10:00
Tim Angus
4b1086651d Fix missing USE_INTERNAL_SDL_HEADERS definitions 2025-08-09 09:48:32 +01:00
Tim Angus
2383bd1351 Add CMake USE_INTERNAL_SDL option, defaulting to ON 2025-08-09 02:35:51 +01:00
smallmodel
f848f8ad8d Fix typo when trying to include curl directories 2025-08-08 10:37:37 +01:00
Tim Angus
12dcaf3470 Link game modules to COMMON_LIBRARIES 2025-08-07 16:30:49 +01:00
smallmodel
074c0ecc4a Detect architecture from the compiler instead of the host 2025-08-07 15:10:25 +01:00
Tim Angus
404aa1bdb2 Just build all (now guarded) architecture specific vm_* 2025-08-07 15:10:25 +01:00
Tim Angus
0912659484 Move responsibility for defining NO_VM_COMPILED from build system to q_platform.h 2025-08-07 15:10:24 +01:00
Tim Angus
858ccc928c Add architecture guards to VMs 2025-08-07 15:10:24 +01:00
Tim Angus
2c91b38899 Simplify VM sources for old architectures 2025-08-07 15:10:24 +01:00
Tim Angus
93fd9f7d47 Use the correct file name for the ARM VM 2025-08-07 12:57:41 +01:00
Tim Angus
8d692f8fef Disable Makefile CI build products 2025-08-05 23:44:17 +01:00
Tim Angus
1591f4ad1c Whitespace fixes 2025-08-05 21:15:09 +01:00
Tim Angus
31f79ca94e http -> https on URLs 2025-08-05 15:48:59 +01:00
Tim Angus
6367fdfe28 Map SDL gamepad buttons to keys explicitly 2025-08-05 11:23:05 +01:00
Tim Angus
1df2825cf1 Add missing USE_ICON to RENDERER_DEFINITIONS 2025-08-04 21:45:01 +01:00
Tim Angus
1c15f77e28 Update build-macos-sdl.sh for thirdparty 2025-08-04 17:31:02 +01:00
Tim Angus
2e200c84b1 Can't forget the sparc VM! 2025-08-04 14:44:05 +01:00
Tim Angus
d7484df0e7 CI configuration for CMake 2025-08-03 17:36:21 +01:00
Tim Angus
4c6f3f81eb CMake build system 2025-08-03 17:36:01 +01:00
Tim Angus
4fed624cff ...and adjust update-libs.sh to match 2025-08-02 20:08:59 +01:00
Tim Angus
282bd6513e Move third party code to code/thirdparty 2025-08-02 20:01:03 +01:00