* Build ref_gles1 only on Linux, it's of limited use under MacOS and Win.
* Fetch openal-soft from Github, the other mirror had several connection
problems in the past.
* Always include the latest curl.dll in Windows builds. Since this isn't
a stripped down build of curl, it's better to have it up to date.
* Make sure that we are on Ubuntu 22.04. Otherwise the binaries wouldn't
work on newer distros when `ubuntu-latest` becomes Ubuntu 24.04.
* Fix some typos.
Workaround for:
Validation Error: [ VUID-vkAcquireNextImageKHR-semaphore-01779 ] Object 0: handle = 0x90000000009, name = Semaphore: image available #0, type = VK_OBJECT_TYPE_SEMAPHORE; | MessageID = 0x5717e75b | vkAcquireNextImageKHR(): Semaphore must not have any pending operations. The Vulkan spec states: If semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkAcquireNextImageKHR-semaphore-01779) (validation)
Using a more modern opengl code to make this part a little more efficient on modern cards to bind the buffers. We are simply binding and unbinding the buffer when it is full, on modern cards this is fine and perfectly efficient enough, same goes for CPU's.
29595b02f8
* Mention some more new features added in the last years.
* Make clear that only FreeBSD, Linux and Windows have official support.
Everything else is community supported.
* Link to the official addons and yquake2remaster.
* Give some hints to bug reporters and contributors.
* Link to CI builds.
* Avoid relative links so that personal forks link back to the main
projects. If forks want to link to their own ressources, they can
edit the file.
Testbuild is applied to macos, linux, win32, win64.
Win32/64 additionally create release for tags.
Linux build is checked with disabled ffmpeg flag as LTS linux image
has unsupported ffmpeg version.
Based on:
* 180050b9a3
This is should make testing for normal endusers easier by providing
prebuild binaries for them. It also serves as a simple CI by compiling
every commit and Pull Request for Linux, MacOS and Win32. And it saves
time, because (Windows) test build must no longer created by hand.
* Windows is build for Win32 only. We won't add a Win64, because there's
no point in having a 64 bit Windows release and it would break most
existing mods. Savegames are also not compatible between 32 and 64 but
builds.
* MacOS is build to get some test exposure and to publish up to date
binaries to users. This doesn't mean that MacOS is now officially
supported. It stays community supported. The binaries are untested,
because I have no Mac. PRs are welcome. ;)
* Linux is build with ubuntu-latest, which is the last LTS release. The
binaries should work on most other distros.
Windows includes all required dependencies. As a difference to release
builds the curl.dll is taken from upstream and not a cut down custom
build. MacOS and Linux do not ship the dependencies, users should
install them through Brew or their distro.
Github strips file permission when zipping the assets. A work around
would be to create a tar archive and zip that, but that is ugly. I
opted against it, users must mark the binaries executable by hand.
These workflows trigger at each push to the master master branch and at
each new or edited pull request.
Special features like SDL3 are not supported at this time.
Windows defaults to `wassapi`, which is a sensible choice. But WASAPI
only guarantees 32 bit float samples, anything else only works if the
driver or something supports it and YQ2 requires 16 bit samples. That
can be worked around by having SDL recode the audio, but I don't want
such a invasive change right before a release.
Another part of #1132.