change parameter type to match CURL lib (prevents crash on HTTP download) example test server: q2.bot.nu:27912 server config: set sv_downloadserver "https://quake2.pages.dev/" map DEBEQUA2 Client connects, and three files added to queue: HTTP download: /.filelist - Queued HTTP download: /maps/DEBEQUA2.filelist - Queued HTTP download: maps/DEBEQUA2.bsp - Queued from URL: https://quake2.pages.dev/.filelist - no file https://quake2.pages.dev/maps/DEBEQUA2.filelist - no file https://quake2.pages.dev/maps/DEBEQUA2.bsp - exists when 404 response received for '.filelist' file, CL_HTTP_Recv() is called and uses wrong file length in malloc() one of tests: ==43024==ERROR: AddressSanitizer: requested allocation size 0x8000000000000000 (0x8000000000001000 after adjustments for alignment, red zones etc.) exceeds maximum supported size of 0x10000000000 (thread T0) 0 0x7ffff74b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145 1 0x55555566b023 in CL_HTTP_Recv src/client/curl/download.c:98 2 0x7fffcbcc257a (/lib/x86_64-linux-gnu/libcurl.so.4+0x5157a) |
||
---|---|---|
.github/workflows | ||
doc | ||
src | ||
stuff | ||
.gitignore | ||
CHANGELOG | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
README.md |
Yamagi Quake II
Yamagi Quake II is an enhanced client for id Software's Quake II with focus on offline and coop gameplay. Both the gameplay and the graphics are unchanged, but many bugs in the last official release were fixed and some nice to have features like widescreen support, reliable support for high framerates, a modern sound backend based upon OpenAL, support for modern game controllers and a modern OpenGL 3.2 renderer were added. Unlike most other Quake II source ports Yamagi Quake II is fully 64-bit clean. It works perfectly on modern processors and operating systems.
This code is built upon Icculus Quake II, which itself is based on Quake II 3.21. Yamagi Quake II is released under the terms of the GPL version 2. See LICENSE for further information:
Officially supported operating systems are:
- FreeBSD
- Linux
- Windows
Beside theses Yamagi Quake II has community support for MacOS and most other unixoid operating systems, including NetBSD, OpenBSD and Solaris.
Addons and partner projects
This repository contains Yamagi Quake II itself. The official addons have their own repositories:
Yamagi Quake II Remaster is a project providing optional support for the assets of Quake II Remaster by Nightdive Studios and has a less conservative approach in regards to new features. It also lives in it's own repository:
Development
Yamagi Quake II is a community driven project and lives from community involvement. Please report bugs in our issue tracker:
We are always open to code contributions, no matter if they are small bugfixes or bigger features. However, Yamagi Quake II is a conservative project with big focus on stability and backward compatibility. We don't accept breaking changes. When in doubt please open an issue and ask if a contribution in welcome before putting too much work into it. Open a pull request to submit code:
Also have a look at our contributors guide:
Documentation
Yamagi Quake II has rather extensive documentation covering all relevant areas from installation and configuration to package building. Have a look at the documentation index:
Releases
Yamagi Quake II releases at an irregular schedule. The official releases with source code tarballs and prebuild Windows binaries can be found at the homepage:
Our CI builds unsupported Linux, MacOS and Windows binaries at every commit. The artifacts can be found here: