Commit Graph

2997 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
56f9f94ee7 SV_RehashBans_f may be executed when the server isn't running (#785) 2025-09-22 21:34:59 +01:00
Zack Middleton
266357ffbe Increase start server map limit in Team Arena ui to match q3_ui
Allow reading more scripts/*.arena files and allow up to 1024 maps
instead of 128.
2025-09-22 16:11:02 +01:00
Tim Angus
d49ea96203 Don't add quotes when not needed for LCC process spawning 2025-09-19 16:15:41 +01:00
Tim Angus
3d8979f769 Add -Wshadow to compiler warnings 2025-09-08 21:22:31 +01:00
Tim Angus
54a798ad2e Fix typo 2025-09-08 18:28:41 +01:00
Tim Angus
f30ace1476 Better warning fix (that doesn't crash) 2025-09-07 20:48:43 +01:00
Tim Angus
c0f3fe4b00 Fix quotes in comments 2025-09-07 17:52:51 +01:00
Tim Angus
5449053008 Fix macOS deprecated constants 2025-09-07 17:18:12 +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
6b4b1dc84d Remove unused homedir botlib variable 2025-09-04 15:40:55 +01:00
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
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
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
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
Tim Angus
3aee97dfab Fix GCC x86 build 2025-08-22 18:38:46 +01:00
smallmodel
b297c596e9 Add Windows ARM platform 2025-08-19 11:00:27 +01:00
Tim Angus
a36d9bc392 Remove clientHtmlFallback 2025-08-13 13:06:14 +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
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
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
282bd6513e Move third party code to code/thirdparty 2025-08-02 20:01:03 +01:00
Tim Angus
8976973d3b Move puff.* to renderercommon 2025-08-01 22:36:51 +01:00
Tim Angus
92fb145f43 Merge identical tr_subs.c into renderercommon 2025-08-01 22:36:51 +01:00
Tim Angus
9dfe9d6a6a Allow Windows icon to be set by defining WINDOWS_ICON_PATH 2025-08-01 22:36:51 +01:00
Tim Angus
877bde8994 Make the fallback renderer the default renderer 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
cb11c5e339 Make client.html and Autotools style input file 2025-07-31 11:02:38 +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
Martin Gerhardy
2e753008d5 CLIENT: restore older curl version support 2025-07-29 18:17:45 +01:00
Pan7
96fefcb7c9 Replace USE_LOCAL_HEADERS with USE_INTERNAL_* 2025-07-29 17:32:18 +01:00
Tim Angus
7962686d2d Adjust resource path to quake3.ico
I'm aware this probably breaks the MSVC build, but

a) I think it's probably broken already
b) I have good reasons that will hopefully make this a non-issue anyway
2025-07-29 16:26:40 +01:00
Tim Angus
19f53d6fbe Cleanup opus and vorbis more 2025-07-29 16:11:46 +01:00
J.Ingram
934e7b9372 Call SHGetFolderPathA directly
Removing shfolder.h satisfies MSVC, and calling the function directly makes PFNSHGETFOLDERPATHA unnecessary.
2025-07-29 14:41:57 +01:00
Tim Angus
4303784442 *Don't* configure zlib so we get the generic zconf.h 2025-07-25 17:19:38 +01:00
Tim Angus
322883b65c *Don't* configure SDL so that we get the generic SDL_config.h 2025-07-25 14:45:42 +01:00
Tim Angus
69ad3699ea Update SDL 2025-07-24 20:29:53 +01:00
Tim Angus
a4d4b1743e Remove macOS ppc support 2025-07-24 18:41:52 +01:00
Tim Angus
1a256983ad Update OpenAL (headers) 2025-07-24 12:23:43 +01:00
Zack Middleton
1132abe3dc Replace strncpy usage with Q_strncpyz 2025-07-24 09:47:13 +01:00
Zack Middleton
c8553223ec Add range check for UI text buffer
It can't overflow because buff and text have the same max length (1024
and MAX_TOKENLENGTH).
2025-07-24 09:47:13 +01:00
Zack Middleton
797168fa08 Fix possible CGame network buffer overflow 2025-07-24 09:47:13 +01:00
Zack Middleton
84715f421b Ignore CHAR_WIDTH from C23 spec 2025-07-24 09:43:28 +01:00
Zack Middleton
ed2c470f50 Revert "Rename CHAR_WIDTH to CHARACTER_WIDTH"
This reverts commit 526edd37f9.
2025-07-24 09:43:28 +01:00
Tim Angus
fd0d65c439 Remove more dead 3rd party code 2025-07-22 20:32:11 +01:00
Tim Angus
9814f5f42f Implement WinINet based HTTP downloads 2025-07-22 14:57:01 +01:00
Tim Angus
94c9be05c9 Pull out non curl specific code from the curl backend 2025-07-22 14:57:01 +01:00
Tim Angus
1cbba07fc3 Add abstract frontend to HTTP support and stop using curl on Windows 2025-07-22 14:57:01 +01:00
Tim Angus
bc30e0186b Fix curl deprecations and remove FTP support 2025-07-22 14:57:01 +01:00
Tim Angus
dfa0e23395 Update curl 2025-07-22 14:57:01 +01:00
Tim Angus
279f4e5239 Be slightly more targetted in cleaning up jpeg source 2025-07-20 22:14:04 +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
J.Ingram
465f72dcd4 Use PFNGETFOLDERPATHA typedef
FARPROC is defined with an empty parameter list, which newer versions of GCC consider equivalent to (void). Compilation fails when qSHGetFolderPath gets called with arguments.
2025-07-17 17:46:44 +01:00
Tim Angus
abc448faec Selectively disable -Warray-bounds 2025-07-14 17:47:18 +01:00
Tim Angus
75fb0ddccc Use correct abs function in FBO_FastBlit 2025-07-14 17:42:18 +01:00
Tim Angus
7095006414 Update libjpeg 2025-07-14 17:42:14 +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
Tim Angus
d89925ffba Fix a few misleading indentation warnings 2025-07-13 22:57:33 +01:00
Tim Angus
ac239a68fa Fix GCC warning 2025-07-13 22:57:32 +01:00
Tim Angus
28929ad213 Update xiph.org internal libs 2025-07-13 22:57:32 +01:00
Tim Angus
d793e38f58 Expand buffers to prevent potential truncation 2025-07-13 13:29:50 +01:00
Tim Angus
aea99aa3a3 Replace various sprintf calls with snprintf calls 2025-07-13 13:29:50 +01:00
cake
ab18167a09 fix minor spelling errors 2025-06-12 18:10:37 -04:00
James Darpinian
dac3062dde OpenGL2: Disable the VAO cache by default
The VAO surface cache uses glBufferSubData and triggers a very slow
path in some GLES implementations. Specifically I have observed 10x
frame times under Emscripten with ANGLE/Metal on macOS and with Mali
on Android.

Co-authored-by: Zack Middleton <zack@cloemail.com>
Co-authored-by: WofWca <wofwca@protonmail.com>
2025-06-12 18:02:28 -04:00
Trung Lê
526edd37f9 Rename CHAR_WIDTH to CHARACTER_WIDTH
For some time glibc has defined a macro with the same name in limits.h.
Avoid the warning by renaming our macro.
2025-03-16 09:53:12 +00:00
Tim Angus
c9697a0104 Rename LCC constexpr function to constantexpr, avoiding C23 keyword clash 2025-03-08 13:00:48 +00:00
Ryan C. Gordon
9901144641
cl_cgame.c: Fixed a typo in a comment. 2024-12-04 00:10:56 -05:00
smallmodel
cc18246f22 Prevent SV_DropClient() from being called recursively if the client is dropped by a kick or timeout and has too many reliable commands 2024-10-11 21:03:44 +01:00
Zack Middleton
009f520633 Change URL for missing files dialog 2024-10-10 16:46:27 -04:00
Zack Middleton
4ee389b6b2 Fix reading non-sequential lumps in AAS files in pk3 files
FS_Seek() doesn't always return 0 on success. If the file in a pk3 file
it returns the seek offset. This change doesn't fix any known AAS files.
2024-09-24 22:06:13 -04:00
Zack Middleton
00d60d05c4 OpenGL2: Increase flare limit to match opengl1 2024-08-29 16:42:51 -04:00