Commit Graph

747 Commits

Author SHA1 Message Date
Tim Angus
441343538a Provide better advice re pak0.pk3 location on macOS 2025-09-25 13:14:03 +01:00
Tim Angus
54a798ad2e Fix typo 2025-09-08 18:28:41 +01:00
Tim Angus
65a1da4a01 Enable format warnings under MinGW 2025-09-07 17:18:07 +01:00
Tim Angus
07b9c1bd83 Wrap __attribute__s in macros 2025-09-07 17:16:31 +01:00
Tim Angus
f976711fb4 Fix various warnings 2025-09-07 17:03:20 +01:00
Tim Angus
7af7608f62 Fix uninitialised variable warning 2025-09-06 12:10:37 +01:00
Tim Angus
2168a7ac37 More generic de-duplication of path vars 2025-09-05 09:21:43 +01:00
Tim Angus
fd76af637f Move online store defines closer to where they're used
It makes little sense to centralise the definitions for things like
Steam, GoG, etc.. These paths are only useful in the case where the user
has derived the data from such a store, has installed ioq3 in a separate
location, and we want it do be able to find said data. If a derivative
project has deployed (binaries and all) on e.g. Steam then for them
fs_basepath will already be correct, and fs_steampath is not useful.
2025-09-04 15:40:55 +01:00
Tim Angus
693c1f1e92 Add null/empty parameter guard to FS_CreatePath 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
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
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
Tim Angus
3371603c50 OCD 2025-08-27 12:51:39 +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
smallmodel
b297c596e9 Add Windows ARM platform 2025-08-19 11:00:27 +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
8976973d3b Move puff.* to renderercommon 2025-08-01 22:36:51 +01:00
Tim Angus
d07bf88ce9 Add USE_ARCHLESS_FILENAMES 2025-08-01 22:36:51 +01:00
Tim Angus
1a4abacaff Fix incorrect architecture detection on Windows 2025-07-30 12:31:44 +01:00
Tim Angus
b512b786ec Move Linux ARCH_STRING definition out of Makefile 2025-07-29 21:53:21 +01:00
Pan7
96fefcb7c9 Replace USE_LOCAL_HEADERS with USE_INTERNAL_* 2025-07-29 17:32:18 +01:00
Tim Angus
c3248e54a4 Undefine real error codes to fix warnings 2025-07-18 14:53:02 +01:00
Tim Angus
dede9aa79a Revert "define guards to prevent warnings" (fixes #737)
This reverts commit 20634976e9.
2025-07-18 14:53:02 +01:00
Tim Angus
7af17542d2 Update zlib 2025-07-14 13:17:17 +01:00
Tim Angus
20634976e9 define guards to prevent warnings 2025-07-14 12:24:16 +01:00
Zack Middleton
009f520633 Change URL for missing files dialog 2024-10-10 16:46:27 -04:00
Zack Middleton
a1fe522d3d Show fs_homepath in Flatpak missing pk3 error
Tell users to copy pk3 files to fs_homepath as fs_basepath is not user
writable.
2024-08-28 21:56:38 -04:00
Zack Middleton
e42db5b2b0 Make Team Arena pk3 error show when missing all pk3 files
The error was only displayed for Team Arena if one of the Team Arena pk3s
were found. Fix it to be display when trying to run Team Arena even with
no Team Arena pk3s present.
2024-08-28 17:52:54 -04:00
Zack Middleton
814e1755f5 Add better directions/error for missing default pk3 files 2024-08-28 17:52:54 -04:00
James Darpinian
e505e34d79
Fix framerate throttling in Emscripten builds
Default com_maxfps to 0 under Emscripten. Under Emscripten the browser
handles throttling the frame rate. Manual framerate throttling interacts
poorly with Emscripten's browser-driven event loop.
2024-06-25 02:52:11 -04:00
Zack Middleton
f41bd37fde Add minimal emscripten support 2024-06-06 20:51:44 -04:00
Stefan Sundin
31c6d2f9d5
Add protocol handler support
This lets the user click a link in a web browser to very easily join a Quake 3 multiplayer game. As browser-based matchmaking websites become more popular, this makes it a lot more convenient and simple to play Quake 3 with others.

The links have the following URI format: quake3://connect/example.com:27950. The format has been designed to be flexible to allow more types of links in the future and avoiding having to make a breaking change. At the moment, "connect" is the only supported command.
2023-04-19 13:48:26 +01:00
kungfooman
29b0cc3a4d vm_x86.c: Add defined(_M_IX86) || defined(_M_X64) (fix for VS2019) 2022-08-18 16:32:19 -04:00
Zack Middleton
75ae9119e6 Fix passing arguments to VM dylib on Apple M1
The engine function pointer to vmMain used variadic arguments but
the vmMain function in the dylib has explicit arguments. Evidently
the arguments are stored on the stack and/or registers differently.

Found by fretn.
2021-11-19 14:54:59 -05:00
Zack Middleton
1c8b1122c5 Fix being unable to enter Team Arena CD key
The CD key defaulted to spaces. Q3 UI uses text overwrite mode by
default so typing the CD key writes over the spaces. Team Arena UI
uses text insert mode by default so to enter the CD key the user
had to delete the spaces or toggling overwrite mode by pressing
the insert key.

Now the CD key defaults to empty so in Team Arena you can just type
it in.
2021-10-23 08:36:10 -04:00
Tom Kidd
de055995d0
Merge pull request #482 from tomkidd/vs2019
Upgrade to build and run from VS2019
2021-10-22 16:38:11 -05:00
Tom Kidd
3afe37a896 Modified MS Store path handling to better follow the pattern of Steam/GOG 2021-10-22 11:28:55 -05:00
Tom Kidd
2fef57fffa Merge remote-tracking branch 'upstream/main' into xcode 2021-10-02 21:30:17 -05:00
Tom Kidd
3c78fe2295 Merge remote-tracking branch 'upstream/main' into vs2019 2021-10-02 21:19:48 -05:00