Yamagi Quake II with Q2 Remaster support
Find a file
Yamagi a969526d87 Switch the SDL2 sound backend to transparent audio format conversion.
Since the SDL 1.2 day the SDL sound backend relied on the sound driver
supporting the requested audio format. That workes fine for drivers
support transparent conversions into formats supported by the hardware.
But it failes with drivers which are unable to do such conversions. As
long as we hardcoded the sound driver this wasn't a problem, because all
our chouces supported transparent conversions. When we removed the
hardcoded choices and started to rely on SDLs choices especially the
wsaapi driver - which is SDLs default choice under windows - failed.
wsaapi only guarantees support for AUDIO_F32LSB (other formats may be
supported, depending on the hardware), Quake II needs AUDIO_S16SYS or
AUDIO_U8.

Solve this by switching to transparent conversions through SDL. This way
Quake II can send whatever it wants to SDL and SDL will make sure that
it is in the right format before sending it to the driver.

This isn't necessary for SDL3, SDL3 doesn't support explicit formats and
always relies on transparent conversions.

Remove hardcoded wsaapi on Windows, it's no longer necessary.

Part of #1135.
2024-09-08 10:29:36 +02:00
.github/workflows Another round of changes to the Github workflows. 2024-08-18 16:55:02 +02:00
doc Switch the SDL2 sound backend to transparent audio format conversion. 2024-09-08 10:29:36 +02:00
src Switch the SDL2 sound backend to transparent audio format conversion. 2024-09-08 10:29:36 +02:00
stuff collision: check string entity hash before load 2024-08-11 15:40:33 +03:00
.gitignore Also ignore .d files as they got generated every time. 2015-11-12 19:15:37 +01:00
CHANGELOG Hardcode the SDL audio driver (again) to directsound under Windows. 2024-08-08 18:43:03 +02:00
CMakeLists.txt Merge pull request #1128 from protocultor/ref_gles1 2024-08-12 09:02:40 +02:00
LICENSE Update the LICENSE file. 2024-08-12 09:20:21 +02:00
Makefile Merge pull request #1128 from protocultor/ref_gles1 2024-08-12 09:02:40 +02:00
README.md Enable ref_gles1 in CI builds. 2024-08-12 18:21:22 +02:00

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: