Commit Graph

3543 Commits

Author SHA1 Message Date
Tim Angus
abc448faec Selectively disable -Warray-bounds 2025-07-14 17:47:18 +01:00
Tim Angus
2dc5fc674e Add CC_VERSION to info message 2025-07-14 17:42:18 +01:00
Tim Angus
75fb0ddccc Use correct abs function in FBO_FastBlit 2025-07-14 17:42:18 +01:00
Tim Angus
124000104e Treat unzip.c and ioapi.c as third party code 2025-07-14 17:42:18 +01:00
Tim Angus
7095006414 Update libjpeg 2025-07-14 17:42:14 +01:00
Tim Angus
3978a5078e Separate out CFLAGS so that third party code is compiled with warnings disabled 2025-07-14 17:41:53 +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
ae143a4912 Add a script for updating 3rd party libraries 2025-07-13 22:57:32 +01:00
Jack Slater
d8b1769de8 Update build.yml to replace deprecated windows-2019 with windows-2022
GitHub is ending support for the windows-2019 runner image and windows-2022 will be the minimum supported version by the end of June, 2025. We need to update before this date. More information about this change is here: https://github.com/actions/runner-images/issues/12045
2025-07-13 13:29:50 +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
Jack Slater
8d2c2b42a5
Lets use an older ubuntu image for more compatibility (#719) 2025-05-15 09:20:27 -10:00
Jack Slater
10afd421f2
Update build.yml with ubuntu-24.04 (#718) 2025-04-25 20:42:01 -10:00
Jack Slater
533934a2ec
Update README.md
Removing references to bugzilla, which is no-longer available for submitting bugs and patches.
2025-04-25 18:32:54 -10:00
Jack Slater
b1f72d5665
Update FUNDING.yml
just a url change
2025-04-02 23:38:23 -10: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
Jack Slater
3fb9006e64
Update build.yml to macos-13 (#701)
macos-12 is outdated, this commit simply updates the build.yml file to attempt to use macos-13

see https://github.com/actions/runner-images/issues/10721 for more details on this change.
2024-12-24 13:54:14 -10: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
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
118a533cbf Use XDG_DATA_HOME for Flatpak
Use XDG_DATA_HOME for Flatpak so that fs_homepath is accessible without
special permissions/handling. This changes the home path for Flatpak
from ~/.q3a/ to ~/.var/app/org.ioquake3.ioquake3/data/q3a/.
2024-08-28 21:56:38 -04:00
Zack Middleton
7112bfb77f Make copy to clipboard in Windows error dialog include error message
There is a copy to clipboard option but the error itself wasn't printed
to the console so it wasn't copied to the clipboard.

Unix-like platforms print it to the console so it's written in
crashlog.txt.
2024-08-28 17:52:54 -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
Zack Middleton
a575c1c710 OpenGL2: Fix still projecting sun shadows onto nothing
Increase the range for clamping the screen shadow depth to 1.0 (nothing
drawn). Old epsilon ~0.00000006, new 0.001. This fixes it on another
computer.
2024-08-28 16:52:20 -04:00
Zack Middleton
4c19ff2b55 OpenGL2: Don't project sun shadows onto nothing
Don't project sun shadows (r_forceSun 1) on to view depth equal to 1.0
(nothing drawn or skybox). This caused a full second shadow of the
entire level in tr.screenShadowImage. It would move as the camera far
plane changed and rotate/stretch strangely as the camera view changed.

It was visible in-game on lightmapped transparent surfaces facing the
skybox and happen to overlap the extra shadow of the level.

This affected the glass in wop_padship's underwater room.
2024-07-27 02:30:32 -04:00
Zack Middleton
15f5fe78ad Fix compiling without PATCH_STITCHING defined 2024-07-13 23:53:48 -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
99be1151f7 Fix web client vid_restart with r_mode -2
If getting the display index of the existing window fails, fallback to
the default display size instead of falling back to 640x480.

emscripten r_mode -2 worked on window creation but vid_restart fellback
to 640x480.
2024-06-24 22:38:48 -04:00
Zack Middleton
c1ab47a764 Rename client-config.json based on CLIENTBIN
Also make viewing client.html directly use client-config.json in the
same directory so it's possible to "live edit" both the files without
having to run make.
2024-06-11 04:40:08 -04:00
Zack Middleton
7bfd5c90b8 Add support for mods to web client
ioquake3.html?fs_game=missionpack will run Team Arena when not using
--preload-file.
2024-06-11 04:40:08 -04:00
Zack Middleton
2660bb4a03 Add support for overriding basegame to web client
List files for multiple games in a single client-config.json file so
that com_basegame argument can pick different game data.

Use ioquake3.html?com_basegame=demoq3 (or tademo) to run the Quake 3 or
Team Arena demo. They require new QVMs from baseq3/missionpack to run.
2024-06-11 04:40:08 -04:00
Zack Middleton
8365ea7ed2 Customize the web client HTML file
Modify the client HTML file when copying it to the build directory to
apply current CLIENTBIN and BASEGAME. It always loads engine/data from
the current directory (no need to try to locate the build directory).
2024-06-11 04:40:08 -04:00
Zack Middleton
e6c0776d98 Allow web client to use unzipped QVMs
Compile the QVMs and automatically uses them when not using --preload-file.
2024-06-11 04:40:08 -04:00
Zack Middleton
41ec9ae05f Make emscripten --preload-file opt-in 2024-06-11 04:40:08 -04:00
Zack Middleton
ab8f7eb0bd Clean up emscripten in Makefile
- Remove emscripten build steps from Makefile (see readme)
- USE_CURL=0 has no effect
- HAVE_VM_COMPILED=false has no effect
- WebGL 1 and 2 are supported by the OpenGL2 renderer
- FULL_ES2 (client-side arrays) isn't needed
- Rename EMSCRIPTENOBJ to GENERATEDTARGETS and separate it from
  TARGETS so it's more readable.
2024-06-11 04:40:08 -04:00
Zack Middleton
b14c5a3d9c Add BUILD_RENDERER_OPENGL1 to disable opengl1
Have emscripten disable BUILD_RENDERER_OPENGL1 instead of hardcoded to
disable opengl1 client.
2024-06-11 04:40:08 -04:00
Zack Middleton
198c92b9f8 Add DEPEND_MAKEFILE to disable rebuild on Makefile edit 2024-06-11 04:40:08 -04:00
James Darpinian
e0ce0ceea0 Add Emscripten to README 2024-06-09 22:10:52 -04:00
James Darpinian
14a4278cdb Add GitHub Actions workflow for web/Emscripten 2024-06-09 22:10:52 -04:00