* SPU audio latency improvements
Basically reverts audio buffer handling to what it was before commit 05b94ef, but with the mutexes kept for thread safety (which the referenced commit was trying to do).
The SPU audio buffer should still be thread-safe in theory... right?
* Audio output improvements
This commit changes the audio output buffer to be configured by a variable, and fixes the case where the sound driver may change the buffer size after calling SDL_OpenAudioDevice (e.g. if the buffer size is set too low for the driver to handle).
* Fix a GCC 15 build issue on Windows due to a missing `#include`
- `<vector>` was included implicitly by some other header
- The build broke in GCC 15 on MinGW, most likely due to some internal refactoring
* Indent these `#include`s the same as the others
- Indexing past the end of a `std::vector`'s length is undefined, even if there's extra capacity
- GCC 15 introduced an assert in `vector::operator[]`, so this line caused an abort if melonDS was built with GCC 15
- It was always undefined, but now the STL checks for it
Fixes compilation of JIT builds on non-glibc OSes. After some testing in a Fedora 41 VM,
__sysconf and sysconf return the same value, and sysconf in glibc appears to just
be an alias to __sysconf to begin with
CMake 4.0 dropped support for projects with a minimum required version
below 3.5. libarchive, as well as possibly other dependencies, had older
versions set so they now fail to build.
GitHub Actions and MSYS2 were very quick to update their CMake version
and there isn't a tagged vcpkg release with a fix for libarchive yet, so
we will use a specific commit for now.
* Add a `GBAHeader` struct
* Add extra `GBAAddon` entries for the Boktai carts
- Each game in the trilogy has a different effect on Lunar Knights (the only commercial DS game to support the solar sensor)
* Copy the logo data from the NDS ROM's header to the Boktai stub's header
Fix almost every warning as of Clang 19
* <codecvt> is deprecated, we can use QString's UTF-16 conversion
instead
* remove sem_timedwait implementation as we don't need it anymore
* remove a useless shift that has its result discarded
* change usages of deprecated sprintf to snprintf